Moving Windows 7 Install to New Hardware

I recently wanted to upgrade a desktop PC, which was running Windows 7 Pro x64 on an an Intel 80GB SSD, with an AMD Phenom 2 940 CPU, Gigabyte motherboard with integrated ATI graphics. The new machine was an Intel Core i7, with an Asus H77 motherboard, integrated Intel HD4000 graphics and a new 256GB Samsung SSD. The goal was to transfer Windows 7 from the old HDD to the new machine without formatting, i.e. transfer the existing Windows 7 installation as-is.

I was expecting this to be fairly difficult, and most internet forum posts tend to say that moving an installation across different hardware types is almost impossible and bound to lead to heaps of errors. However, I found a solution which is fairly easy, and worked surprisingly well!

1. First thing's first -- before doing anything else, make sure to do a full backup of your existing Windows installation onto an external hard-disk and keep it safe. You can do this using the standard "Windows Backup" utility. Make sure to also create a recovery CD/DVD when prompted at the end, so that you can use it if needed.

2. If you were to do a straight clone of a Windows install and move it to new hardware, it most likely won't boot, or it may boot to some extend but experience all sorts of other driver issues. The trick is to use the standard "sysprep" command on the original machine, which strips out all drivers and all hardware specific stuff, returning your Windows installation to a default generic state. To run this command, open an elevated command-prompt (run as admin), and type:

  • c:\windows\system32\sysprep\sysprep

In the dialog above, select "Enter System Out-of-Boc Experience", check Generalize, and select Shutdown, then click Ok. This will start the process of stripping out all your drivers, which may take 5 to 10 minutes. Once it completes, the computer will then Shutdown. DO NOT RESTART IT!!

3. Now the system is in a state that can be carried over to new hardware. You will need to create a clone or full backup of the current state, WITHOUT GOING IN TO WINDOWS! If you restart and let windows load, it will automatically start installing drivers again, which is NOT what you want. So you will need a bootable HDD clone utility, such as Acronis True Image, Ghost, or DriveImage XML. I won't describe how to use these, but basically just do a full clone from the old HDD to the new HDD. Alternatively, if you simply want to move the old HDD into a new machine, you can skip the cloning step.

4. Now install the new HDD in the new machine (or the old HDD if reusing it), and let Windows boot up. Hopefully this will load and start asking you to enter the product key and to create a new user account, as if installing Windows for the first time straight out of the box. Create a dummy account, say "test", and finish the installation so you get to the desktop screen. You can then logout, and login as your old user account, and delete the new "test" account. You'll now need to install all drivers for your new hardware, including network, graphics, audio, etc. All your old applications and settings should be fully intact however!

In my case this all went without a hitch. So if it's possible to move from an AMD/ATI architecture to an Intel based setup, then anything's possible!


Popular posts from this blog

Wkhtmltopdf font and sizing issues

Import Google Contacts to Nokia PC Suite

Can't delete last blank page from Word