Guten Morgen alle zusammen, ☺
ich versuche auf Basis des Ubuntu 16.04 Server 64-Bit ISO Images ein eigenes ISO Image zu erstellen. Das hat soweit auch funktioniert - bis ich versucht habe dieses auf einem Rechner mit UEFI Bios zu booten (in diesem Fall habe ich es mit VMware und Hyper-V getestet).
Ich bin dann über diese Anleitung hier "gestolpert": https://askubuntu.com/questions/457528/how-do-i-create-an-efi-bootable-iso-of-a-customized-version-of-ubuntu
Dabei ist mir aufgefallen, dass mir dumpet hier wirklich ausgibt, dass ich keinen (U)EFI Boot Block in meinem ISO habe (mein ISO Image):
Validation Entry: Header Indicator: 0x01 (Validation Entry) PlatformId: 0x00 (80x86) ID: "" Checksum: 0x55aa Key bytes: 0x55aa Boot Catalog Default Entry: Entry is bootable Boot Media emulation type: no emulation Media load segment: 0x0 (0000:7c00) System type: 0 (0x00) Load Sectors: 4 (0x0004) Load LBA: 2034 (0x000007f2)
obwohl die Sache so aussehen sollte (Original ISO Image):
Validation Entry: Header Indicator: 0x01 (Validation Entry) PlatformId: 0x00 (80x86) ID: "" Checksum: 0x55aa Key bytes: 0x55aa Boot Catalog Default Entry: Entry is bootable Boot Media emulation type: no emulation Media load segment: 0x0 (0000:7c00) System type: 0 (0x00) Load Sectors: 4 (0x0004) Load LBA: 52780 (0x0000ce2c) Section Header Entry: Header Indicator: 0x91 (Final Section Header Entry) PlatformId: 0xef (EFI) Section Entries: 1 ID: "" Boot Catalog Section Entry: Entry is bootable Boot Media emulation type: no emulation Media load address: 0 (0x0000) System type: 0 (0x00) Load Sectors: 4736 (0x1280) Load LBA: 107710 (0x0001a4be)
Mein Befehl dazu sah so aus:
mkisofs -disable-deep-relocation -rational-rock -volid test -input-charset utf-8 -cache-inodes -joliet -full-iso9660-filenames -eltorito-boot isolinux/isolinux.bin -eltorito-catalog isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -output /tmp/test.iso /tmp/isoimage
Ich habe ihn dann wie folgt nach dem Artikel geändert:
mkisofs -appid test -volid test -volset test -input-charset utf-8 -rational-rock -translation-table -eltorito-boot isolinux/isolinux.bin -eltorito-catalog isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -efi-boot boot/grub/efi.img -no-emul-boot -output /tmp/test.iso /tmp/isoimage
Nun habe ich auch den EFI Boot Block:
Validation Entry: Header Indicator: 0x01 (Validation Entry) PlatformId: 0x00 (80x86) ID: "" Checksum: 0x55aa Key bytes: 0x55aa Boot Catalog Default Entry: Entry is bootable Boot Media emulation type: no emulation Media load segment: 0x0 (0000:7c00) System type: 0 (0x00) Load Sectors: 4 (0x0004) Load LBA: 1016 (0x000003f8) Section Header Entry: Header Indicator: 0x91 (Final Section Header Entry) PlatformId: 0xef (EFI) Section Entries: 1 ID: "" Boot Catalog Section Entry: Entry is bootable Boot Media emulation type: no emulation Media load address: 0 (0x0000) System type: 0 (0x00) Load Sectors: 4736 (0x1280) Load LBA: 1036 (0x0000040c)
Ich kann das ISO auch weiterhin in einem nicht-UEFI System booten. Allerdings in einem UEFI System funktioniert es immer noch nicht.
Irgendwelche Ideen oder Anregungen, was ich falsch mache? 😳