Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: GRUB и 30_os-probe генерируют тысячи строк  (Прочитано 647 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Tovchik

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
GRUB и 30_os-probe генерируют тысячи строк
« : 19 Сентябрь 2020, 20:30:39 »
Добрый день.

У меня на uefi gpt SSD стоят:
/sdd1 - efi,boot
/sdd2 - ubuntu 18.04
/sdd3 - ubuntu 20.04
/sdd4 - windows 10

Работаю во всех трех операционках.
Недавно обратил внимание, что в меню GRUB в "Дополнительных параметрах" Ubuntu 20.04 количество "menuenty" меряется сотнями.
Выглядит это так (только заголовки, оставил только ubuntu):

(Нажмите, чтобы показать/скрыть)

Это после чистки старых ядер, до этого количество строк было около тысячи.
Полностью /boot/grub/grub.cfg приведен ниже:

(Нажмите, чтобы показать/скрыть)

Ставил всё давно и аккуратно, в доп.параметры ранее не заглядывал.
Но думаю, что это ненормально.
Если выдать "sudo update-grub" поочередно в обеих ubuntu, то этот список разрастается.
На Форуме и в Google ничего не на эту тему не нашел.
Я могу, конечно, убрать исполняемость "30_os-probe", но это неудобно, т.к. регулярно пробую разные дистрибутивы и вообще интересно, как это у меня образовалось и как это ликвидировать.
Посоветуйте, кто в этом разбирается. 
« Последнее редактирование: 19 Сентябрь 2020, 20:38:21 от Tovchik »

Оффлайн The Green Side

  • Старожил
  • *
  • Сообщений: 1175
    • Просмотр профиля
Re: GRUB и 30_os-probe генерируют тысячи строк
« Ответ #1 : 19 Сентябрь 2020, 20:36:27 »
Думаю, проблема в общем /boot
Debian Testing (Gnome), Ubuntu Server 18.04

Оффлайн Tovchik

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: GRUB и 30_os-probe генерируют тысячи строк
« Ответ #2 : 19 Сентябрь 2020, 20:43:31 »
Общего /boot нет.
esp, boot - это флажки на FAT32 разделе для UEFI.
Извините, если неграмотно написал.

Оффлайн Malamut

  • Ubuntu Member
  • Администратор
  • Старожил
  • *
  • Сообщений: 3353
  • Я добрый, честно!
    • Просмотр профиля
    • Моя страница на Launchpad
Re: GRUB и 30_os-probe генерируют тысячи строк
« Ответ #3 : 19 Сентябрь 2020, 23:37:07 »
Я примерно понимаю, что происходит. Но не знаю, почему. У вас две системы с двумя отдельными boot и, как это ни странно, с двумя отдельными grub. os-prober находит вторую систему, у которой прописана первая в списке загрузки grub, и добавляет всё из этого списка к себе. В том числе и себя самого. Ну и так далее, скорее всего при каждом обновлении список разбухает.
"Носителем суверенитета и единственным источником власти в Российской Федерации является ее многонациональный народ" Конституция РФ

Оффлайн Tovchik

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: GRUB и 30_os-probe генерируют тысячи строк
« Ответ #4 : 20 Сентябрь 2020, 00:45:16 »
Типа того.
Есть идеи как это ликвидировать?


Пользователь добавил сообщение 20 Сентябрь 2020, 01:15:45:
Так. Нашел свои старые записи.
Весной устанавливал 20.04 на диск с mbr, причем GRUB ставил не на диск а в раздел (х.з. зачем).
Потом этот раздел забэкапил clonezill-ой и позже когда перешел на gpt, просто восстановил из бэкапа.
Так, что у меня действительно вроде два разных GRUB - один на диске (от 18.04), второй в разделе (от 20.04).
Отсюда вопрос - можно ли как-то убрать GRUB из раздела и использовать тот, который на диске?
« Последнее редактирование: 20 Сентябрь 2020, 01:15:45 от Tovchik »

Оффлайн andytux

  • Старожил
  • *
  • Сообщений: 4467
    • Просмотр профиля
Re: GRUB и 30_os-probe генерируют тысячи строк
« Ответ #5 : 20 Сентябрь 2020, 05:56:54 »
Цитировать
Есть идеи как это ликвидировать?
Можно все. Вопрос в том, что ты хочешь.
 Автоматическая генерация часто вызывает нарекание. Приходилось видеть мегабайтные конфиги, да еще и не работающие.
Поэтому, автоматически созданными пунктами практически не пользуюсь. 30_os-prober отключен. Мало того, удаляю пакет os-prober.
Нужные мне пункты меню создаю сам, в том виде и количестве, которые нужны мне. Ядра не коллекционирую. Обычно оставляю то ядро, с которым устанавливалась система и самое новое.
Цитировать
устанавливал 20.04 на диск с mbr, причем GRUB ставил не на диск а в раздел
Установка загрузчика на раздел примерно соотвтетствует "установка в никуда". Вообще этот настройка актуальна только для режиме легаси.
В режиме ЕФИ загрузчик устанавливается на ESP-раздел. Мало того, это два совершенно разных загрузчика.
Цитировать
действительно вроде два разных GRUB - один на диске (от 18.04), второй в разделе (от 20.04)
Даже если и так. Считать можно по разному.  Например, сейчас у меня на одном разделе четыре системы. В каждой свой груб. На ESP-разделе помимо груба, установленного системой, есть еще один, абсолютно никак не связанный ни с одной системой.
В основном им и пользуюсь. Никакая система ничего не впишет в его конфиг. Он будет работать независимо от наличия или отсутствия любой системы.
Цитировать
можно ли как-то убрать GRUB из раздела
А был-ли мальчик? Как уже говорил, это два совершенно разных груба, каждый используется в своих рамках. Более того, "официально" установится либо один, либо другой.
"В раздел" устанавливается грубПС. Это груб для режима легаси.  Каталог с его файлами /boot/grub/i386-pc. Есть у тебя такой каталог?
В ESP-раздел устанавливается грубЕФИ. Это груб для режима ЕФИ. Каталог с его файлами /boot/grub/x86_64-efi.
Цитировать
использовать тот, который на диске?
Так они все на диске. Я еще не видел ни одного умельца, которому удалось-бы использовать "груб из раздела."

Оффлайн Tovchik

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: GRUB и 30_os-probe генерируют тысячи строк
« Ответ #6 : 20 Сентябрь 2020, 13:05:44 »
Цитировать
В ESP-раздел устанавливается грубЕФИ. Это груб для режима ЕФИ. Каталог с его файлами /boot/grub/x86_64-efi.
Да, есть такой в 18.04 на /sdd2

Цитировать
"В раздел" устанавливается грубПС. Это груб для режима легаси.  Каталог с его файлами /boot/grub/i386-pc. Есть у тебя такой каталог?
Да, а такой у меня в 20.04 на /sdd3 с кучей *.mod файлов внутри.
Может выкинуть его, скопировав сюда /boot/grub/x86_64-efi из 18.04 ?

Оффлайн andytux

  • Старожил
  • *
  • Сообщений: 4467
    • Просмотр профиля
Re: GRUB и 30_os-probe генерируют тысячи строк
« Ответ #7 : 20 Сентябрь 2020, 13:42:21 »
Цитировать
/boot/grub/i386-pc. Есть у тебя такой каталог?
Да, а такой у меня в 20.04 на /sdd3
Получается волей или неволей, 20.04 ты установил в режиме легаси.
Цитировать
/boot/grub/x86_64-efi.
Да, есть такой в 18.04 на /sdd2
А это установлена в режиме ЕФИ. Вопрос в том, каким режимом ты пользуешься.
Так как у тебя еще и Виндовс, то есть смысл ориентироваться на тот режим, в котором установлена она.

Оффлайн Tovchik

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: GRUB и 30_os-probe генерируют тысячи строк
« Ответ #8 : 20 Сентябрь 2020, 14:39:10 »
Спасибо за разъяснения про grub-legacy и grub-efi.
Снёс grub-legacy (удалил /boot/grub/i386-pc и скопировал туда /boot/grub/x86_64-efi и /boot/grub/locale).

Так что получилось две ubuntu, каждая с grub-efi.
Но это не помогло.
При поочередных "sudo update-grub" в каждой ubuntu список menuentry в "Дополнительных параметрах" другой ubuntu всё равно разрастается.

Пока вышел из положения, отключив 30_os-probe в 20.04 (/sdd3), а на efi-разделе в /EFI/ubuntu/grub.cfg указал ссылку на 18.04 (/sdd2) "search.fs_uuid ... root hd3,gpt2".

Но интересно, тогда получается, что если стоят две ubuntu, то со временем в grub.cfg список menuentry в "Дополнительных параметрах" другой ubuntu всё время будет разрастаться?
Или всё же это только у меня из-за каких-то глюков?


Оффлайн Дюшик

  • Активист
  • *
  • Сообщений: 821
    • Просмотр профиля
Re: GRUB и 30_os-probe генерируют тысячи строк
« Ответ #9 : 20 Сентябрь 2020, 14:52:22 »
Я еще не видел ни одного умельца, которому удалось-бы использовать "груб из раздела."

Года четыре назад у меня было установлено четыре системы таким "макаром". Это максимально возможное количество систем на одном диске, если GRUB каждой системы устанавливать в раздел. На разных форумах, я встречал всего одного человека, который сознательно устанавливает GRUB в раздел.

Оффлайн andytux

  • Старожил
  • *
  • Сообщений: 4467
    • Просмотр профиля
Re: GRUB и 30_os-probe генерируют тысячи строк
« Ответ #10 : 20 Сентябрь 2020, 15:12:27 »
Некоторые ругают конфиг груб за монструозность. Но по комментариям хорошо видно, каким конкретно скриптом создан тот или иной фрагмент.
Если растет именно блок, созданный 30_os-prober, то либо не обращать внимания, либо отключить этот скрипт. Напиши свой на его замену.
Цитировать
Или всё же это только у меня из-за каких-то глюков?
Ты не единственный, у кого больше одной системы, но один из немногих, кто это заметил.
Большинство не знает, что например "Ubuntu" - это запуск системы, а "Advanced..." - откроет подменю.
Можно отключить так-же RECOVERY.
Цитировать
у меня было установлено четыре системы таким "макаром"
Установить и использовать разные вещи. На форуме устанавливают так примерно через одного.
Я тоже устанавливал, с целью, не повредить загрузчик, находящийся в MBR. Замена варианта - установка без загрузчика.

Оффлайн Дюшик

  • Активист
  • *
  • Сообщений: 821
    • Просмотр профиля
Re: GRUB и 30_os-probe генерируют тысячи строк
« Ответ #11 : 20 Сентябрь 2020, 15:18:22 »
Или всё же это только у меня из-за каких-то глюков?

Специально перезагрузился и посмотрел у себя.
Имею три установленных Linux Mint. Так вот, в дополнительных параметрах одной системы, всего шесть строчек (система устанавливалась, когда не было установленной Ubuntu). А вот дополнительных параметрах двух других систем, примерно пара десятков строк начинающихся с Ubuntu. Эти две системы устанавливались, когда была установлена ещё и Ubuntu. Видимо такое количество строк это "фишка" Ubuntu.


Установить и использовать разные вещи.

Тогда уточню. Были установлены и работали несколько месяцев.
« Последнее редактирование: 20 Сентябрь 2020, 15:20:28 от Дюшик »

Оффлайн andytux

  • Старожил
  • *
  • Сообщений: 4467
    • Просмотр профиля
Re: GRUB и 30_os-probe генерируют тысячи строк
« Ответ #12 : 20 Сентябрь 2020, 15:44:04 »
Тоже уточню. Были-есть системы-загрузчики установленные в разделы всяко-разно.
Но вот, запустить систему загрузчиком, находящимся "на разделе" (не в MBR), такого не приходилось, такого я не умею.
Как минимум, для этого нужен загрузчик в MBR, который передаст загрузку дальше, а это слишком сложно, для такой простой задачи, как загрузка системы.

Оффлайн Дюшик

  • Активист
  • *
  • Сообщений: 821
    • Просмотр профиля
Re: GRUB и 30_os-probe генерируют тысячи строк
« Ответ #13 : 20 Сентябрь 2020, 15:57:07 »
Как минимум, для этого нужен загрузчик в MBR, который передаст загрузку дальше, а это слишком сложно, для такой простой задачи, как загрузка системы.

Один из таких загрузочных кодов в MBR, который передаёт управление "дальше", это как ни странно Виндовый загрузочный код. То есть Виндовый загрузчик загружает Linux.

Ну да ладно, оно и раньше никому не было нужно (установка GRUB в раздел), а с распространением UEFI тем более не актуально.

Оффлайн Tovchik

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: GRUB и 30_os-probe генерируют тысячи строк
« Ответ #14 : 20 Сентябрь 2020, 16:25:03 »
Так. Провёл чистый эксперимент.
Взял диск /sdc, создал на нем разделы fat32,ext4,ext4,ext4.
В каждый из трёх ext4 установил с нуля ubuntu 20.04 и efi-загрузчик на /sdc
По очереди заходил в каждую ubuntu и выдавал "sudo update-grub". И так три круга.

/boot/grub/grub.cfg стал меряться мегабайтами и составил 28 тысяч строк.
Кому интересно:
[url]https://pastebin.ubuntu.com/p/yQKQvBv7yj/[/url]
Размер растет по экспоненте. Через десяток итераций будет меряться гигабайтами.

Я понял, что это не баг у меня, а фича системы по умолчанию.
Всем спасибо за помощь.

 

Страница сгенерирована за 0.094 секунд. Запросов: 26.