Moving Windows 7 to New Hardware

Recently, I was tasked with transporting Windows 7 installed one piece of hardware to another. Not a trivial matter, considering the driver and activation issues.  I used Acronis Trueimage 2013 with the Universal Restore feature to accomplish this task and it worked quite well.  I was able to take an installation of Windows 7 x64 installed on a Dell Optiplex 390 and transport it safely to a Dell Latitude e6430.  The normal barrier for bringing up Windows on different hardware is usually the mass storage drivers.   If we can somehow inject the correct drivers offline, we can get into Windows and load the other drivers on an as needed basis.

I set out to do this for free and found this thread: http://www.911cd.net/forums//index.php?showtopic=24245.  If the web site is down, you can grab the file from my web site here. Essentially, this VBScript code does just that by invoking the powers of DISM.  The first thing you will need is a Vista or later based WinPE disc.  You can do this cheaply by tapping the F8 key and picking “Repair my Computer” and then breaking out to a command line.  Or you can use Liveboot 2012 from Wondershare.  This program is definitely worth the $60 for everything that it can do.  Here’s one cool trick you can do with WinPE (unrelated to Universal Restores, but cool none-the-less).  Install TightVNC server on a PC.  Copy the files screenshooks32.dll and tvnserver.exe from the Program Files directory to a USB key.  Now you can run that executable from with-in WinPE.  A “V” will appear in the taskbar.  Right-click this icon, go to properties and set a password.  Now you can VNC into your WinPE boot media!

Run cscript fix_7hdc.vbs from within WinPE.  It will ask for the Windows 7 drive: pick C:.  It will then ask for the folder containing the mass storage drivers.  Drill to that.  It will now inject those drivers into the offline Windows 7 install and produce a report afterwards:

Viola: Universal Restore for free!  What if we didn’t know what mass storage drivers we need?  Well, within WinPE, we can run AIDA64 and click on the PCI Devices tab to get the vendor and device IDs.  If you are cheap and don’t want to spend the $40 for AIDA64, you can also use SIV32:

– Soli Deo Gloria

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.