Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I am trying to move my Windows 7 partition (~80GB) to a 120 GB SSD. Currently I am dual-booting Windows 7 and Ubuntu 12.04 on a 500GB HDD, which came with Win7 pre-installed. I gather from what I've read elsewhere that when I installed Ubuntu alongside Windows, it overwrote the Windows master boot record and used GRUB to boot instead. This means that Windows can no longer boot without GRUB.

Basically, I want to know how to restore the windows MBR and successfully boot from the new SSD.

Here is what I've tried:

  • Clone Win7 partition to SSD using AOMEI backupper

    Results: Complete failure to boot

  • Use Windows repair disk/Windows Bootable USB to repair MBR. I have tried automatic repair and BootRec.

    Results: Neither was successful. Interestingly, BootRec/ScanOs did not detect Windows, though Recovery Environment itself did detect it.

  • Restore from Windows system image made by native imaging software.

    Results: Recovery fails. I have attempted this multiple times. Sometimes I get"Active drive is too small for recovery." This should not matter, as the image restoration is supposed to format the disk anyway. I have also been told that "the parameter is incorrect." I have no idea what this means.

share|improve this question

1 Answer 1

Assuming that the Windows bootloader lies on the actual Windows 7 installed partition this is an easy fix.

Simply copy the partition over to the SSD and inside Ubuntu get a Linux tool called "ms-sys". You're going to need to compile this from scratch as its not distributed in binary form. You can get it here: http://ms-sys.sourceforge.net

After it has been built navigate to the builds output (if I remember correctly its just labelled "bin"). Then run the following command:

ms-sys -w /dev/sda

That writes the MBR to the specified device (obviously change 'sda' to whichever device your SSD is). Note that there's no specific partition to write to and its writing.to the general device itself. That's because the MBR just simply points to where the bootloader is located. ms-sys simply writes assuming the bootloader is located on the first partition of the disk, so that's where the Windows 7 partition must be located.

Now you can try to boot into Windows and if all goes as planned you should see the boot animation.

However, if that didn't work for you or if you used to have a System Reserve partition, don't worry because there's still one more option.

Going back to ms-sys, go to the Ubuntu terminal and execute the following commands to ms-sys:

ms-sys -w /dev/sda1
ms-sys -p /dev/sda1

These write an actual boot loader to the Windows 7 partition as well as partitions information.

In the case that none of these work, using ms-sys can be extremely helpful as it was for me when I moved a Linux installation to a VM and got rid of GRUB for compatibility reasons. Every similar situation can be extremely different when it comes to this so just try messing with some different methods. If it comes to it you could always just backup all important information and start off with a clean install, although that's usually a last resort.

I hope this helps!

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.