Windows 7 has an ability to boot from alternative sources besides plain disk partitions - for example it can boot natively from VHD or WIM.

Is the handling of above mentioned formats hardcoded into the bootloader, or perhaps there is a way to "plug-in" a support for additional formats by providing a virtual disk driver? If yes, any details on how can it be done? Thank you.

PS - for those requesting to close the post - read it carefully till the end. I'm not asking for a steps of how to accomplish it using existing software, but rather how to code a piece of software that allows to boot from an OS image in a proprietary format.

  • 1
    I'm not sure if you understand the boot process. How would the bootloader load your device driver, given that it needs that device driver to read the disk holding your dvice driver? That's a chicken-and-egg problem. The bootloader itself is exempt from the problem because it's loaded by the BIOS/UEFI
    – MSalters
    Aug 13 '12 at 8:36
  • The driver may reside on the ordinary partition just like the Bootmgr, not in the image. You may call it not "driver", but "Bootmgr plugin". Does it make sense now?
    – Isso
    Aug 13 '12 at 11:23

You’d need to code an special Bootmgr able to deal with the format you want to support. (As somehow mentioned before) at the time Bootmgr is in charge the concept of “driver” does not exist yet. i.e. when loading a WIM it’s the Bootmgr who understand the wim format w/o relying on any driver. As you can surely understand Bootmgr is closed source then making your own Bootmgr able to handle an additional format it is going to be a least a very demanding reverse engineering task.

  • Thank you. "at the time Bootmgr is in charge the concept of “driver” does not exist yet" - I didn't mean an ordinary kernel mode driver, but rather a plug-in that would allow bootmgr to boot from alternative image format. Considering that WIM and VHD are quite different formats, and in the future there may be more - that would make sense. Anyway looks like there is no such functionality available and you are right that a new bootmgr should be coded.
    – Isso
    Aug 25 '12 at 16:59

This type of driver is called a boot-start driver. You'll need the DDK to build one.

  • What your link describes is an ordinary driver that starts at boot time. Such drivers are loaded by winload.exe. These are not loaded by Bootmgr
    – Isso
    Aug 13 '12 at 20:03
  • So? If Microsoft decided that Winload loads the first disk drivers, then obviously Bootmgr doesn't. It's not like Microsoft is going to build that functionality twice just because they can.
    – MSalters
    Aug 14 '12 at 6:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.