[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Does grub-mkrescue support UEFI hybrid USB/DVD images?
From: |
Thomas Schmitt |
Subject: |
Re: Does grub-mkrescue support UEFI hybrid USB/DVD images? |
Date: |
Fri, 23 Jan 2015 17:18:21 +0100 |
Hi,
i inspect the image by
xorriso-1.3.8 -indev test-efigrub.iso \
-report_el_torito plain \
-report_system_area plain
and get
Boot record : El Torito , MBR protective-msdos-label cyl-align-off GPT APM
...
Volume id : 'PCBSD_INSTALL'
El Torito catalog : 1763 1
El Torito cat path : /boot.catalog
El Torito images : N Pltf B Emul Ld_seg Hdpt Ldsiz LBA
El Torito boot img : 1 UEFI y none 0x0000 0x00 5760 140
El Torito img path : 1 /efi.img
System area options: 0x00000201
System area summary: MBR protective-msdos-label cyl-align-off GPT APM
ISO image size/512 : 81552
Partition offset : 0
MBR heads per cyl : 64
MBR secs per head : 32
MBR partition table: N Status Type Start Blocks
MBR partition : 1 0x00 0xee 1 81551
GPT : N Info
GPT disk GUID : 70e9427b66c1b744b42113c17b268b07
GPT entry array : 20 176 separated
GPT lba range : 64 81506 81551
GPT partition name : 1 4700610070003000
GPT partname local : 1 Gap0
GPT partition GUID : 1 70e9427b66c1b744b42213c17b268b07
GPT type GUID : 1 a2a0d0ebe5b9334487c068b6b72699c7
GPT partition flags: 1 0x1000000000000001
GPT start and size : 1 64 496
GPT partition name : 2
450046004900200062006f006f007400200070006100720074006900740069006f006e00
GPT partname local : 2 EFI boot partition
GPT partition GUID : 2 70e9427b66c1b744b42313c17b268b07
GPT type GUID : 2 28732ac11ff8d211ba4b00a0c93ec93b
GPT partition flags: 2 0x1000000000000001
GPT start and size : 2 560 5760
GPT partition path : 2 /efi.img
GPT partition name : 3 4700610070003100
GPT partname local : 3 Gap1
GPT partition GUID : 3 70e9427b66c1b744b42013c17b268b07
GPT type GUID : 3 a2a0d0ebe5b9334487c068b6b72699c7
GPT partition flags: 3 0x1000000000000001
GPT start and size : 3 6320 75184
APM : N Info
APM block size : 2048
APM gap fillers : 2
APM partition name : 1 Gap0
APM partition type : 1 ISO9660_data
APM start and size : 1 16 1564
APM partition name : 2 HFSPLUS_Hybrid
APM partition type : 2 Apple_HFS
APM start and size : 2 1580 18646
APM partition name : 3 Gap1
APM partition type : 3 ISO9660_data
APM start and size : 3 20226 162
So we have no entry points for BIOS but only for EFI.
Those, nevertheless, are plenty. :))
--------------------------------------------------------------------
Experiment 1: Remove MBR, GPT, APM, and backup GPT.
(by zeroizing the whole ISO System Area and the last 512-block)
cp test-efigrub.iso test.iso
dd if=/dev/zero conv=notrunc bs=512 count=64 of=test.iso
dd if=/dev/zero conv=notrunc bs=512 seek=81551 count=1 of=test.iso
Inspection shows:
El Torito catalog : 1763 1
El Torito cat path : /boot.catalog
El Torito images : N Pltf B Emul Ld_seg Hdpt Ldsiz LBA
El Torito boot img : 1 UEFI y none 0x0000 0x00 5760 140
El Torito img path : 1 /efi.img
xorriso : NOTE : No System Area was loaded
So if this boots, the firmware either really used El Torito,
or it recognizes /efi.img as boot image by some naming rule.
--------------------------------------------------------------------
Experiment 2: Remove El Torito too.
(by moving the Volume Descriptor Set Terminator to the position of
the Boot Record)
# using test.iso as emerged from experiment 1
dd if=test-efigrub.iso bs=2048 count=1 skip=18 | \
dd conv=notrunc bs=2048 count=1 seek=17 of=test.iso
Inspection shows:
Volume id : 'PCBSD_INSTALL'
xorriso : NOTE : No El Torito information was loaded
xorriso : NOTE : No System Area was loaded
If this still boots, then EFI finds /efi.img by miracle.
--------------------------------------------------------------------
Experiment 3: Remove El Torito but keep MBR, GPT, APM.
(by moving the Volume Descriptor Set Terminator to the position of
the Boot Record)
cp test-efigrub.iso test.iso
dd if=test-efigrub.iso bs=2048 count=1 skip=18 | \
dd conv=notrunc bs=2048 count=1 seek=17 of=test.iso
Inspection:
Boot record : (system area only) , MBR protective-msdos-label cyl-align-off
GPT APM
...
Volume id : 'PCBSD_INSTALL'
xorriso : NOTE : No El Torito information was loaded
System area options: 0x00000201
System area summary: MBR protective-msdos-label cyl-align-off GPT APM
ISO image size/512 : 81552
Partition offset : 0
MBR heads per cyl : 64
MBR secs per head : 32
MBR partition table: N Status Type Start Blocks
MBR partition : 1 0x00 0xee 1 81551
GPT : N Info
GPT disk GUID : 70e9427b66c1b744b42113c17b268b07
GPT entry array : 20 176 separated
GPT lba range : 64 81506 81551
GPT partition name : 1 4700610070003000
GPT partname local : 1 Gap0
GPT partition GUID : 1 70e9427b66c1b744b42213c17b268b07
GPT type GUID : 1 a2a0d0ebe5b9334487c068b6b72699c7
GPT partition flags: 1 0x1000000000000001
GPT start and size : 1 64 496
GPT partition name : 2
450046004900200062006f006f007400200070006100720074006900740069006f006e00
GPT partname local : 2 EFI boot partition
GPT partition GUID : 2 70e9427b66c1b744b42313c17b268b07
GPT type GUID : 2 28732ac11ff8d211ba4b00a0c93ec93b
GPT partition flags: 2 0x1000000000000001
GPT start and size : 2 560 5760
GPT partition path : 2 /efi.img
GPT partition name : 3 4700610070003100
GPT partname local : 3 Gap1
GPT partition GUID : 3 70e9427b66c1b744b42013c17b268b07
GPT type GUID : 3 a2a0d0ebe5b9334487c068b6b72699c7
GPT partition flags: 3 0x1000000000000001
GPT start and size : 3 6320 75184
APM : N Info
APM block size : 2048
APM gap fillers : 2
APM partition name : 1 Gap0
APM partition type : 1 ISO9660_data
APM start and size : 1 16 1564
APM partition name : 2 HFSPLUS_Hybrid
APM partition type : 2 Apple_HFS
APM start and size : 2 1580 18646
APM partition name : 3 Gap1
APM partition type : 3 ISO9660_data
APM start and size : 3 20226 162
So if this does not boot, then El Torito is indeed needed
even on USB stick.
--------------------------------------------------------------------
One could also remove APM and/or GPT to lure EFI into GPT or MBR.
All in all 16 combinations of El Torito, MBR, GPT, and APM are
possible. We'd need to zeroize the System Area more selectively
to zapp particular table types.
Have a nice day :)
Thomas
- Does grub-mkrescue support UEFI hybrid USB/DVD images?, Kris Moore, 2015/01/22
- Re: Does grub-mkrescue support UEFI hybrid USB/DVD images?, Vladimir 'φ-coder/phcoder' Serbinenko, 2015/01/22
- Re: Does grub-mkrescue support UEFI hybrid USB/DVD images?, Andrei Borzenkov, 2015/01/23
- Re: Does grub-mkrescue support UEFI hybrid USB/DVD images?, Vladimir 'φ-coder/phcoder' Serbinenko, 2015/01/23
- Re: Does grub-mkrescue support UEFI hybrid USB/DVD images?, Andrei Borzenkov, 2015/01/23
- Re: Does grub-mkrescue support UEFI hybrid USB/DVD images?, Andrei Borzenkov, 2015/01/23
- Re: Does grub-mkrescue support UEFI hybrid USB/DVD images?, Thomas Schmitt, 2015/01/23
Re: Does grub-mkrescue support UEFI hybrid USB/DVD images?, adrian15, 2015/01/23