Вопрос или проблема
Как редактировать grub на жестком диске UEFI, чтобы иметь возможность многозагрузки с более чем одной системой Linux и одной ОС Windows, чтобы их можно было выбирать и запускать при запуске ПК
Если хотя бы одна из ваших дистрибутивов Linux включает пакет os-prober
и интегрирует его с инструментами конфигурации GRUB (как, например, делает Debian/Ubuntu), то он может иметь возможность автоматически находить несколько версий Linux и добавлять их в меню загрузки для вас.
Если вы выберете этот подход, вам, возможно, придется использовать этот дистрибутив в качестве “основного поддерживателя загрузчика”, и вам может потребоваться запустить sudo update-grub
на этом дистрибутиве перед тем, как какое-либо обновление ядра в других дистрибутивах Linux будет фактически использовано при загрузке.
В качестве альтернативы, вы можете позволить каждой ОС Linux поддерживать свои собственные экземпляры GRUB и сделать так, чтобы один из них (тот, который выбран как первый в порядке загрузки BIOS) был дополнен пользовательскими пунктами меню, такими как эти в файле /etc/grub.d/40_custom
:
menuentry 'Другой дистрибутив Linux' {
search --no-floppy --fs-uuid --set=root <UUID файловой системы, содержащей /boot/grub другого дистрибутива Linux>
set prefix=$(root)'/grub'
configfile $prefix/grub.cfg
}
menuentry 'Windows 7 или новее' {
search --no-floppy --fs-uuid --set=root <UUID системного раздела EFI установки Windows>
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
Другими словами, для дистрибутивов Linux идея состоит в том, чтобы просто позволить GRUB считывать файл конфигурации, поддерживаемый другим дистрибутивом Linux, когда его пункт загрузки выбран. При условии, что версии GRUB несовместимы, он должен просто отображать меню загрузки этого дистрибутива эффективно как “подменю” основного меню загрузки. Если версии GRUB несовместимы, должно быть возможно переходить на версию GRUB другого дистритива Linux, подобно тому, как это делается с загрузчиками Windows UEFI.
Ответ или решение
Вопрос о редактировании GRUB для создания мультизагрузки с возможностью выбора более чем двух операционных систем (ОС) является актуальным для пользователей, которые желают использовать несколько дистрибутивов Linux и Windows на одном компьютере. Рассмотрим, как правильно настроить GRUB на UEFI HDD для достижения этой цели.
Шаг 1: Установка необходимых пакетов
Для начала, важно убедиться, что на одном из дистрибутивов Linux установлен пакет os-prober
, который позволяет автоматически определять установленные операционные системы. Для установки выполните следующую команду:
sudo apt-get install os-prober
Шаг 2: Настройка GRUB на основном дистрибутиве
Если один из используемых дистрибутивов Linux — это Debian или Ubuntu, он может автоматически находить установленную ОС и добавлять их в меню загрузки. Чтобы выполнить эту операцию, вам требуется обновить конфигурацию GRUB:
sudo update-grub
После этой команды, GRUB должен автоматически добавить обнаруженные системой операционные системы в меню загрузки.
Шаг 3: Использование нескольких экземпляров GRUB
Если вы хотите, чтобы каждая ОС управляла своим собственным экземпляром GRUB, вы можете выбрать другой подход — дополнить меню GRUB на одной из систем кастомными параметрами загрузки. Для этого выполните следующие действия:
-
Откройте файл
/etc/grub.d/40_custom
в текстовом редакторе с правами суперпользователя:sudo nano /etc/grub.d/40_custom
-
Добавьте следующие записи, заменив
<UUID>
на соответствующие UUID для вашей системы:menuentry 'Некоторый другой дистрибутив Linux' { search --no-floppy --fs-uuid --set=root <UUID файловой системы, содержащей /boot/grub другого дистрибутива> set prefix=(root)'/grub' configfile $prefix/grub.cfg } menuentry 'Windows 10 или новее' { search --no-floppy --fs-uuid --set=root <UUID системного раздела EFI с установкой Windows> chainloader /EFI/Microsoft/Boot/bootmgfw.efi }
Для получения UUID файловой системы можно использовать команду:
sudo blkid
Эти опции позволяют GRUB считывать конфигурацию другого дистрибутива, синхронизируя меню загрузки.
Шаг 4: Обновление конфигурации GRUB
После внесения изменений необходимо обновить конфигурацию GRUB:
sudo update-grub
Шаг 5: Перезагрузка и тестирование
Затем перезагрузите компьютер и убедитесь, что изменения вступили в силу. Вы должны увидеть новое меню GRUB с перечислением всех доступных операционных систем для загрузки.
Заключение
Выбор между автоматическим и ручным управлением GRUB зависит от предпочтений пользователя и сложности конфигурации систем. Убедитесь, что все ОС совместимы между собой и следуйте указаниям по редактированию GRUB осторожно. Теперь вы имеете возможность загружать более чем две операционные системы, превращая ваш компьютер в мощную мультизагрузочную платформу.