Move bootloader to another disk

tom poes

Senior Member
#1
Hi,

I recently installed Windows 7 home premium 64-bits. I upgraded it from a Windows vista business 32-bits. That was not trivial, but it worked fine. Problems came when a driver "classpnp.sys" made the system halt. Repair programs did not work until I copied another file over the driver and a repair. So far, so good.

My system works! I have a multiple boot with Kubuntu 64-bits and Windows 7 64-bits living nicely together! Also I have a Ubuntu which is not upgraded yet. Before I do that I wanted to make a backup of the Windows Image. To my surprise however windows 7 want not only a backup from C-drive, but also from L: :confused: That L-drive is a big data drive with movies. I want to backup that seperately, not together with the windows system drive (C: ) . This here is a listing from bcdedit using powershell (in admin mode)

Code:
Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=L:
path                    \bootmgr
description             Windows Boot Manager
locale                  en-US
default                 {current}
displayorder            {current}
timeout                 30

Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             Windows 7 Home Premium (recovered)
locale                  en-US
recoverysequence        {c54b8dee-d786-11de-be76-97969b21e55f}
recoveryenabled         Yes
osdevice                partition=C:
systemroot              \Windows
resumeobject            {d7f165e9-d9f8-11de-a08b-806e6f6e6963}
As you can see the bootmgr is on L: while the system is on C. I gather this the reason windows 7 want to backup both disks. The reason is probably that my drives are remapped. Drive letters on the windows repair CD are different from those on a running system. Physically L is the first harddisk as DISKPART shows.

Code:
DISKPART> list volume

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0     F                       DVD-ROM         0 B  No Media
  Volume 1     G                       DVD-ROM         0 B  No Media
  Volume 2     L   ISOTALO      NTFS   Partition    931 GB  Healthy
  Volume 3     C   WINDOWS7     NTFS   Partition     50 GB  Healthy    System
  Volume 4     D   USER         NTFS   Partition    346 GB  Healthy
  Volume 5     X   XDRIVE       NTFS   Partition    931 GB  Healthy
C and D are separate partitions on the same disk (there 2 others for Ubuntu there, but that is not relevant now).

I want to move bootmgr and \Boot directory to C. I can do that physically (in Ubuntu), but windows 7 does not seem to recognize the fact and a seperate backup of C and L remains impossible. Another weird thing. I can give

Code:
bcdedit /enum or 
bcedit /enum all
command. But that's all I can do working under windows 7 (even with admin rights).

HOW can I move the boot loader from L to C???
 


Last edited:
#2
The bootmanager files use a guid number to identify a hard drive. So you can't copy the bootmanager files (bcd) to another drive because they will seek out the drive they were copied from. This is why cloning is a thousand times better than a backup or diskcopy. Cloning software such as True Image, fixes the bootmanager so that you can boot into the backup drive.

Companies who set up a lot of systems use a special migration tool that also does this fix after the standard image is put on the drive. User State Migration Tool | Migrate User Profiles | Windows 7

I *think* you can make a disk copy... then remove the primary drive so that only the drive with the copy is in the system... then boot to the install disk and run the three bootrec commands to rebuild the boot files and get the guid numbers reset.

You *may* have an option to edit your drive letter with easybcd, but I have seldom had success using it.
Here is a section from my website Windows 7 Tweaks, Tricks, Tips, Secrets, Shortcuts, Solutions and Fixes for adding options to the boot menu that may make it more clear.



It's easy set up a multi-boot menu (only 3 commands) to boot directly into your
backup drive without the need to modify your bios boot sequence twice (to set
the boot priority and then reset it back to your primary drive.)


First this is VERY IMPORTANT: make a backup of your bcd file first on your
primary hard drive. (That is the file the multi-boot menu options are stored
in.) (BcdEdit.exe is on your Win 7 install cd - Also if you search your
windows\winsxs folder you'll find it deep inside and can copy and paste it to
another folder where it's easier to access. If you can't find BcdEdit.exe then
you probably shouldn't be doing this anyway.)


From a command prompt (in the FOLDER where you copied BcdEdit.exe) type and enter:


BcdEdit /export c:\savedbcd


If you mess up, you can always undo changes with this command:


BcdEdit /import c:\savedbcd


Here are the 3 commands to run from the command prompt ...to set up your multi-
boot menu to access your backup hard drive. You can copy these commands from
here and paste them to your command prompt window with a right click / paste.


BcdEdit /copy {current} /d "Backup Drive"


You will get this message with DIFFERENT guid numbers

The entry was successfully copied to {bda1ead3-8577-11de-883c-00226808ae4c}
^^^^^^^^^^^^^^^^^^^^^^^^^^^


Use YOUR guid number (including {} )in the 2 following commands and use YOUR
backup drive letter, mine is E:

NOTE! If you install an additional hard drive in
your system, it may change your backup drive LETTER and your multi-boot menu
option (to load your backup drive) will not function. You can still modify your
bios boot sequence to boot into your backup drive or repeat this process using
the correct drive letter... or when/if you remove the drive you added the multi-
boot menu will be correct again. It also may be possible to set the priority of
your 1st 2nd and 3rd hard drive in the bios --under hard drives -- not boot
sequence. Not all bios-es support this.


Note: It is easier to right click in your Command Prompt window and select
"Mark" and highlight YOUR guid number then press ENTER to copy it. Then CTRL + V
to paste it to the command below where it says "YOUR GUID NUMBER" Then copy and
paste the entire command - including YOUR drive letter - to your command prompt
and press enter.


BcdEdit /set { YOUR GUID NUMBER } osdevice partition=E:


Use up arrow key and set the description after your guid number:


BcdEdit /set { YOUR GUID NUMBER } description "Backup Drive"


That's it! You can run Msconfig and look under "Boot" and see your entry. If you
make mistakes with the numbers, BcdEdit will complain... and if there is
something you don't like about the description or you made a mistake with the
drive letter or it doesn't work when you test it later, you can simply delete
your entry in Msconfig/boot and try again.


<P>~~~~~


You can also set up your multi-boot menu to offer the option to boot to a
command prompt (instead of loading Windows.) Just insert a USB flash drive and
use it's drive letter in the steps above. (Name it: Command Prompt) You don't
need any files or folders on the USB and after you run the BcdEdit commands you
can even remove it.... and windows will go into restore mode when no os is
found. (You only need a valid drive letter when you run the BcdEdit commands. An
SD disk will probably work just as well.) When you BOOT into your "Command
Prompt" from your multi-boot menu, you will enter the repair mode. Cancel System
Repair and go to Advanced System Restore, click Next and Ok then select Command
Prompt. (Somewhere in there, Shift + F10 may go directly to the command prompt
too... I'm getting a headache about now.)


If you boot to the command prompt (using THIS method) it's faster and much
easier than going into your bios to configure the boot sequence to boot from
your dvd, then changing it back. As you know, at this command prompt (rather
than the one that opens when you are running Windows) you will circumvent the
protections that Windows applies to lock/hide files (to keep one user from
viewing another user's data, etc.) When Windows is loaded you'll get at least
100 file protection errors if you simply try to xcopy the user's profiles to
another drive. If you boot to a command prompt from the multi-boot menu, (or
from the install disk) you can copy anything/everything.


Note: ANOTHER method to create a bootable USB drive is to use the "Backup" tool
in Win 7 and select "Create a system repair disk" Then make the disk and copy
all the files (hidden and system) to a USB drive. This USB setup WILL boot to
the repair mode (on it's on) when the bios priority is set to USB.
 


tom poes

Senior Member
#3
Thanks for the extended post. I will try to work it out. When I find a solution I will post it here.
 


This website is not affiliated, owned, or endorsed by Microsoft Corporation. It is a member of the Microsoft Partner Program.