I have an odd issue booting from a flash drive that suspect to be related to a BCD file problem. I'm being too dense to figure it out, wonder if someone with experience in this area has any thought.
As a simple example, let's say that I have partitions on the flash drive, each with one OS like this:
FAT32 Partition
Windows 11 Setup Media
Windows 11 Customized Sysprep Image
Each of these is on a separate partition all by itself. Preceeding the two Windows media partitions is a small 100 MB FAT32 partition. The only reason for this partition is to hold the \efi and \boot folders for the BCD since some UEFI systems won't boot from an NTFS partition.
Note that both of these are different Windows 11 distributions. The first is simply the plain Microsoft consumer editions ISO image. The second holds a couple of customized sysprep images I have made. However, when I choose to boot that customized image, it instead boots the other Windows 11 setup image.
After some experimentation, I've figured out that this happens whenever I have more than one distribution of the same operating system. It seems that it will always boot to the first image of that type in the list. For example, if I had two separate Windows 10 distributions, if would only allow me to boot to the first Windows 10 partition no matter which I select from the boot menu.
I can't help but think that there must be something in the BCD that is responsible, but for the life of me I cannot figure it out.
So long as I put a different OS on each partition, everything is fine. For example, this works flawlessly:
FAT32 Partition
Windows 10 Setup
Windows 11 Setup
Macrium Reflect Boot Disk
Below are two different views of my BCD file. The first is just a standard output of a bcdstore /enum of the relevant BCD, the second is the same BCD store but with verbose output. Anything stand out here?
NOTE: This is only the BCD for booting from a UEFI based system. This particular drive will never be used with a BIOS based system.
systemroot \Windows
resumeobject {8801932e-e70e-4ce9-a7d7-47f8e63192d7}
bootmenupolicy Standard
detecthal Yes
winpe Yes
[/CODE]
As a simple example, let's say that I have partitions on the flash drive, each with one OS like this:
FAT32 Partition
Windows 11 Setup Media
Windows 11 Customized Sysprep Image
Each of these is on a separate partition all by itself. Preceeding the two Windows media partitions is a small 100 MB FAT32 partition. The only reason for this partition is to hold the \efi and \boot folders for the BCD since some UEFI systems won't boot from an NTFS partition.
Note that both of these are different Windows 11 distributions. The first is simply the plain Microsoft consumer editions ISO image. The second holds a couple of customized sysprep images I have made. However, when I choose to boot that customized image, it instead boots the other Windows 11 setup image.
After some experimentation, I've figured out that this happens whenever I have more than one distribution of the same operating system. It seems that it will always boot to the first image of that type in the list. For example, if I had two separate Windows 10 distributions, if would only allow me to boot to the first Windows 10 partition no matter which I select from the boot menu.
I can't help but think that there must be something in the BCD that is responsible, but for the life of me I cannot figure it out.
So long as I put a different OS on each partition, everything is fine. For example, this works flawlessly:
FAT32 Partition
Windows 10 Setup
Windows 11 Setup
Macrium Reflect Boot Disk
Below are two different views of my BCD file. The first is just a standard output of a bcdstore /enum of the relevant BCD, the second is the same BCD store but with verbose output. Anything stand out here?
NOTE: This is only the BCD for booting from a UEFI based system. This particular drive will never be used with a BIOS based system.
Code:
Windows Boot Manager
--------------------
identifier {bootmgr}
description Windows Boot Manager
locale en-US
inherit {globalsettings}
default {default}
displayorder {default}
{77d49df3-5873-433c-8b52-72d291c7469d}
toolsdisplayorder {memdiag}
timeout 30
displaybootmenu Yes
Windows Boot Loader
-------------------
identifier {default}
device ramdisk=[E:]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
path \windows\system32\boot\winload.efi
description Windows 11 Setup
locale en-US
inherit {bootloadersettings}
isolatedcontext Yes
osdevice ramdisk=[E:]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
systemroot \windows
bootmenupolicy Standard
detecthal Yes
winpe Yes
ems No
Windows Boot Loader
-------------------
identifier {77d49df3-5873-433c-8b52-72d291c7469d}
device ramdisk=[F:]\sources\boot.wim,{ramdiskoptions}
path \Windows\system32\boot\winload.efi
description Windows 11 Sysprep Editions
locale en-US
inherit {bootloadersettings}
{globalsettings}
osdevice ramdisk=[F:]\sources\boot.wim,{ramdiskoptions}
[CODE]
Windows Boot Manager
--------------------
identifier {9dea862c-5cdd-4e70-acc1-f32b344d4795}
description Windows Boot Manager
locale en-US
inherit {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
default {7619dcc9-fafe-11d9-b411-000476eba25f}
displayorder {7619dcc9-fafe-11d9-b411-000476eba25f}
{77d49df3-5873-433c-8b52-72d291c7469d}
toolsdisplayorder {b2721d73-1db4-4c62-bf78-c548a880142d}
timeout 30
displaybootmenu Yes
Windows Boot Loader
-------------------
identifier {7619dcc9-fafe-11d9-b411-000476eba25f}
device ramdisk=[E:]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
path \windows\system32\boot\winload.efi
description Windows 11 Setup
locale en-US
inherit {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
isolatedcontext Yes
osdevice ramdisk=[E:]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
systemroot \windows
bootmenupolicy Standard
detecthal Yes
winpe Yes
ems No
Windows Boot Loader
-------------------
identifier {77d49df3-5873-433c-8b52-72d291c7469d}
device ramdisk=[F:]\sources\boot.wim,{ae5534e0-a924-466c-b836-758539a3ee3a}
path \Windows\system32\boot\winload.efi
description Windows 11 Sysprep Editions
locale en-US
inherit {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
{7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
osdevice ramdisk=[F:]\sources\boot.wim,{ae5534e0-a924-466c-b836-758539a3ee3a}
systemroot \Windows
resumeobject {8801932e-e70e-4ce9-a7d7-47f8e63192d7}
bootmenupolicy Standard
detecthal Yes
winpe Yes
resumeobject {8801932e-e70e-4ce9-a7d7-47f8e63192d7}
bootmenupolicy Standard
detecthal Yes
winpe Yes
[/CODE]
My Computers
System One System Two
-
- OS
- Win11 Pro 22H2, Moment 2
- Computer type
- PC/Desktop
- Manufacturer/Model
- Home Built
- CPU
- Intel i7-11700K
- Motherboard
- ASUS Prime Z590-A
- Memory
- 128GB Crucial Ballistix 3200MHz DRAM
- Graphics Card(s)
- No GPU - CPU graphics only (for now)
- Sound Card
- Realtek (on motherboard)
- Monitor(s) Displays
- HP Envy 32
- Screen Resolution
- 2560 x 1440
- Hard Drives
-
1 x 1TB NVMe Gen 4 x 4 SSD
1 x 2TB NVMe Gen 3 x 4 SSD
2 x 512GB 2.5" SSDs
2 x 8TB HD
- PSU
- Corsair HX850i
- Case
- Corsair iCue 5000X RGB
- Cooling
- Noctua NH-D15 chromax.black cooler + 10 case fans
- Keyboard
- CODE backlit mechanical keyboard
- Mouse
- Logitech MX Master 3
- Internet Speed
- 1Gb Up / 1 Gb Down
- Browser
- Chromium Edge
- Antivirus
- Windows Defender
- Other Info
-
Additional options installed:
WiFi 6E PCIe adapter
ASUS ThunderboltEX 4 PCIe adapter
-
- Operating System
- Win11 Pro 22H2, Moment 2
- Computer type
- Laptop
- Manufacturer/Model
- HP Spectre x360 15-BL012DX
- CPU
- Intel i7-7500U
- Memory
- 32GB
- Graphics card(s)
- Dual Intel HD 620 and Nvidia GeForce 940MX
- Sound Card
- Built-in Realtek HD Audio
- Monitor(s) Displays
- 4k 15-inch
- Screen Resolution
- 4k (3840 x 2160)
- Hard Drives
- 1TB Seagate FireCuda 510 NVMe SSD
- Internet Speed
- 1Gb Up / 1Gb Down
- Browser
- Chromium Edge
- Antivirus
- Windows Defender
- Other Info
- RAM Upgraded from 16GB to 32GB WiFi Upgraded from WiFi 5 to WiFi 6 SSD upgraded from 512GB NVMe SSD to 1TB Seagate FireCuda 510 NVMe SSD