141 – PATCH BOOTX64.EFI TO BOOT A DIFFERENT BCD

If you wish to boot from a FAT32 USB drive containing multiple boot.wim files, the usual way to do this is to modify the UEFI BCD file located at \efi\microsoft\boot\bcd so that the user can choose from a Windows menu.

However, here is a way to patch the BOOTX64.EFI file so that it will load a different BCD file – e.g. BC1 or BC2 or BC3, etc.

This means that you could boot to a grub2 menu (via UEFI) and then select different .EFI boot files, e.g.

\BOOTX64.EFI

\BOOTX64_1.EFI

\BOOTX64_2.EFI

\EFI\MICROSOFT\BOOT\BCD

\EFI\MICROSOFT\BOOT\BC1

\EFI\MICROSOFT\BOOT\BC2

I used a Windows 10 BCD from a Microsoft Windows 10 Install ISO and the \EFI\BOOT\BOOTX64.EFI boot file for test purposes.

1. Make the above file structure using existing BOOTX64.EFI and BCD files

2. Use BootIce (best version is 1.3.4) to load each BCD file (BCD, BC1, BC2, etc. and change the Global and current system settings as follows:

Display boot menu = OFF

No integrity checks = ON

Metro Boot Manager = OFF

Change the File: \sources\boot.wim as required.

3. Click on the Save Globals and Save current system buttons and then Close (for each BCD file)

4. Now we need to patch the other EFI files (the unmodified one will boot using \EFI\MICROSOFT\BOOT\BCD).

\BOOTX64_1.EFI

\BOOTX64_2.EFI

to patch the .EFI files, we must boot to grub4dos.

We can do this by copying these .EFI files onto a grub4dos USB drive (e.g Easy2Boot) and then boot from the USB drive.

set L=\x5c\x00\x42\x00\x43\x00

# replace \BCD with \BC1

cat –locate=%L%D –replace=%L%1 /BOOTX64_1.efi

# replace \BCD with \BC2

cat –locate=%L%D –replace=%L%2 /BOOTX64_2.efi

Tip: You could add this to a grub4dos menu file so you don’t need to type it.

OR – You could instead use a file editor such a WinHex to edit the files directly.

Once this has been done, copy the modified .EFI files back to your grub2 USB drive. We can now boot via UEFI to grub2 and use (for example)

chainloader /bootx64_1.efi

This will load \EFI\MICROSOFT\BOOT\BC1 which we can configure to load any boot.wim file we want.

Note: Test using a real system or a VM set up for Windows 8 or 10 64-bit UEFI booting.

Easy2Boot (E2B) is popular multiboot USB solution that also contains agFM and Ventoy. It supports both Legacy and UEFI.
Simply copy on your bootable ISO files to the E2B USB drive and boot! Boot to DOS, Linux, Windows Install ISOs (XP>Win11),
automate Windows installs, WIM files, VHD files, images of flash drives, Linux ISO+persistence, etc.
E2B is unique in that it uses partition images which allows you to directly boot from Secure Boot images (no need to disable Secure Boot or run MOK manager or modify your UEFI BIOS).

eBooks

The following eBooks (in PDF format) are available from the developer (rated 4.5/5 stars).

Also visit Easy2Boot.xyz and the my blog – please subscribe for the latest news, tips, USB boot articles and news of free eBook updates.