Clone a Windows Installation to a 3TB Hard Drive; MBR to GPT
None of the answers so far gave me all the info I needed to solve this problem. I solved it and I'm successfully running my old Windows MBR install on UEFI and GPT now.
- Connect only your target drive and run Windows 7 Setup in UEFI mode. You can do this by enabling UEFI in the BIOS and by using the DVD. It is possible to make a USB stick that UEFI boots, but the Microsoft tool will not make them so. Watch out for this.
- Install Windows 7 clean to your target drive. You can confirm you're in UEFI mode as 3 partitions (EFI, MSR, and Main) will be created.
- Connect your source drive and boot up an Ubuntu (or other linux) live CD/DVD/USB and use NTFSCLONE (from terminal with super user priv: 'sudo ntfsclone', syntax is easy to use from the help page) to copy your NTFS partition from your source drive and overwrite the main windows partition on your target drive. Watch out for the syntax of NTFSCLONE, it can have the target and source on the command line the other way round.
- Disconnect source drive and enjoy your old install on the new drive.
From what I can see, instead of running boot code in the disk start, EFI simply runs boot code on the EFI FAT32 partition in a predetermined location, this boot code then starts the Windows installation. As we overwrite one that was set up correctly, it starts our old one up instead.
It has taken me literally days of fiddling to figure this all out and now hopefully others wont have to.
(Other notes: on my Intel DP43TF I had to update the BIOS and set the BIOS to IDE instead of AHCI for the Windows setup. I switched it back to AHCI after putting my old install onto the GPT drive and all was well)
Tested and working!
Use clonezilla to make an image of your hdd then restore that image to your new drive and it would be as if nothing happened. http://clonezilla.org/
You'll have to boot clonezilla from a USB or CD in order to do this.
Alright given the new information I recommend you do the following:
- Partition your 3TB drive in half.
- Create the image using the software above while saving the image to the second half of the partition you just made. (Clonezilla will let you specify where you want to put the image)
- Restore the image to the first half.
- Once it seems everything is good, format the second partition then delete the second partition
- Extend the first partition to cover the entire drive.
Note: If you don't have enough space then you might have to remove some of your games then just install them after the image goes down.
I recommend just messing around with it till you get what you want, because as long as you have the original you'll be fine.
First you have to make sure that your mainboard supports UEFI boot. It may have to enabled in the BIOS.
The content of the partition itself is NTFS and has no difference between MBR and GPT. But the boot code needed for booting via UEFI in the partition may be different.
Furthermore the biggest difference is the ~100MB boot partition which is usually located right before the system partition. UEFI needs an additional partition.
You can try to create two 100MB partitions manually, then copy the system partition after it. Then boot the Win7 install CD and let it repair the boot process. This may work however I don't know (never tried it).
But I think it would be easier to start a new Windows 7 installation and let it partition the disk automatically. While installation you can reset the computer and afterwards overwrite the incomplete installation with your old one.
Recommended UEFI-Based Disk-Partition Configurations