The Misadventures of Quinxy truths, lies, and everything in between!


The New Virtual Machine Way to Migrate your Old PC

Buying a new computer should be a joyous event, whipping all the geeky portions of the brain into delighted merriment. But those geeky neurons can sometimes barely crack a smile, knowing what's in store for them, days upon days of mental effort wasted on a dreaded migration of applications and data accumulated over many years. But, my friends, there is a new and wonderful way to migrate your PC! In less than a day you can shelve your old PC, having moved everything flawlessly to your new PC! The secret? The virtual machine!

Instead of the old methods of manually copying your data and reinstalling your old applications or using automated tools of varying (but always failing) quality to assist, this new approach converts your old system into a virtual machine that will run inside your new machine exactly as it had. All your data and all your applications will work just as they had because the old computer's entire hard disk, operating system, applications, and data were moved. And because everything is by default encapsulated within this virtual machine, you won't clutter up your beautiful new machine with old software meant for a now antiquated operating system, nor will you be forced to buy upgrades to that old software to get it to work in your new operating system. It is as flawless a migration solution as you can expect in the Windows world.

As beautiful as this solution is, there are a few issues of which you need to be made aware. Since your old hard drive is being copied to your new computer you will be giving up that space on the new computer, but only an amount equivalent to the used portion on the old computer's disks. This usually isn't a serious problem since your technology evolves rapidly and your new computer probably has vastly more space than you'll actually use any time soon. Since your old computer is being run inside a virtual machine you may see a change in performance, relative to what you experienced being on the old physical machine. Advances in computing power and disk speed may actually make the experience better, but with two computers, one physical and one virtual, competing for one set of physical resources (memory, disk, and CPU) performance can be a real problem if you're not sensible about what you're trying to do.

In this series of articles I'll discuss how to do a migration with a virtual machine running under the free VMware Player and its more sophisticated but costly VMware Workstation. While there are a few commercial products which do sell themselves as easy solutions to this very problem of migrating your old PC into your new PC via virtualization, the many reviews of those products have not impressed me; I have used VMware for many years now and been perpetually impressed by the quality of their products and by the large support community available should things go wrong.

Quick Guide to Virtualizing Your Old Computer

For those who want the synopsis and do not need a detailed walk through or notes on getting the most from your set up I'll describe the process very briefly.  In the next article I'll discuss recommendations for moving certain content outside of your old machine before building the virtual machine, optimizations you can ultimately make to ensure the virtual machine is as speedy as it can be, creating the most seamless experience with VMware's Unity feature and sharing options, and more.

Step 1: Backup Your Computer

Do not proceed if you aren't going to back up your computer.  Seriously.  Backups are a pain and will take hours to run, but you are about to do something very, very serious.  While you probably won't have any problems, you'd be a fool not to obviate a potential disaster.  I strongly recommend Acronis True Image Home.  I have used them for years and it's fantastically good software for a really good price ($49); this is not a sponsored recommendation, this is my opinion.

Step 2: Build Your Virtual Machine Image

VMware has a free product called VMware Converter which lets you build a VMware compatible image you will move to your new computer and run with their WMware Player or VMware Workstation products.

VMware Converter will run build the VM image while letting you continue to use Windows but I strongly recommend you leave it running overnight and not use the computer during this time.  Since you will of course need a great deal of disk space for this image, and since there will be a lot of disk access, it's far better to use an external drive.  By using an external drive you reduce disk contention during the creation of the VM image and you make it dead simple to move the VM image  to the new computer.  I've had good luck with the Western Digital My Book drives.  If you've got a new PC which supports USB 3.0 I'd strongly recommend you buy a drive which supports 3.0 (it will also support your old computer's 2.0 interface); you'll appreciate the hours you will ultimately save with this much faster drive.

When you're ready, download VMware Converter. Run it, and follow its instructions.

Step 3: Install VMware on the New PC

You will need to install the free VMware Player or the paid VMware Workstation on your new PC.  Download one of those and install it.  VMware Player is sufficient for almost everyone but developers or software testers.

Step 4: Copy your Virtual Machine Disk to the New PC

From the location where you created the virtual machine disk with the VMware Converter, hopefully an external drive, copy the relevant folder to your new PC.  VMware uses a folder to house all the related files of a virtual machine and it is this folder, not just any single file in it, that you'll need to copy.  Choose any location you like on the new machine, but for sanity's sake you may wish to use the default location VMware uses (My Virtual Machines in the My Documents folder of the home directory of the user who created the virtual machines).  I recommend copying instead of moving so that you can recopy in case anything goes wrong when you first try to get the new image working.

Step 5: Boot Your Virtual Old PC

Start VMware Player or VMware Workstation on your new PC and run the virtual machine image you built of your old PC.  You may encounter a few hiccups during your initial use of this virtual machine, so be prepared for some possible frustration and head scratching.

The first thing that might happen is you might be asked whether you moved or copied the virtual machine image.  While either is a safe option, you may wish to choose "moved" if this is the final resting place of the virtual machine; if you choose copy it recreates some unique identifiers in the image, including things like network card MAC address.

If you have trouble booting up your virtualized system one of the first things to try is booting it into safe mode (by hitting F8 as soon as Windows starts to boot) and go into the driver section of the Computer Management Console and remove any unusable legacy drivers which don't apply to your current system, in particular the video drivers; other drives to look at for removal are disk controller drivers for physical disk controllers you had in your old system, as well as sound card drivers for a device which was only physically in the old computer.  Try removing these drivers one at a time and rebooting.  And only remove drivers which truly don't apply to the new virtual system, your virtual machine will have video, disk controller, sound card, and other drivers which are virtualized, so leave those untouched; I am only recommending removing those drivers which are still in the system but which the system cannot use and may be causing trouble.  If you make things worse, don't worry, that's why I recommended copying the files from your external drive.  All you need to do is shut down the VMware software and recopy the files to go back to where you were and start again.  Another option worth pursuing if your computer can't even boot into safe mode is to use the phenomenal and free Autoruns program to edit the drivers, services, and start up programs of a running or offline computer.  You would need to mount the virtual disk from the dead computer and then run Autoruns as Admininstrator and choose the File > Analyze Offline System... menu item.

If you still have problems booting your system after removing drivers you should seek help in the support forums at VMware; they are very helpful and should solve any remaining problems.

And voila, your old PC has now been successfully placed inside your new computer, ready to use any time you want with all your old software and data!  You can now manually migrate only the data and applications you want from the virtual old PC to the new one, and you can do it at whatever pace you like, because it's all there.

Don't forget to wipe your old computer's hard drive before donating or storing it; if your computer has a special boot mode which allows it to re-image itself, make sure you safely wipe the partition where your data lived before re-imaging it!


Comments (9) Trackbacks (1)
  1. I’ll be giving this a try in the next few months or so. Looking to build a faster machine to host all its predecessor computers’ applications. Will be following this thread to gain additional insight. Thanks for the nice writeup and links.

  2. GP

    It’s definitely been a great improvement over any previous approach to migration. Usually a migration is incredibly painful and for days or weeks I’m stuck needing to switch physically between my new computer and my old one, and I have to reinstall everything. But with this approach I was completely off my old physical system within a day, and then as I needed I gradually re-installed just the core items I planned to use frequently going forward, using the others on the virtual system as necessary. The performance is variable, the contention for the physical hard disk seems like the number one issue. Since the old virtual machine is so rarely powered up every time I do it has a flurry of background tasks it wants to do, virus signature update, windows update, individual app updates, etc. And it’s got a whopping big page file that sees a lot of purges/reads. Once the virtual machine has been running for about 20-30 minutes the performance is great. Best of luck with your future upgrade! One warning, though. I tried this approach again with another somewhat exotic little UMPC and have yet to be able to get its virtual incarnation booting right. I’m sure I can tackle the problem, but haven’t wanted to put in the extra time. So just be warned that there’s a chance it might take you some hours to figure out and remove drivers/etc. that may be causing your virtual version of your old PC to boot properly. Or it might work right off. You won’t know until you do it.

  3. How can this process work with windows XP when it notices any changes in the settings and programs and thus makes it inoperable?
    I am talking about taking my old hard drive and installing it in my new pc. This will not work.

  4. John, Microsoft allows you a certain number of re-activations per copy of Windows, so you should have no problem. I’m not sure whether they count that number over a key’s lifetime or merely count the re-activations within a certain time frame. My experience suggests it may be the latter; in other words you might only be able to re-activate a key at most 3 times within 1 year. I’ve had to migrate a few installations and also trigger the re-activations by replacing key components and I’ve never been denied.

  5. It’s a great blog – people get so attached to their old system – it’s hard to leave it behind. Have you plans to test an VM running on a Solid State Disk to compare the difference?

  6. Phil,

    It took me a while to get around to it, but I finally did install a second large SSD and moved my old virtualized machine images to it. Performance was definitely better, but I’d be lying if I said it was vastly so. I have no complaints about their performance, the virtual machines feel spritelier than they did when they were real machines, but I think I might have reached the limit of how fast they can subjectively feel.

    It’s funny, I have now have three retired PCs virtualized inside my current one. Whereas I used to retire a computer by moving any data from it to my current computer and then storing away the old hard drive (just in case I needed any of its installed applications, etc.) I now incorporate its data into my current computer and then virtualize the machine (mapping critical moved data through to my host computer’s via VMware sharing). It’s definitely a better way to go, though I admit my need for any of these retired computers is almost non-existent. I boot them up once every six months to catch up on Windows Updates, but have little need for them. Still it’s nice to know they are there! Oh, and I do sometimes use and their old OSes for testing software I write, just set a snapshot, test the software, go back, and eliminate the snapshot.

  7. I’ve got a problem here that a client’s motherboard is crashed but the Hard-drive is still OK.
    It’s XP. We want to virtualise his XP on a new PC but putting the harddisk on another motherboard gives BSD’s.
    Has somebody an answer to this problem?

  8. I’ve definitely experienced this. You may get BSODs for many reasons, the main two causes in this case would be disk corruption and an inappropriate driver is being loaded. The first situation is obvious enough, a driver is damaged and when it gets loaded you get a BSOD. Fixing that will require you bypassing the use of that driver (if possible, so you can at least boot) and then maybe later replacing the damaged file. In the case of an inappropriate driver being loaded it could be that, for example, the system had been running on one motherboard with one chipset, you now switched motherboards, the original drivers might seem compatible enough for the system to try to use but really they’re not and the system crashes. Fixing that just means bypassing the use of the wrong drivers long enough for you to install the right ones. In all the above cases your best friend can be System Internals amazing and free Autoruns ( You can use it with an offline system (a non-running computer’s OS disk) to disable the loading of software and drivers. Just load it up and start disabling the most likely culprits. If your BSOD listed anything then clearly start by disabling the loading of that driver and/or its support software. For more info, here’s a useful link talking about Autoruns with offline systems, .

  9. Just finished doing this. Worked like a charm! Thanks so much

Leave a comment