Por que minha iso de compilação personalizada não pode ser inicializada no EFI?

3

Estou construindo uma iso personalizada usando o xorriso no modo mkisofs. A compilação parece correta, inspecionando o iso depois mostra 2 imagens de inicialização (1 BIOS, 2 UEFI), ainda a inicialização para o ISO do qemu usando o firmware OVMF não consegue encontrar qualquer mídia inicializável.

Se eu tentar a mesma inicialização no qemu, mas usando uma iso do servidor do Ubuntu 16.04, ela é inicializada sem problemas.

Se eu usar o BIOS (não o UEFI), inicialize bem.

Comando

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/

Os detalhes de examinar o 2 iso (o Ubuntu e o meu personalizado) com xorriso -report_el_torito plain e cmd estão na seguinte essência link

    
por deitch 18.05.2016 / 08:49

2 respostas

7

Obrigado por voar em xorriso .

O problema está no arquivo de imagem que você deixou xorriso marcar como Partição do Sistema EFI. É suposto ser uma imagem do sistema de arquivos FAT que contém um arquivo binário chamado /EFI/BOOT/BOOTX64.EFI (ou ... /BOOTIA32.EFI para 32 bits x86) mais possivelmente outros arquivos. Monte o arquivo /boot/grub/efi.img do ISO do Ubuntu para aprender sobre o seu conteúdo.

Os sistemas de arquivos FAT usados pelo Ubuntu e outros são provavelmente produzidos pelo programa GRUB2 grub-mkimage. O software ISOLINUX / SYSLINUX EFI não ser usado porque ele fica suspenso ao ver um dispositivo de CD-ROM.

Uma maneira bastante conveniente de obter um ISO inicializável é o programa grub-mkrescue . Se o GRUB2 estiver configurado para BIOS e EFI (por exemplo, instalando pacotes grub-pc , grub-efi-amd64 e grub-efi-ia32 ) então grub-mkrescue irá produzir um ISO que inicializa no BIOS e EFI de 32 bits e 64 bits Máquinas x86: Imagens de inicialização El Torito para BIOS e EFI, imagem EFI tendo BOOTX64.EFI e BOOTIA32.EFI , MBR para BIOS a partir do disco rígido, GPT para EFI do disco rígido.

    
por 18.05.2016 / 09:25
0

Uma maneira muito fácil de fazer isso é:

acrescente efi.img ao seu ISO e ele será bot em todos os sistemas.

cat efi.img >> youriso.iso

depois disso, sua iso funcionará tanto como cdrom como usb pendrive: D

    
por 30.11.2016 / 09:14