I'm trying to clone my Windows 7 computer to a larger SSD. Using GPARTED, I have:

  • Written a 'MSDOS' partition table to the new disk.
  • Cloned the 100MB "System Reserved" partition.
  • Cloned the larger partition and expanded it to fill the larger disk.
  • Set the "boot" flag on the 100MB partition.

When it didn't boot at all, I realised I had a MBR problem, and used HIREN's BOOT-CD to write a MBR.

Now, when I boot it, I get a message "the boot selection failed because a required device is inaccessible". I have a feeling that this is something to do with "BCD". However, when I use HIREN, both bcdedit and bcdboot are missing from the MINI-XP, and if I try to run the programs from the (cloned) WIN-7 partition, it complains that " is not a valid WIN32 application". Additional information: If I use BellaVista on the Hiren Boot-CD, it won't let me do anything because there are no valid configurations, and it doesn't seem to let me just create one. Also, if I use MBRWiz on the Hiren Boot-CD, it tells me that the 100MB partition is C: and the large partition is I: and indeed, I can access everything on I: as it should be.

Please, can anyone tell me what I'm missing, and give me a hint how to fix it? I would PREFER not to just give up and use Acronis/Clonezilla etc., or find a Windows 7 disc and do a "repair" because I want to understand what's going on.

EDIT: further to my question, I gave up and used a Win7 installation disc to "repair" my installation. It was slightly informative in that, the windows boot manager was set up so that the entry called "Windows 7" had an entry that said "Windows Device: Partition not found" and that to repair it, it had added the entry "Partition = D:". This doesn't make a lot of sense because when it boots, the Windows installation is on the C: drive, but whatever! Anyway, although my computer is now working, I would love for someone to tell me how I could have done this more cleanly, without having to resort to a Windows "Repair".

Also, upon booting, Check-Disk insisted on checking the disk, but that makes sense because the partition is suddenly larger than it was before, so that has to be sorted out.


AFAIK bootmgr / BCD Store use disk identifier / PARTUUID to look for the "os device". Since you created the msdos partition table with GParted, the disk identifier is not the same one as the original disk. Therefore, you need to update the BCD Store record.

There are probably several ways to do it, for example, manipulating manually with bcdedit, use the apparently-deprecated bootrec /rebuildbcd available only in the recovery/repair environment, or bcdboot, which will re-install bootmgr and rebuild the BCD Store precisely according to what you specify.

For example, suppose your System Reserved partition is mounted as D: and the system partition (where \Windows is) is mounted as C: in the repair environment, the command you should run would be:

bcdboot C:\Windows /s D: /f BIOS

See its official document for details: https://technet.microsoft.com/en-us/library/hh824874.aspx

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.