I'm setting up a deployment system for our devices to set them up before we ship to customers.

I have three partitions, first is OS partition, second is Vistas recovery WinRE, third is a linux partition with a hardware test on it. It boots from the OS partition as standard and when you press f8 during boot up it boots WinRE partition.

I would now like to add so that it boots the linux partition by pressing f10 or similar. I can add it as a dual-boot option with bcdedit.exe but I've not succeeded in getting Windows boot manager to boot this partition if f10 is pressed.

When reading a white paper on setting up Vista recovery WinRE, there is a mention of this Custom Launch Mechanism with F10 but they don't explain how to set it up and I've not managed to find anything about that.

So how do you setup f10 to boot a specific boot option in Windows boot manager. /Ola

  • What scan code did you specify for your Linux partition when using bcdedit? Scan code meaning the keyboard key. – Jack B Nimble Sep 15 '09 at 15:52
  • That is exactly what I didn't know how to do, now that I know what it's called I found some white papers on this issue and I think I can solve it now, thank you! – Ola Sep 16 '09 at 11:13

Nothing I have read in here, here, or here suggests that you can use a key to choose a line in the boot manager.

I am inclined to believe that the Custom Launch Mechanism is just as the name suggests, it is used to customize Vista's launch process.

For instance, you start the Vista boot and press F10, which might be used to trigger kernel debugging mode, a recovery sequence, or some other special thing while Vista is booting.

You can configure the boot manager to bring up the menu of boot items, so that you can choose between Vista or Linux, and you can adjust the default item and the timeout for selection.


So thanks to the comment from Jack I found the solution. The steps below explains how I setup a linux partition and made it bootable by pressing f10 during startup.

  1. Copy files from a linux live cd, to a fat32 partition (I call mine T:)
  2. Make a bootsector by using syslinux, (T:\sysl\win32\syslinux.exe -f T: T:\boot.bin)
  3. Add this bootsector to Vista bcd
    1. bcdedit -create /d "linuxpart" /application BOOTSECTOR, this returns a GUID that you're supposed to use in the next commands
    2. bcdedit -set GUID device Partition=t:
    3. bcdedit -set GUID path \boot.bin
  4. Add custom action for booting this bootsector when scan key has been pressed
    1. bcdedit -set {bootmgr} custom:0x0000000054000001 GUID
    2. bcdedit -set {bootmgr} customactions 0x0001000044000001 0x0000000054000001


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.