How to move BCD Boot manager files in Vista to another partition

Discussion in 'Windows Vista General Discussion' started by hnyman, Aug 25, 2008.

  1. hnyman

    hnyman Guest


    I have Vista32 in my PC, and after some new hardware related crashes I
    decided yesterday to completely restore Vista partition from backup with
    Acronis. However, in the middle of the restore from USB HDD, the backup
    complained about faulty archive and I ended up with no working C: partition.
    I reinstalled Vista from DVD and also all the programs. The loss of the
    Vista OS partition was not that hard, as all my personal data is on D: and
    E: on the same drive.

    However, as the reinstall started from a situation, where there was empty
    space instead of C:, I realized only after the install that Vista had set
    the BCD boot files to D: (the first existing partition at installation
    start), while the operating system is quite correctly installed to the
    recreated C:.

    The PC works just fine, but I do not like mixing the pure "data partition"
    D: with the boot sequence. I also realized with the reinstall to have
    destroyed C:, that having the BCD data on the OS partition may be
    problematic at some times. Although everything works now just fine, I would
    like to transfer the BCD data either to C: or, maybe even better, to a small
    2 GB partition S: created for that purpose.

    Thus, the status was:

    C: Boot, Page file, etc. (contains actual Vista OS)

    D: System, Active (contains the BCD boot manager files) and my data

    E: data

    S: empty (2 GB)

    All partitions are primary partitions, and formatted with NTFS.

    I looked for advice transferring the BCD data to another partition, but did
    not found complete advice, and thatswhy I am writing this message as a guide
    for others.

    The following pieces of information proved useful:

    Defines the requirements for a 'System' partition. It sounds like I need
    :copy the correct BCD files to S: and mark that S: partition active. Would
    that be enough?

    Sounds working, but requires boot with Vista DVD. Or does it actually?

    Step Three 'Manual Repair' and Four 'Nuclear holocaust' might work. Creating
    a new store on S:, and then copying the files there, and then marking the
    partition active. BCDEDIT export and then modify...

    Or might this actually work by using the official commands? This message
    here brought the light for me:


    Based on this article, it sounds like it is possible to set one attribute by
    time (memory tester, etc.) to a certain disk volume (S: in my case),
    provided of course that the needed files are there.

    So, if

    1) the other files (bootmgr, bootsect.bak and \boot-directory's files) are
    copied to S:

    2) current BCD system store is exported to S:

    3) the function pointers in that new store file (boot manager, memory
    tester, legady OS loader) are one by one set by using BCDEDIT to point to
    the newly copied files on volume S: instead of D:

    4) Vista Boot sector is copied to S: using Vista DVD media and 'BOOTSECT
    /NT60 S: /FORCE' command from that DVD while still in normal Vista. (This
    part should be done from repair console command prompt of booted Vista DVD
    if the target disk has the operating system (C: for me) or is otherwise used
    by Vista. Instead 'S:' also 'ALL' can be used to force the boot sector to be
    copied to all partitions.)

    5) Active bit in partition table is changed to S: before rebooting by using
    DISKPART or Disk Management console

    Might even work. or how?

    Based on the previous thoughts, I wrote the needed commands to be done after
    the other (non-locked) files are copied:

    After copying the non-locked other BCD files to the new partition,

    first the system store is exported to S:,

    then the references in that store file to partition D: are replaced by
    references to S:,

    then the contents are printed out just for verification, just in case

    then the boot sector was copied from DVD to S:

    and finally DISKPART is used to mark the S: as active.

    Then a simple reboot.

    IT WORKED!!!

    Now I have S: as Active & System containg the BCD files, and D: is just a
    normal data partition.

    So, this is a way to move Vista BCD boot manager data to another partition,
    using only Microsoft's own tools for the transfer and remaining inside a
    normally running Vista. The Vista DVD media is needed at just one point for
    running the BOOTSECT command from the media. Requires knowledge and careful
    operations, but can be done.
    hnyman, Aug 25, 2008
    1. Advertisements

  2. Many MANY thanks for this post !

    This saved me from another Vista install.:

    Damn the developer that wrote the installer, as I had many problem
    with a brand new laptop and Vista install on it

    The Illusionist, Nov 10, 2008
    1. Advertisements

  3. hnyman

    saber0091 Guest

    That's great dude, cheers on figuring it out. It's interesting to se
    your process, and I hope that you are still following this threa
    because I would be immensely grateful if you could condense all of tha
    long post into a simple how-to from start to finish. It's a bit hard t
    follow you in some places
    saber0091, Jul 14, 2009
  4. hnyman

    Bill Daggett Guest

    You hope the person is still following the thread AFTER NEARLY A YEAR
    has passed AND that person has solved the problem?

    You then have the balls to ask that person to re-write his post that
    listed what he did to correct the problem because you are having a
    problem following it?

    You're a complete freaking idiot.
    Bill Daggett, Jul 14, 2009
  5. hnyman

    saber0091 Guest

    And you, sir, are horribly impolite, mister Bill Daggett
    saber0091, Jul 14, 2009
  6. He was certainly impolite, but he does have a point.
    Gene E. Bloch, Jul 14, 2009
  7. hnyman

    s0121 Guest

    Great - my {bootmgr} shows
    Windows Boot Manager
    identifier {bootmgr}
    device unknown
    description Windows Boot Manager

    How do I rename it to partition=C:

    Many thanks
    s0121, Aug 6, 2009
  8. hnyman

    SIW2 Guest


    I have done this numerous times and it always worked for me.

    To change System partition ( if it is on the same HD as existing System

    To change it to C:

    1. Copy and paste bootmgr and pale yellow boot folder from existing
    system partition to C:

    (You get a message bcd is in use and can't be copied - skip it and copy
    the rest.)

    2. Open an elevated cmd and type :

    bcdedit /export C:\Boot\bcd {enter}

    3. In Disk Management , mark C Active. Reboot to hand system status to

    That's it.

    Afaik it doesn't matter where bcd declares bootmgr is - the bootsector
    code on the Active partition does not parse the bcd store - it will
    always hand control to bootmgr on that same Active partition.

    If you wish to change it for completeness:

    bcdedit /set {bootmgr} device partition=C:

    Hope it helps

    SIW2, Aug 6, 2009
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.