Проверка меню GRUB с помощью команды cat /boot/grub/grub.cfg
На предыдущем шаге мы рассмотрели файл /etc/default/grub
, который является основным файлом конфигурации GRUB. Однако этот файл не используется напрямую GRUB во время процесса загрузки. Вместо этого настройки из файла /etc/default/grub
используются для генерации фактического файла конфигурации меню GRUB, который расположен по пути /boot/grub/grub.cfg
.
Файл /boot/grub/grub.cfg
автоматически генерируется командой update-grub
(или grub-mkconfig
). Он содержит пункты меню, которые вы видите при запуске компьютера, позволяя выбрать, какую операционную систему или ядро загрузить.
Важно: Никогда не редактируйте файл /boot/grub/grub.cfg
вручную. Любые изменения, которые вы внесете, будут перезаписаны при следующем запуске команды update-grub
. Всегда изменяйте файл /etc/default/grub
, а затем запускайте команду sudo update-grub
, чтобы применить изменения.
Просмотрим содержимое файла /boot/grub/grub.cfg
с помощью команды cat
.
Введите следующую команду в терминале и нажмите Enter:
cat /boot/grub/grub.cfg
Вы увидите гораздо более длинный и сложный вывод по сравнению с файлом /etc/default/grub
. Этот файл содержит подробную конфигурацию для каждого пункта меню загрузки, включая путь к ядру, путь к initrd и параметры командной строки ядра.
#
## DO NOT EDIT THIS FILE
#
## It is automatically generated by grub-mkconfig using templates
## from /etc/grub.d and settings from /etc/default/grub
#
#### BEGIN /etc/grub.d/00_header ###
...
#### END /etc/grub.d/00_header ###
#### BEGIN /etc/grub.d/05_debian_theme ###
...
#### END /etc/grub.d/05_debian_theme ###
#### BEGIN /etc/grub.d/10_linux ###
...
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' {
recordfail
...
linux /boot/vmlinuz-*-generic root=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ro quiet splash $vt_handoff
initrd /boot/initrd.img-*-generic
}
...
#### END /etc/grub.d/10_linux ###
#### BEGIN /etc/grub.d/20_linux_xen ###
...
#### END /etc/grub.d/20_linux_xen ###
#### BEGIN /etc/grub.d/30_os-prober ###
...
#### END /etc/grub.d/30_os-prober ###
#### BEGIN /etc/grub.d/30_uefi-firmware ###
...
#### END /etc/grub.d/30_uefi-firmware ###
#### BEGIN /etc/grub.d/40_custom ###
...
#### END /etc/grub.d/40_custom ###
#### BEGIN /etc/grub.d/41_custom ###
...
#### END /etc/grub.d/41_custom ###
Вы можете прокрутить вывод, чтобы увидеть различные пункты меню и их конфигурации. Найдите строки, начинающиеся с menuentry
. Они определяют опции, которые появляются в меню загрузки GRUB.
Этот файл сложен, и вам не нужно понимать каждую строку прямо сейчас. Главное, что нужно запомнить, это то, что /boot/grub/grub.cfg
- это файл, который фактически использует GRUB, и он генерируется из файла /etc/default/grub
и скриптов в директории /etc/grub.d
.
Нажмите Продолжить, чтобы перейти к следующему шагу.