Как я могу редактировать свои записи загрузчика Grub (Скрыть, Переименовать, Удалить)? Желательно делать это вручную, а не с помощью программы

40

Так что в основном у меня довольно загруженный загрузчик Grub, со старыми версиями linux, 3 операционными системами и мемтестами. Я хочу оставить только операционные системы. Мне нужно знать, как это сделать вручную, и мне нужен кто-то, кто скажет мне, что я должен знать, когда выйдет новое ядро. Заранее спасибо.

Шахе Таджирян
источник

Ответы:

12

Используйте grub-customizer: https://launchpad.net/grub-customizer

Это графический интерфейс, который позволит вам скрыть нежелательные записи Grub.

wordsforthewise
источник
На самом деле это инструмент, который я начал использовать и все еще использую его. Дает мне всю необходимую функциональность. Поменял это на лучший ответ!
Шахе Таджирян
Бада бинг бада бум!
словами,
Если я нахожусь в неудачной ситуации, что я не могу загрузиться в свой Ubuntu (только .isoдоходя до приглашения grub, предположительно для испорченных записей grub) - есть ли загрузочный файл - Изображение вокруг anbd, я должен загрузиться оттуда?
Фрэнк Нок
@FrankNocke Я думаю, вы хотите создать загрузочный USB и выполнить восстановление grub или что-то в этом роде.
словами
25

Повторно опубликованное сообщение в блоге GRUB2 предоставит вам подробный набор инструкций по редактированию файлов конфигурации GRUB2 вручную. Если вы проверите другие публикации в серии (путем фильтрации по Category = GRUB), вы также найдете информацию об удалении старых ядер и о том, что происходит, когда новое ядро ​​поступает в качестве обновления. Публикации включают ссылки на ряд связанных веб-сайтов.

CentaurusA
источник
18

Вместо того, чтобы редактировать файл grub напрямую, вы должны очистить ядра, которые вам не нужны.

Начните с этого:

dpkg -l | grep linux-image

Насколько мне известно, этот update-grubскрипт просто создает записи для всего, что он находит /boot, поэтому удаление старых пакетов linux-image (и linux-headers) через apt-get remove очистку / загрузку и, следовательно, очистку вашей конфигурации grub.

Это «правильный» способ сделать это и, следовательно, не потребует никаких специальных действий, когда в будущем будут выпущены более новые ядра, возможно, вам просто придется снова очиститься в какой-то момент :)

цезий
источник
3

Конфигурирование GRUB v2

Файл конфигурации /boot/grub/grub.cfg, но вы не должны редактировать его напрямую. Этот файл генерируется grub v2's update-grub (8) на основе:

Фрагменты скрипта в /etc/grub.d/

Файл конфигурации / etc / default / grub

Чтобы настроить grub "v2", вы должны отредактировать / etc / default / grub, а затем запустить update-grub. Расширенная настройка достигается путем изменения фрагментов в /etc/grub.d/.

взято из конфигурации Debian .

Фрэнк Нок
источник
4
На мой взгляд, это не полезный ответ. На самом деле он не содержит никаких шагов, как скрыть / переименовать / переместить пункты меню GRUB ...
Byte Commander
3

Запустите sudo update-grubв терминале, чтобы включить любые «забытые» параметры загрузки.

Если вам не нравятся командные строки, вы можете открыть терминал, запустить sudo nautilusи использовать проводник в качестве пользователя root. ;)

Затем, все еще в терминале, перейдите в папку, где хранится файл конфигурации grub. Обычно sudo cd /boot/grubследует делать свое дело, в противном случае найдите свой файл конфигурации grub, выполнив поиск grub.cfgи изменив папку.

GUI: нажмите DEVICES-> COMPUTER-> boot-> grub или найдите DEVICES-> COMPUTER для файла.

После того, как вы нашли папку и открыли ее, запустите sudo cp grub.cfg grubOldXX.cfgгде XX - серийный номер на ваш выбор.

GUI: копировать вставить grub.cfg

Затем запустите sudo gedit grub.cfg

GUI: щелкните правой кнопкой мыши grub.cfgи выберите EDIT

Отредактируйте записи, которые вам не нужны, и измените порядок загрузки и параметры загрузки по умолчанию (это достаточно просто). Каждому пункту меню предшествует термин menuentry. Удалите все, menuentryвплоть до первой закрывающей фигурной скобки включительно }.

СОХРАНИТЕ ВАШ ФАЙЛ и ВЫЙДИТЕ из GEDIT.

ВАЖНО: возиться с grub - это занятие, которое может привести к катастрофическим ошибкам. Если ваш файл конфигурации испорчен, ваш компьютер может просто не загрузиться.

Всегда имейте DVD с версией Ubuntu под рукой (независимо от того, какая версия). Вы всегда можете загрузиться с вашего DVD или другого съемного носителя на случай, если у вас возникнут проблемы, и, поскольку вы сохранили копию своей исходной (рабочей) версии, вы переименовываете файлы, восстанавливая их grubOldXX.cfgкак grub.cfg.

Тони Гил
источник
1

В зависимости от вашей grubверсии вы можете использовать приложение StartUpManager для поддержки вашего меню grub. Его Advancedнастройки вкладок позволяют выбрать / отменить выбор загрузочной записи Memtest / Recovery, а также количество версий ядра. С grub2, « Appearanceи Advancedвкладки содержат меньше записей в настоящее время , и Securityвкладка не существует с Grub 2 полностью установлена.» (см. здесь , «Grub 2 Note»).

введите описание изображения здесь

tohuwawohu
источник
В продвинутом состоянии я ничего не получаю, кроме настроек Resoultion. И создание спасательной дискеты.
Шахе Таджирян
@ ShaheTajiryan: Извините, я ошибаюсь, я не процитировал точно. Сейчас отредактировано. Кажется, вы используете grub2, поэтому StartUpManager не будет для вас большой помощью.
tohuwawohu
4
Start-Up Manager устарел , его заменил GRUB-Customizer .
LovinBuntu
-1

Я устанавливаю Kali на свой Mac и использую rEfind в качестве загрузчика grub. Но установка grub не /dev/sdaXтак, так что в итоге я получил 2 входа grub и 1 не работает, что привело меня к спасению grub.

После попытки всех команд удалить его безуспешно, я иду в диспетчер утилит Mac, чтобы удалить biogrubраздел, который не работает. Воля, сейчас только вышла работоспособная.

Возможно, нужно пойти терминал для ввода update-grub.

Сэм
источник
-2

Используя gedit, отредактируйте grub.cfgфайл, расположенный по адресу /boot/grub.

Удалить тот, который не работает. Например, есть две записи, расположенные на разных разделах /dev/sda3и /dev/sda4. Вам придется удалить из menuentryв }(что означает закрыть).

Затем нажмите сохранить и вуаля.

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (loader) (on /dev/sda4)' --class windows --class os $menuentry_id_option 'osprober-chain-BABCA4EEBCA4A67B' {
    insmod part_msdos
    insmod ntfs
    set root='hd0,msdos4'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  BABCA4EEBCA4A67B
    else
      search --no-floppy --fs-uuid --set=root BABCA4EEBCA4A67B
    fi
    chainloader +1
}
menuentry 'Windows 7 (loader) (on /dev/sda3)' --class windows --class os $menuentry_id_option 'osprober-chain-BABCA4EEBCA4A67B' {
    insmod part_msdos
    insmod ntfs
    set root='hd0,msdos4'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  BABCA4EEBCA4A67B
    else
      search --no-floppy --fs-uuid --set=root BABCA4EEBCA4A67B
    fi
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###

Я удаляю /dev/sda3, после удаления это будет выглядеть так

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (loader) (on /dev/sda4)' --class windows --class os $menuentry_id_option 'osprober-chain-BABCA4EEBCA4A67B' {
    insmod part_msdos
    insmod ntfs
    set root='hd0,msdos4'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  BABCA4EEBCA4A67B
    else
      search --no-floppy --fs-uuid --set=root BABCA4EEBCA4A67B
    fi
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###
Лекс Нова Варела
источник
2
Файл создается автоматически при каждом обновлении ядра или при запуске update-grub, зачем редактировать его вручную?
Брайам