1

I am tasked with upgrading a number of machines to Windows 11. However, some accounting software refuses to work on Windows 11. This is why I need to offer a Windows 10 installation as well. When doing remote administration, I can wake up the system and it will perform a PXE boot (giving me the option to boot into any system remotely). I can chainload bootmgfw.efi which will then continue into one of the Windows installations. It would be very helpful if I had control over which Windows installation is being booted. This article gives a nice overview of the Windows boot procedure in UEFI (via this question).

When examining the efivars, I noticed that bootmgr seems to accept a parameter named BCDOBJECT. It looks like one can specifiy the UUID of the BCD entry bootmgr is to boot. This mechanism apparently is used to start Windows Recovery. However, I found no clear source of documentation regarding this feature, not even in this detailed post. Is there any option to tell bootmgfw.efi which BCDOBJECT to use via UEFI?

Related questions on askubuntu: https://askubuntu.com/questions/1192128/booting-multiple-copies-of-windows-via-grub and https://askubuntu.com/questions/1328223/getting-rid-of-the-windows-boot-manager-when-dual-booting/1328229
A similar question: Make Linux GRUB run directly multiple Windows systems

4
  • Does the software not work in Compatibility Mode? While I can't answer your question, if you add both to the BCD Store, the Windows bootloader will give a 30s boot selection menu when the Windows bootloader loads. I've never tried PXE boot, so the following may not be helpful: BCDOBJECT and BcdEdit /Set
    – JW0914
    Commented Apr 26, 2022 at 12:38
  • I have had no success with compatibility mode. The Software obtains it license from a USB dongle. It seems that it won't work with Windows 11 and also not with VMs. The boot selection menu is very handy for selecting the system – but it requires local user interaction. However, quite often I am not even in the same city when doing administrative tasks remotely. Of course, I can boot a random system and if it is the wrong one, change the default, then reboot. Though that is rather cumbersome.
    – Hermann
    Commented Apr 26, 2022 at 18:10
  • This may be a remedial question - does booting WinPE via PXE boot not allow using BcdEdit /Set to boot to the OS version installed? This may be more convoluted, but if not, can be automated by editing WinPE's Windows\System32\StartNet.cmd to run a script stored within WinPE's boot.wim to set the OS version to boot to via BcdEdit /Set, then reboots via wpeinit reboot (modify StartNet.cmd and add script by mounting WinPE boot.wim via Dism /Mount-Image)
    – JW0914
    Commented Apr 27, 2022 at 12:08
  • @JW0914 Convoluted indeed – but automatable. I would take that as an okay-ish answer. :)
    – Hermann
    Commented Apr 27, 2022 at 17:42

0

You must log in to answer this question.

Browse other questions tagged .