
Grub – это загрузчик, который управляет процессом старта операционных систем на одном компьютере. Он способен обнаруживать несколько установленных систем и предоставляет возможность выбирать, какую именно загружать. Для корректного запуска Linux через Grub важно понимать расположение разделов, файлов ядра и initramfs.
Перед любыми изменениями рекомендуется проверить, установлен ли Grub и какая версия используется. Это можно сделать командой grub-install —version в терминале Linux. Также полезно убедиться, что BIOS или UEFI настроены на загрузку с нужного диска, на котором расположен Grub, иначе система может просто не обнаружить загрузчик.
Grub позволяет запускать Linux как автоматически через меню загрузки, так и вручную через командную строку. Для ручного запуска нужно знать точные пути к ядру и initramfs, а также параметры, передаваемые ядру, такие как root-раздел и режим монтирования файловой системы. Неправильные пути или параметры могут привести к ошибкам загрузки.
Редактирование конфигурационного файла grub.cfg или добавление новых записей позволяет интегрировать дополнительные системы или исправлять проблемы с существующей загрузкой. После внесения изменений важно обновить Grub с помощью update-grub или аналогичной команды, чтобы изменения вступили в силу.
Проверка наличия Grub на вашем компьютере

Проверка наличия Grub проводится через несколько методов:
-
Проверка через терминал Linux
- Откройте терминал и выполните команду
grub-install --version. Если Grub установлен, отобразится версия, например,GRUB 2.06. - Команда
sudo grub-mkconfig -o /boot/grub/grub.cfgпроверяет наличие конфигурационного файла. Ошибки укажут на отсутствие или повреждение Grub.
- Откройте терминал и выполните команду
-
Проверка через загрузку системы
- При включении компьютера на экране BIOS/UEFI должно появляться меню Grub с возможностью выбора операционной системы. Его отсутствие может свидетельствовать о неустановленном или повреждённом Grub.
- Если система сразу загружает ОС без меню выбора, Grub отсутствует или неактивен.
-
Проверка разделов диска
- Используйте
sudo fdisk -lилиlsblkдля поиска раздела с типом EFI или BIOS Boot. Для BIOS Boot должен быть небольшой раздел около 1 МБ, для EFI – раздел с файловой системой FAT32. - Если такие разделы отсутствуют, Grub не установлен или неправильно смонтирован.
- Используйте
После выполнения этих шагов вы получите точное представление о состоянии загрузчика на вашем компьютере и сможете планировать его установку или восстановление.
Настройка BIOS/UEFI для загрузки с нужного диска

Чтобы Grub корректно загружал Linux, BIOS или UEFI должны быть настроены на правильный диск. Настройка зависит от типа прошивки и используемой схемы разделов (MBR или GPT).
Алгоритм настройки:
-
Вход в BIOS/UEFI
- Перезагрузите компьютер и нажмите клавишу входа:
Del,F2,F10илиEscв зависимости от производителя. - Проверка версии UEFI: наличие вкладки «Boot» и поддержки GPT.
- Перезагрузите компьютер и нажмите клавишу входа:
-
Выбор приоритета загрузки
- Перейдите в раздел Boot или Boot Order.
- Установите диск с установленным Grub на первое место. Для UEFI указывайте именно EFI-раздел с Grub.
- Сохраните изменения и перезагрузите систему.
-
Дополнительные параметры
- Для UEFI отключите Secure Boot, если Grub не подписан.
- В BIOS с MBR включите Legacy Boot, если система не загружается через UEFI.
Таблица с ключевыми настройками для разных прошивок:
| Тип прошивки | Необходимые параметры | Комментарии |
|---|---|---|
| BIOS (Legacy) | Boot Device Priority → HDD с Grub, Legacy Boot Enabled | Grub устанавливается в MBR. Secure Boot отсутствует. |
| UEFI | Boot Order → EFI-раздел с Grub, Secure Boot Disabled (при необходимости) | Grub устанавливается в EFI-раздел. Поддержка GPT обязательна. |
После этих действий компьютер будет загружать Grub с выбранного диска, что позволяет запускать Linux или другие операционные системы без вмешательства.
Поиск установленной Linux-системы через Grub

Grub автоматически сканирует доступные диски и разделы при загрузке. Если Linux не отображается в меню, можно выполнить ручной поиск.
Действия через Grub:
-
Вход в командную строку Grub
- При старте компьютера удерживайте
ShiftилиEsc(в зависимости от версии Grub) для вызова меню. - Выберите пункт Advanced options → Command line (
grub>).
- При старте компьютера удерживайте
-
Сканирование дисков
- Используйте команду
lsдля отображения всех дисков и разделов, например:(hd0,msdos1),(hd1,gpt2). - Команда
ls (hdX,Y)/позволяет проверить содержимое раздела, искать папки/bootи/vmlinuz.
- Используйте команду
-
Указание загрузочного ядра
- Найдя раздел с Linux, используйте команды:
set root=(hdX,Y)– выбор корневого раздела.linux /boot/vmlinuz-<версия> root=/dev/sdXY– указание ядра и корня системы.initrd /boot/initrd.img-<версия>– указание initramfs.boot– запуск системы.
Для постоянного отображения Linux в меню рекомендуется после загрузки выполнить sudo update-grub в самой системе. Это обновит конфигурацию Grub и позволит автоматически находить все установленные ОС.
Использование командной строки Grub для ручного запуска
Командная строка Grub позволяет запускать Linux напрямую, минуя меню загрузки. Это полезно при повреждении конфигурации или отсутствии автоматического определения системы.
Пошаговая инструкция:
-
Вход в командную строку Grub
- При старте компьютера удерживайте
Shift(BIOS) илиEsc(UEFI) для вызова меню Grub. - Выберите Command Line или нажмите
cдля перехода к приглашениюgrub>.
- При старте компьютера удерживайте
-
Определение корневого раздела
- Команда
lsотображает доступные диски и разделы:(hd0,msdos1),(hd1,gpt2). - Используйте
ls (hdX,Y)/для поиска папок/bootи файловvmlinuz-иinitrd.img-. - Выберите раздел с установленной Linux и выполните
set root=(hdX,Y).
- Команда
-
Загрузка ядра и initramfs
linux /boot/vmlinuz-<версия> root=/dev/sdXY ro– загрузка ядра с указанием корневого раздела.initrd /boot/initrd.img-<версия>– подключение initramfs.
-
Запуск системы
- Введите команду
bootдля запуска выбранной Linux-системы. - После успешного старта выполните
sudo update-grubв системе для восстановления меню Grub.
- Введите команду
Эти команды позволяют вручную инициировать загрузку Linux при проблемах с автоматическим обнаружением Grub.
Редактирование конфигурационного файла grub.cfg

Файл grub.cfg управляет отображением меню Grub и параметрами загрузки Linux. Изменения следует вносить аккуратно, так как ошибки могут сделать систему не загружаемой.
Основные шаги редактирования:
-
Резервное копирование
- Создайте копию текущего файла:
sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.bak. - При сбое резервная копия позволит восстановить работоспособность загрузчика.
- Создайте копию текущего файла:
-
Редактирование файла
- Используйте текстовый редактор с правами root, например:
sudo nano /boot/grub/grub.cfg. - Параметры загрузки указываются в блоках
menuentry. Например: - Изменения могут касаться ядра (
vmlinuz), корневого раздела (root=), параметров ядра (ro, quiet, splash).
menuentry 'Ubuntu' { linux /boot/vmlinuz-<версия> root=/dev/sdXY ro quiet splash initrd /boot/initrd.img-<версия> } - Используйте текстовый редактор с правами root, например:
-
Применение изменений
- После редактирования сохраните файл и выполните команду
sudo update-grubдля обновления конфигурации. - Перезагрузите компьютер и проверьте корректность работы меню Grub.
- После редактирования сохраните файл и выполните команду
Изменение grub.cfg позволяет вручную добавлять новые Linux-системы, корректировать параметры ядра и управлять порядком отображения записей в меню Grub.
Добавление новой записи для Linux в Grub
Для ручного добавления Linux в меню Grub редактируйте файл /etc/grub.d/40_custom. Это безопаснее, чем напрямую изменять grub.cfg, так как файл обновляется при выполнении update-grub.
Пример добавления записи:
menuentry 'Новая Linux' {
set root=(hd0,1)
linux /boot/vmlinuz-<версия> root=/dev/sda1 ro quiet splash
initrd /boot/initrd.img-<версия>
}
Пояснения к параметрам:
- set root=(hdX,Y) – указание раздела с Linux, где X – диск, Y – номер раздела.
- linux – путь к ядру Linux и параметры загрузки (
root=,ro,quiet splash). - initrd – путь к initramfs.
После добавления записи выполните sudo update-grub для генерации нового grub.cfg. Новая система появится в меню Grub при следующей загрузке.
Исправление ошибок загрузки через Grub

Ошибки загрузки через Grub возникают из-за повреждения конфигурации, отсутствия ядра или неправильных параметров корневого раздела. Для восстановления системы применяют несколько методов.
-
Восстановление Grub с LiveCD/LiveUSB
- Загрузитесь с Live-образа Linux и откройте терминал.
- Определите корневой раздел:
sudo fdisk -lилиlsblk. - Смонтируйте корневой раздел:
sudo mount /dev/sdXY /mnt. - Для UEFI смонтируйте EFI-раздел:
sudo mount /dev/sdXZ /mnt/boot/efi. - Выполните восстановление Grub:
sudo grub-install --root-directory=/mnt /dev/sdX. - Обновите конфигурацию:
sudo chroot /mnt update-grub.
-
Исправление конфигурации grub.cfg
- Проверьте правильность параметров в
/boot/grub/grub.cfgили/etc/grub.d/40_custom. - Особое внимание уделите строкам
linuxиinitrd, а также значениюroot=. - После правок выполните
sudo update-grubдля генерации новогоgrub.cfg.
- Проверьте правильность параметров в
-
Использование командной строки Grub
- При старте удерживайте
ShiftилиEscдля вызова командной строки. - Используйте
lsдля поиска раздела с Linux иset root=(hdX,Y)для указания корня. - Загрузите ядро и initramfs командами
linux /boot/vmlinuz-<версия> root=/dev/sdXY roиinitrd /boot/initrd.img-<версия>, затемboot.
- При старте удерживайте
-
Проверка дисков и разделов
- Ошибки могут быть вызваны отсутствием или повреждением разделов.
- Используйте
fsckдля проверки файловой системы и исправления ошибок.
Следуя этим шагам, можно восстановить загрузку Linux через Grub без переустановки системы.
Сохранение изменений и тестирование загрузки
После внесения правок в Grub необходимо зафиксировать изменения и проверить корректность загрузки системы.
-
Обновление конфигурации Grub
- Для систем на базе Debian/Ubuntu выполните
sudo update-grub, для Fedora и других дистрибутивов –sudo grub2-mkconfig -o /boot/grub2/grub.cfg. - Эти команды сканируют разделы, находят ядра Linux и создают новый
grub.cfgс актуальными записями.
- Для систем на базе Debian/Ubuntu выполните
-
Сохранение изменений в конфигурационных файлах
- Если правки выполнялись в
/etc/grub.d/40_custom, убедитесь, что файл имеет права root:sudo chmod 755 /etc/grub.d/40_custom. - Проверьте наличие резервной копии
/boot/grub/grub.cfg.bakна случай ошибки.
- Если правки выполнялись в
-
Перезагрузка и тестирование
- Перезагрузите компьютер и наблюдайте меню Grub.
- Выберите новую или изменённую запись и убедитесь, что система загружается без ошибок.
- Если загрузка не происходит, вернитесь к командной строке Grub и проверьте параметры
root=,linuxиinitrd.
-
Финальная проверка
- После успешного запуска Linux выполните
sudo grub-probe /для проверки корректного указания корневого раздела. - Дополнительно проверьте содержимое
/bootна наличие актуальных файлов ядра и initramfs.
- После успешного запуска Linux выполните
Эти действия гарантируют сохранение изменений в Grub и подтверждают стабильную загрузку Linux с обновлёнными параметрами.
Вопрос-ответ:
Как проверить, установлен ли Grub на моём компьютере?
Для проверки наличия Grub можно использовать терминал Linux. Команда grub-install --version покажет установленную версию загрузчика. Также можно проверить конфигурационный файл с помощью sudo grub-mkconfig -o /boot/grub/grub.cfg — ошибки укажут на отсутствие или повреждение Grub. При загрузке компьютера меню Grub должно появляться автоматически; если система загружается сразу без выбора ОС, Grub либо не установлен, либо неактивен.
Как указать правильный диск в BIOS/UEFI для загрузки Linux через Grub?
Необходимо войти в BIOS или UEFI, нажав Del, F2, F10 или Esc при старте системы. В разделе Boot или Boot Order выберите диск с установленным Grub в качестве первого. Для UEFI укажите EFI-раздел с Grub и при необходимости отключите Secure Boot. В BIOS с MBR включите Legacy Boot, если загрузка через UEFI не работает. Сохраните изменения и перезагрузите компьютер.
Что делать, если Grub не видит установленную Linux-систему?
Можно использовать командную строку Grub. При старте удерживайте Shift или Esc для входа в командную строку. Команда ls покажет все доступные диски и разделы. Найдите раздел с Linux, используйте set root=(hdX,Y) и укажите ядро с помощью linux /boot/vmlinuz-<версия> root=/dev/sdXY ro, а initramfs — initrd /boot/initrd.img-<версия>. Затем выполните boot. После успешной загрузки обновите Grub через sudo update-grub.
Как добавить новую запись Linux в меню Grub?
Для добавления новой записи откройте файл /etc/grub.d/40_custom с правами root. Добавьте блок menuentry с указанием корневого раздела, ядра и initramfs. Пример:menuentry 'Новая Linux' { set root=(hd0,1); linux /boot/vmlinuz-<версия> root=/dev/sda1 ro quiet splash; initrd /boot/initrd.img-<версия>; }
После сохранения выполните sudo update-grub, чтобы запись появилась в меню при следующей загрузке.
