Zhichao, Can you also add notes in the commit message describing that for some ISOs (better with more specific ISO info), the MBR information is not correct?
Thanks, Ray > -----Original Message----- > From: Gao, Zhichao <zhichao....@intel.com> > Sent: Tuesday, August 11, 2020 2:43 PM > To: devel@edk2.groups.io > Cc: Wang, Jian J <jian.j.w...@intel.com>; Wu, Hao A <hao.a...@intel.com>; Ni, > Ray <ray...@intel.com>; Gary Lin > <g...@suse.com>; Andrew Fish <af...@apple.com> > Subject: [PATCH 1/3] MdeModulePkg/PartitionDxe: Put the UDF check ahead of MBR > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2823 > > Refer to 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) > 3. MBR > 4. no partition found > Note: UDF is using the same boot method as CD, so put it in > the same priority with ISO 9660. > > This would also solve the issue that ISO image with MBR would > be treat as MBR device instead of CD/DVD. That would make the > behavior of the image boot different. > > 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> > --- > MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c > b/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c > index 6a43c3cafb..473e091320 100644 > --- a/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c > +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c > @@ -35,11 +35,19 @@ EFI_DRIVER_BINDING_PROTOCOL gPartitionDriverBinding = { > > // > // Prioritized function list to detect partition table. > +// Refer to UEFI Spec 13.3.2 Partition Discovery, the block device > +// should be scanned in below order: > +// 1. GPT > +// 2. ISO 9660 (El Torito) (or UDF) > +// 3. MBR > +// 4. no partiton found > +// Note: UDF is using a same method as booting from CD-ROM, so put it along > +// with CD-ROM check. > // > PARTITION_DETECT_ROUTINE mPartitionDetectRoutineTable[] = { > PartitionInstallGptChildHandles, > - PartitionInstallMbrChildHandles, > PartitionInstallUdfChildHandles, > + PartitionInstallMbrChildHandles, > NULL > }; > > -- > 2.21.0.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#63973): https://edk2.groups.io/g/devel/message/63973 Mute This Topic: https://groups.io/mt/76121500/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-