Добавьте Ubuntu ISO в качестве варианта загрузки через `efibootmgr`

Мне интересно, как я могу манипулировать меню загрузки на Mac, чтобы добавить опцию для «Ubuntu ISO». Чтобы быть на 100% ясным, поскольку я вижу, что не будут получены ответы, я не собираюсь устанавливать Ubuntu, а просто загрузить ISO с HD. Из того, что я исследовал, мне нужно использовать efibootmgr из дистрибутива Linux для управления параметрами загрузки.

Например, это было бы то, что я бы сделал с Grub:

sudo nano /etc/grub.d/40_custom && sudo update-grub2
 menuentry "Ubuntu ISO" {
        set isofile="/home/isos/ubuntu.iso"
        loopback loop $isofile
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noprompt noeject toram
        initrd (loop)/casper/initrd.lz
}

Но мне нужно что-то вроде:

https://wiki.gentoo.org/wiki / Efibootmgr # Create_a_boot_entry

efibootmgr -c -d /dev/sda -p 2 -L "Gentoo" -l '\efi\boot\bootx64.efi' -u 'root=/dev/sda3 initrd=\efi\boot\initramfs.img quiet'
1
задан 24 September 2019 в 12:24

1 ответ

Не уверенный, как работы MacBook с EFI, но EFI могут только загрузить только определенные исполняемые файлы на разделе EFI без параметров. Это не может загрузиться из файлов ISO. Вот способ использовать личинку для выполнения Ubuntu из файлов ISO:

  1. Создайте спасательный раздел на 10 ГБ.
  2. Отформатируйте его как ext4. Маркируйте и введите имя "спасение".
  3. Создайте grub.cfg файл в Linux

    $HOME/grub.cfg:

    menuentry "Rescue Ubuntu 18.04 LiveCD" 
    {
      set isoname="/ubuntu-18.04.3-desktop-amd64.iso"
      search --label --set rescue rescue
      loopback loop ($rescue)$isoname
      linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isoname quiet splash
      initrd (loop)/casper/initrd
    }
    
  4. Создайте автономное grubx64.efi с memdisk и необходимые модули

    Создает двоичный файл с модулями и grub.cfg встроенный:

    grub-mkstandalone --modules="minicmd normal search search_fs_file search_fs_uuid search_label ext2 echo cat ls disk part_gpt part_msdos" \
    -o grubx64.efi \
    -O x86_64-efi --compress=xz \
    "/boot/grub/grub.cfg=$HOME/grub.cfg"
    
  5. Создайте запись в диспетчере начальной загрузки EFI и месте grubx64.efi в новой записи. Добавьте все другие файлы, которые ожидает EFI (BOOTX64.CSV, shimx64.efi, mmx64.efi).

1
ответ дан 23 October 2019 в 10:42

Другие вопросы по тегам:

Похожие вопросы: