Мне интересно, как я могу манипулировать меню загрузки на 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'
Не уверенный, как работы MacBook с EFI, но EFI могут только загрузить только определенные исполняемые файлы на разделе EFI без параметров. Это не может загрузиться из файлов ISO. Вот способ использовать личинку для выполнения Ubuntu из файлов ISO:
Создайте 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
}
Создайте автономное 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"
Создайте запись в диспетчере начальной загрузки EFI и месте grubx64.efi
в новой записи. Добавьте все другие файлы, которые ожидает EFI (BOOTX64.CSV
, shimx64.efi
, mmx64.efi
).