Почему моя сборка iso не загружается в EFI?

Я создаю пользовательский iso, используя xorriso в режиме mkisofs. Конструкция кажется правильной, после проверки iso после этого показывает 2 загрузочных изображения (1 BIOS, 2 UEFI), но загрузка в ISO из qemu с использованием прошивки OVMF не позволяет найти загрузочный носитель.

Если я попробую точно такую ​​же загрузку в qemu, но используя чистый загруженный сервер ubuntu 16.04 iso, он загрузится без проблем.

Если я использую BIOS (а не UEFI), то оба загружаются просто отлично.

Команда xorriso:

xorriso -as mkisofs \ -l -J -R -V version \ -no-emul-boot -boot-load-size 4 -boot-info-table \ -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \ -isohybrid-mbr isohhdpfx.bin \ -eltorito-alt-boot -e EFI/BOOT/BOOTX64.EFI -no-emul-boot \ -isohybrid-gpt-basdat \ -o testos.iso ./cddir/ 

Детали изучения 2 iso (ubuntu и моего настраиваемого) с xorriso -report_el_torito plain и cmd приведены в следующем gist https://gist.github.com/deitch/e069268f92402d6a2b1c7e060ddba622

2 Solutions collect form web for “Почему моя сборка iso не загружается в EFI?”

Благодарим вас за полет xorriso .

Проблема заключается в файле изображения, который вы позволяете отмечать xorriso как системный раздел EFI. Предполагается, что это изображение файловой системы FAT, которое содержит двоичный файл с именем /EFI/BOOT/BOOTX64.EFI (или … /BOOTIA32.EFI для 32-разрядного x86) и, возможно, другие файлы. Установите файл /boot/grub/efi.img из Ubuntu ISO, чтобы узнать его содержимое.

Файловые системы FAT, используемые Ubuntu и другими, вероятно, создаются программой GRUB2 grub-mkimage. Программное обеспечение ISOLINUX / SYSLINUX EFI не может использоваться, поскольку оно открывается при просмотре устройства CD-ROM.

Достаточно удобный способ получить загрузочный ISO – программу grub-mkrescue . Если GRUB2 настроен для BIOS и EFI (например, путем установки двоичных пакетов grub-pc , grub-efi-amd64 и grub-efi-ia32 ), то grub-mkrescue создаст ISO, который загружается в BIOS и EFI 32 бит и 64 бит x86: загрузочные изображения El Torito для BIOS и EFI, изображение EFI с BOOTX64.EFI и BOOTIA32.EFI , MBR для BIOS с жесткого диска, GPT для EFI с жесткого диска.

Очень простой способ сделать это:

добавьте efi.img в свою ISO, и он будет работать в каждой системе.

 cat efi.img >> youriso.iso 

после этого ваш iso будет работать как cdrom, так и как usb pendrive: D

  • Есть ли способ включить безопасную загрузку в Linux?
  • Безопасно ли удалять старые разделы загрузки и EFI?
  • Как загрузить файл .efi с помощью QEMU?
  • Как я могу правильно запустить GRUB2 в UEFI?
  • Создайте Archiso с надлежащей подписью UEFI SecureBoot
  • Нужен ли загрузочный раздел в UEFI & Luks?
  • Неспособность остановить / перезагрузить / выключить
  • UEFI загрузочный iso собственного дистрибутива Linux
  • Предполагая, что кэш накопителя
  • Как отремонтировать CentOS? Не удалось установить / sysroot
  • как установить Debian на компьютер с Windows 10 (uefi)?
  • Interesting Posts

    wget несколько файлов PDF из ссылок

    Изменение существующего файла непосредственно для замены «foo» на «bar» ТОЛЬКО для строк, содержащих «baz»,

    Не удается получить доступ к моей локальной машине с удаленного сервера; какой у меня локальный IP-адрес?

    UID / GID с sshfs Linux FUSE

    regex хотел исключить строку

    Эффективно скопировать вставку (kill / yanking) с emacs, запущенным в tmux на Mac OS X

    Возможно ли, чтобы завершение bash проходило через альтернативы?

    Debian: exim, Maildir и почта

    Как Ubuntu 14.04 достигает постоянных этажных интерфейсов?

    Как программы с программным обеспечением с оболочкой уравновешивают скорость вывода / ввода?

    Samba – Не удается записать в share с "unix extensions = no", установленным в smb.conf

    Объясните пользователю Linux, как работают драйверы BSD / OSX

    Будет ли кто-нибудь служить примером синхронной или несинхронной работы Bash?

    Создать дочерний сервер репозитория с родительского сервера репозитория в Linux

    qemu висит при загрузке Fedora 20 guest

    Linux и Unix - лучшая ОС в мире.