Как я могу загрузить GRUB из syslinux?

Из-за текущего состояния моей установки я хочу сделать Syslinux, который является моим основным загрузчиком, чтобы загрузить GRUB2. Google собирает много информации о том, как подключать Syslinux от GRUB2, но ничего действительно не полезно для обратного сценария, и это то, что я ищу.

4 Solutions collect form web for “Как я могу загрузить GRUB из syslinux?”

Предполагая, что у вас есть файлы GRUB в /boot/grub , на том же разделе, что и syslinux, вы можете загрузить первое изображение GRUB с именем boot.img , например:

 LABEL GRUB MENU LABEL Grub2 chainload COM32 CHAIN.C32 APPEND file=/boot/grub/boot.img 

Я никогда не пробовал это сам, но я нашел эти подробности в вики ArchLinux. В статье, названной так: Syslinux . Есть раздел под названием « Chainloading other Linux systems» .

выдержка

Chainloading другой загрузчик, такой как Windows, довольно очевиден, так как есть определенный загрузчик, к которому можно подключиться. Но с Syslinux он может загружать только файлы, находящиеся в том же разделе, что и файл конфигурации. Таким образом, если у вас есть другая версия Linux на отдельном разделе, без совместного использования / загрузки, необходимо использовать Extlinux. По сути, Extlinux можно установить в суперблоке раздела и вызываться как отдельный загрузчик из MBR, установленного Syslinux. Extlinux является частью проекта Syslinux и входит в пакет syslinux.

Предположим, что у вас есть система с Grub2:

  • /dev/sda3 ( / )
  • /dev/sda2 ( /boot )

Вы бы установили их так:

 $ mount /dev/sda3 /mnt $ mount /dev/sda2 /mnt/boot (only necessary for separate /boot) 

Затем с помощью extlinux вы выполните следующее:

 $ extlinux -i /mnt/boot/syslinux $ cp /usr/lib/syslinux/{chain,menu}.c32 /mnt/boot/syslinux 

Создайте этот файл: /mnt/boot/syslinux/syslinux.cfg :

 timeout 10 ui menu.c32 label Other Linux linux /boot/vmlinuz-linux initrd /boot/initramfs-linux.img append root=/dev/sda3 ro quiet label MAIN com32 chain.c32 append hd0 0 

Есть несколько способов сделать это. В отличие от загрузочных окон, которые не имеют открытого исходного кода для загрузчика, grub доступен в нескольких форматах, и не сложно добавить больше. Подход CostinStroie использует вариацию загрузки загрузочного сектора и прекрасно работает, если у вас установлен grub, есть традиционная биография и не загружается в сети. Вы также можете использовать другие изображения grub. Я имел в свое время образ графического изображения grub, на котором был заголовок изображения Linux, который мог быть загружен с ключевым словом ядра syslinux. Вы можете (хотя я не знаю никого, кто имеет) компилировать grub как c32-изображение, которое является специфичным для syslinux. другие интересные включают загрузку изображения pxe grub из pxelinux, загрузку образа гибкой флоппи с помощью memdisk.

Предполагая, что GRUB2 установлен в PBR (не в MBR), в SAME DISK как Syslinux (например: sda) на другом разделе (например: sda3) вы можете загрузить GRUB2 следующими командами:

 LABEL Other Linux (Linux installed on sda3 & Syslinux installed on sda) MENU LABEL Grub2 chainload COM32 chain.c32 APPEND boot 3 

Протестировано с помощью YUMI и никаких проблем

  • Как настроить Syslinux для загрузки изображений ядра с другого раздела или диска?
  • Загрузочный безразмерный диск с syslinux
  • Виртуальные последовательные порты / dev / pts
  • Syslinux, что делает?
  • Многопользовательский USB-накопитель Syslinux
  • Как я могу получить из menu.lst в syslinux.cfg?
  • Как настроить syslinux для немедленной загрузки
  • Как перенаправить загрузку PXE на другой TFTP или на HTTP?
  • Blacklisting не будет работать для модуля ядра "radeon"
  • syslinux / vesamenu.c32 - используя максимально доступное разрешение экрана?
  • Как установить syslinux / extlinux в файл образа диска, не требуя привилегий root
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.