Wednesday, November 7, 2007

Moving the System Partition in Vista

I recently ran into problems when I tried to remove an old hard drive from my system. Unknowingly when installing Vista it somehow choose that old hard drive as the right place to put the system partition and not my shiny new drive (on which the Vista installation resided anyway). So when removing the old disc I could no longer boot. This is how to solved that problem:

Symptoms:
You can easily check if your system partition resides on the disc you want to remove by either checking in the partition manager if that disc is marked with "system partition" or by checking if the disc contains the hidden bootmgr file and boot folder in the root folder and your other disc does not.

Solution:
We have to make the right disc bootable by copying the correct boot management data from the old disc.
Follow the instructions from here to copy all relevant data. What will most likely fail though is copying the BCD files from the boot folder. We have to use "bcdedit" to do that. Simply go to the command prompt in the C:/boot folder of the disc you want to boot from (if not C: change accordingly) and enter "bcdedit /export BCD". This should copy all relevant boot management data. Now you should have all you need and can try booting from that disc.
If the boot was successful run "bcdedit" again, if an error message is displayed copy the "BCD" files (including the BCD.log) files from the old disc to the new one and you should encounter no further problems while happily booting without your old disc.
Good luck

Submit this story to DotNetKicks