Как запустить Linux через загрузчик Grub

Grub как запустить linux

Grub как запустить linux

Grub – это загрузчик, который управляет процессом старта операционных систем на одном компьютере. Он способен обнаруживать несколько установленных систем и предоставляет возможность выбирать, какую именно загружать. Для корректного запуска Linux через Grub важно понимать расположение разделов, файлов ядра и initramfs.

Перед любыми изменениями рекомендуется проверить, установлен ли Grub и какая версия используется. Это можно сделать командой grub-install —version в терминале Linux. Также полезно убедиться, что BIOS или UEFI настроены на загрузку с нужного диска, на котором расположен Grub, иначе система может просто не обнаружить загрузчик.

Grub позволяет запускать Linux как автоматически через меню загрузки, так и вручную через командную строку. Для ручного запуска нужно знать точные пути к ядру и initramfs, а также параметры, передаваемые ядру, такие как root-раздел и режим монтирования файловой системы. Неправильные пути или параметры могут привести к ошибкам загрузки.

Редактирование конфигурационного файла grub.cfg или добавление новых записей позволяет интегрировать дополнительные системы или исправлять проблемы с существующей загрузкой. После внесения изменений важно обновить Grub с помощью update-grub или аналогичной команды, чтобы изменения вступили в силу.

Проверка наличия Grub на вашем компьютере

Проверка наличия Grub на вашем компьютере

Проверка наличия Grub проводится через несколько методов:

  1. Проверка через терминал Linux

    • Откройте терминал и выполните команду grub-install --version. Если Grub установлен, отобразится версия, например, GRUB 2.06.
    • Команда sudo grub-mkconfig -o /boot/grub/grub.cfg проверяет наличие конфигурационного файла. Ошибки укажут на отсутствие или повреждение Grub.
  2. Проверка через загрузку системы

    • При включении компьютера на экране BIOS/UEFI должно появляться меню Grub с возможностью выбора операционной системы. Его отсутствие может свидетельствовать о неустановленном или повреждённом Grub.
    • Если система сразу загружает ОС без меню выбора, Grub отсутствует или неактивен.
  3. Проверка разделов диска

    • Используйте sudo fdisk -l или lsblk для поиска раздела с типом EFI или BIOS Boot. Для BIOS Boot должен быть небольшой раздел около 1 МБ, для EFI – раздел с файловой системой FAT32.
    • Если такие разделы отсутствуют, Grub не установлен или неправильно смонтирован.

После выполнения этих шагов вы получите точное представление о состоянии загрузчика на вашем компьютере и сможете планировать его установку или восстановление.

Настройка BIOS/UEFI для загрузки с нужного диска

Настройка BIOS/UEFI для загрузки с нужного диска

Чтобы Grub корректно загружал Linux, BIOS или UEFI должны быть настроены на правильный диск. Настройка зависит от типа прошивки и используемой схемы разделов (MBR или GPT).

Алгоритм настройки:

  1. Вход в BIOS/UEFI

    • Перезагрузите компьютер и нажмите клавишу входа: Del, F2, F10 или Esc в зависимости от производителя.
    • Проверка версии UEFI: наличие вкладки «Boot» и поддержки GPT.
  2. Выбор приоритета загрузки

    • Перейдите в раздел Boot или Boot Order.
    • Установите диск с установленным Grub на первое место. Для UEFI указывайте именно EFI-раздел с Grub.
    • Сохраните изменения и перезагрузите систему.
  3. Дополнительные параметры

    • Для 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

Поиск установленной Linux-системы через Grub

Grub автоматически сканирует доступные диски и разделы при загрузке. Если Linux не отображается в меню, можно выполнить ручной поиск.

Действия через Grub:

  1. Вход в командную строку Grub

    • При старте компьютера удерживайте Shift или Esc (в зависимости от версии Grub) для вызова меню.
    • Выберите пункт Advanced optionsCommand line (grub> ).
  2. Сканирование дисков

    • Используйте команду ls для отображения всех дисков и разделов, например: (hd0,msdos1), (hd1,gpt2).
    • Команда ls (hdX,Y)/ позволяет проверить содержимое раздела, искать папки /boot и /vmlinuz.
  3. Указание загрузочного ядра

    • Найдя раздел с 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 напрямую, минуя меню загрузки. Это полезно при повреждении конфигурации или отсутствии автоматического определения системы.

Пошаговая инструкция:

  1. Вход в командную строку Grub

    • При старте компьютера удерживайте Shift (BIOS) или Esc (UEFI) для вызова меню Grub.
    • Выберите Command Line или нажмите c для перехода к приглашению grub>.
  2. Определение корневого раздела

    • Команда ls отображает доступные диски и разделы: (hd0,msdos1), (hd1,gpt2).
    • Используйте ls (hdX,Y)/ для поиска папок /boot и файлов vmlinuz- и initrd.img-.
    • Выберите раздел с установленной Linux и выполните set root=(hdX,Y).
  3. Загрузка ядра и initramfs

    • linux /boot/vmlinuz-<версия> root=/dev/sdXY ro – загрузка ядра с указанием корневого раздела.
    • initrd /boot/initrd.img-<версия> – подключение initramfs.
  4. Запуск системы

    • Введите команду boot для запуска выбранной Linux-системы.
    • После успешного старта выполните sudo update-grub в системе для восстановления меню Grub.

Эти команды позволяют вручную инициировать загрузку Linux при проблемах с автоматическим обнаружением Grub.

Редактирование конфигурационного файла grub.cfg

Редактирование конфигурационного файла grub.cfg

Файл grub.cfg управляет отображением меню Grub и параметрами загрузки Linux. Изменения следует вносить аккуратно, так как ошибки могут сделать систему не загружаемой.

Основные шаги редактирования:

  1. Резервное копирование

    • Создайте копию текущего файла: sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.bak.
    • При сбое резервная копия позволит восстановить работоспособность загрузчика.
  2. Редактирование файла

    • Используйте текстовый редактор с правами root, например: sudo nano /boot/grub/grub.cfg.
    • Параметры загрузки указываются в блоках menuentry. Например:
    • menuentry 'Ubuntu' { linux /boot/vmlinuz-<версия> root=/dev/sdXY ro quiet splash initrd /boot/initrd.img-<версия> }

    • Изменения могут касаться ядра (vmlinuz), корневого раздела (root=), параметров ядра (ro, quiet, splash).
  3. Применение изменений

    • После редактирования сохраните файл и выполните команду 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 возникают из-за повреждения конфигурации, отсутствия ядра или неправильных параметров корневого раздела. Для восстановления системы применяют несколько методов.

  1. Восстановление 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.
  2. Исправление конфигурации grub.cfg

    • Проверьте правильность параметров в /boot/grub/grub.cfg или /etc/grub.d/40_custom.
    • Особое внимание уделите строкам linux и initrd, а также значению root=.
    • После правок выполните sudo update-grub для генерации нового grub.cfg.
  3. Использование командной строки Grub

    • При старте удерживайте Shift или Esc для вызова командной строки.
    • Используйте ls для поиска раздела с Linux и set root=(hdX,Y) для указания корня.
    • Загрузите ядро и initramfs командами linux /boot/vmlinuz-<версия> root=/dev/sdXY ro и initrd /boot/initrd.img-<версия>, затем boot.
  4. Проверка дисков и разделов

    • Ошибки могут быть вызваны отсутствием или повреждением разделов.
    • Используйте fsck для проверки файловой системы и исправления ошибок.

Следуя этим шагам, можно восстановить загрузку Linux через Grub без переустановки системы.

Сохранение изменений и тестирование загрузки

После внесения правок в Grub необходимо зафиксировать изменения и проверить корректность загрузки системы.

  1. Обновление конфигурации Grub

    • Для систем на базе Debian/Ubuntu выполните sudo update-grub, для Fedora и других дистрибутивов – sudo grub2-mkconfig -o /boot/grub2/grub.cfg.
    • Эти команды сканируют разделы, находят ядра Linux и создают новый grub.cfg с актуальными записями.
  2. Сохранение изменений в конфигурационных файлах

    • Если правки выполнялись в /etc/grub.d/40_custom, убедитесь, что файл имеет права root: sudo chmod 755 /etc/grub.d/40_custom.
    • Проверьте наличие резервной копии /boot/grub/grub.cfg.bak на случай ошибки.
  3. Перезагрузка и тестирование

    • Перезагрузите компьютер и наблюдайте меню Grub.
    • Выберите новую или изменённую запись и убедитесь, что система загружается без ошибок.
    • Если загрузка не происходит, вернитесь к командной строке Grub и проверьте параметры root=, linux и initrd.
  4. Финальная проверка

    • После успешного запуска Linux выполните sudo grub-probe / для проверки корректного указания корневого раздела.
    • Дополнительно проверьте содержимое /boot на наличие актуальных файлов ядра и initramfs.

Эти действия гарантируют сохранение изменений в 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, чтобы запись появилась в меню при следующей загрузке.

Ссылка на основную публикацию