a1ive / grub2-filemanager

GRUB2-based file manager
https://a1ive.github.io/grub2-filemanager/
GNU General Public License v3.0
524 stars 106 forks source link

Legacy mode winPE not booting #102

Closed steve6375 closed 4 years ago

steve6375 commented 4 years ago

ISO has \bootmgr and \boot\boot.sdi and does boot OK using Easy2Boot option.

image image

steve6375 commented 4 years ago

I think issue is because of case-sensitive in distro/win.sh

/Boot/boot.sdi is used in ISO.

image

better to use bootmgr and boot.sdi from (wimboot) loopback rather than (loop)? or remove filename case sensitivity?

or maybe

if not exist (loop)/xxxx then use (wimboot)/xxxx file instead ?

a1ive commented 4 years ago

remove filename case sensitivity?

I have no idea how to make ntfs/iso case insensitive in grub2.

steve6375 commented 4 years ago

I don't either.

maybe test a few cases but default to using (wimboot)

set bootdir=boot;
if [ -d (loop)/Boot ] ; then set bootdir=Boot ; fi
if [ -d (loop)/BOOT ] ; then set bootdir=BOOT ; fi
set bootsdi=(wimboot)/boot.sdi
set s=(loop)/${bootdir}/boot.sdi
if [ -f ${s} ] ; then set bootsdi=${s} ; fi
set s=(loop)/${bootdir}/Boot.sdi
if [ -f ${s} ] ; then set bootsdi=${s} ; fi
set s=(loop)/${bootdir}/BOOT.sdi
if [ -f ${s} ] ; then set bootsdi=${s} ; fi
set s=(loop)/${bootdir}/BOOT.SDI
if [ -f ${s} ] ; then set bootsdi=${s} ; fi
echo bootsdi=$bootsdi
read

and same for bootmgr ?

steve6375 commented 4 years ago

I guess same could also apply to \sources\boot.wim ?? May be \Sources or \SOURCES or Boot.wim or BOOT.WIM ??

a1ive commented 4 years ago

It seems that all ms windows installation iso use lower case names.

steve6375 commented 4 years ago

DLC WinPE ISO, HBCD PE ISO, WinPESE ISO all use \Boot not \boot.

but they do have \sources\boot.wim (all lower case)

With WinPE ISOs and non-MS All-in-One Windows install ISOS, it will just depend on how they are authored/made. I have opened many WinPE ISOs and all seem to use lowercase \sources\boot.wim so will close this issue. Updated version works on WinPEs now. Thanks!