Sunday, 18 May 2014

grub4dos, Clover, UEFI-booting and NTFS - Tutorial 122

Tutorial 122 on www.rmprepusb.com

This new Tutorial allows you to have 64-bit Windows Install files (e.g. large All-In-One) on an NTFS partition and boot to it using Clover via a grub4dos menu.

Partition 1 = FAT32 grub4dos files, etc.
Partition 2 = NTFS containing Win7/8 AIO 64-bit installer files

Partition 1 MUST NOT contain a \EFI\BOOT\bootx64.efi file.
Partition 2 MUST contain both  \EFI\BOOT\bootx64.efi and \Sources\Setup.exe.

When you boot to grub4dos, you can choose to boot to whatever payload you have in the FAT32 partition (e.g. ISOs, Hirens, etc.) as usual.

To boot to the Win7/8 64-bit NTFS partition, run the Clover grub4dos option and then choose the EFI Shell 64-bit icon to get to the EFI shell. Then type WIN to boot to the NTFS \EFI\BOOT\bootx64.efi UEFI boot file to run Windows 64-bit  Setup in UEFI mode.

What happens is that when you boot to the UEFI shell from Clover, it runs startup.nsh which loads an NTFS driver. When you type WIN it runs win.nsh which looks for the Windows installer files on the NTFS volume and then boots to the \EFI\BOOT\bootx64.efi file.

There will also be a menu entry to boot from the NTFS Windows installer in MBR\CSM mode.

STARTUP.NSH

# UEFI Shell script to load NTFS driver and map new drives
echo -OFF
FOR %a IN fs0 fs1 fs2 fs3 fs4 fs5 
If exist %a:\Clover\NTFS.efi then
load %a:\Clover\NTFS.efi
endif
endFor
cls 1
echo " "
echo "TYPE WIN - to UEFI-boot from the volume containing \autorun.inf"
echo " "
# map the newly discovered drives (this script file path will be lost!)
map -r


WIN.NSH

@echo -OFF
FOR %b IN fs0 fs1 fs2 fs3 fs4 fs5 fs6 fs7 fs8 fs9 fs10
cd %b:
%b:
IF exist \sources\setup.exe then
goto act
endIF
endFOR

:err
cls 4
ECHO "Unable to locate \EFI\BOOT\bootx64.efi or \Sources\Setup.exe"
ECHO "Please check if windows installer has a EFI\BOOT\BootX64.efi"
goto xx

:act
IF NOT EXIST \EFI\BOOT\bootx64.efi THEN
goto err
ENDIF

cls 2
echo " "
echo "Found \EFI\BOOT\bootx64.efi"
echo "Press ENTER to UEFI boot or q to Quit"
echo " "
pause
cd efi\boot
bootx64.efi

:xx

For details of how to add Clover to your existing grub4dos menu - see Tutorial 122 here.

The MPI_Clover_Pack_Lite_003.zip download (Alternate Download Area) also includes these files.