3

I have 2 old-style MBR partitions (non-GPT, non-EFI):

  1. An "active" partition containing Windows 7 OS and its bootmgr - the Windows Boot Manager and its BCD..
  2. The second partition contains an exotic non-Windows OS, which has its own bootloader code in its Partition Boot Record (PBR/VBR) - the 1st sector of the 2nd partition (512 bytes).

I can successfully boot the Exotic OS through the Windows7's Boot Manager (bootmgr) by creating a Boot Menu entry with the following steps:

Copy the first sector of the Exotic OS' partition into the file named `exotic.bin` in the Windows7's filesystem.
Execute:
     bcdedit /create /d ExoticOS /application bootsector  
     bcdedit /set {**guid**} device partition=c:  
     bcdedit /set {**guid**} path \exotic.bin  

However, this method of booting is imperfect because the Exotic OS often updates its own boot sector (in the 1st sector of its own partition) and then the file exotic.bin becomes outdated.

I tried:

bcdedit /create /d ExoticOS /application bootsector
bcdedit /set {**guid**} device partition=\Device\HarddiskVolume2

...and these commands executed successfully, but I do not know how to specify the 1st sector number on this partition.

QUESTION: How to instruct the Windows Boot Manager (bootmgr) to load & execute the Exotic OS' boot sector, DIRECTLY from the 1st sector of the 2nd partition - not from the outdated copy exotic.bin ?

1 Answer 1

1

Execute the following commands at the Windows 7 command prompt:

     bcdedit /create /d ExoticOS /application bootsector  
     bcdedit /set {**guid**} device partition=\Device\HarddiskVolume2
     bcdedit /set {**guid**} path :512
     bcdedit /displayorder {**guid**} /addlast

Where the {* * guid * *} denotes the 32 character GUID in curly braces that has been returned by the bcdedit /create ... command and the \Device\HarddiskVolume2 is the identifier of the partition which has the Exotic OS installed. See this answer for a guide how to find out this partition identifier.
The string :512 means "load the first 512 bytes of the specified partition ...and execute it".

For this to work, you must replace the file bootmgr on your Windows startup partition with the bootmgr available here.

1
  • This method of booting ( chain loading the Volume Boot Records VBRs ) can also work with Windows 8 and 10. However for those versions of Windows, a newer version of the versatile bootmgr file needs to be used. Reply if you need it. Commented Jan 15, 2020 at 2:28

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .