On Wed, Aug 12, 2020 at 09:21:21AM +0800, Zhichao Gao wrote:
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2823
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2843
> 
> Refer to the UEFI spec 2.8, Section 13.3.2:
> A block device should be scanned as below order:
> 1. GPT
> 2. ISO 9660 (El Torito) (UDF should aslo be here)
> 4. MBR
> 5. no partition found
> 
> But the code implementation is:
> 1. GPT
> 2. MBR
> 3. ISO 9660 (El Torito) (UDF)
> 4. no partition found
> 
> Which would cause the ISO 9960 image with MBR info be treated as MBR
> device. That would cause unexpect behavior. So fix it to follow the spec
> description.
> 
> The fix of the PartitionInstallChildHandle would change the boot behavior
> of Linux ISO image with MBR table. So add it after the order adjustment
> to make no impact of the boot.
> 
> V2:
> 1. Add description of the different behavior between grub boot from MBR path 
> and
> from CD path
> 2. change patch #2 to revert "MdeModulePkg/PartitionDxe: Skip the MBR that 
> add for CD-ROM"

I've tested the following ISO images and all booted as expected.

openSUSE Leap 15.2
SLES 15-SP2
Fedora 32
Ubuntu 20.04

Tested-by: Gary Lin <g...@suse.com>

> 
> Cc: Jian J Wang <jian.j.w...@intel.com>
> Cc: Hao A Wu <hao.a...@intel.com>
> Cc: Ray Ni <ray...@intel.com>
> Cc: Gary Lin <g...@suse.com>
> Cc: Andrew Fish <af...@apple.com>
> Signed-off-by: Zhichao Gao <zhichao....@intel.com>
> 
> Zhichao Gao (3):
>   MdeModulePkg/PartitionDxe: Put the UDF check ahead of MBR
>   MdeModulePkg/PartitionDxe: Revert changes for the special MBR
>   MdeModulePkg/PartitionDxe: Fix the incorrect LBA size in child hander
> 
>  .../Universal/Disk/PartitionDxe/Mbr.c         | 37 +++----------------
>  .../Universal/Disk/PartitionDxe/Partition.c   | 22 ++++++-----
>  2 files changed, 18 insertions(+), 41 deletions(-)
> 
> -- 
> 2.21.0.windows.1
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#64047): https://edk2.groups.io/g/devel/message/64047
Mute This Topic: https://groups.io/mt/76139477/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to