How To Transfer Windows Xp To Different Hardware
Updated: 11/27/2008 12:56 PM

Macrium Reflect is primarily designed to protect your PC from hard disk failure and data loss due to virus infection or accidental deletion of files. Your hard disk is the most vulnerable part of your computer and if you’ve ever had a disk crash you’ll know what a nightmare scenario it is to lose everything.

One of the advantages of imaging your system drive is that, in theory, you can recover everything to different hardware. This means that when you upgrade your PC you can move
everything over, not just your data but Windows XP and all the software you’ve installed, to your shiny new PC. This is quite distinct from backup, because you plan the restore and you can prepare your PC before imaging to enable restoration to the different hardware.

You can also move Windows XP to a virtual environment; VMWare, Microsoft Virtual PC, VirtualBox, etc. In a real life example I moved my desktop environment to Microsoft Virtual PC.  I stored the virtual hard disk on an external FireWire drive and I can now work from my laptop when travelling or my desktop (much faster) when in the office and I use exactly the same environment. Plus, when I eventually upgrade my ageing laptop there’s nothing to reinstall (except for Virtual PC which takes five minutes). Marvellous!  

If you try and restore an image to a PC with a different motherboard, you will almost certainly get a
Blue Screen of Death (BSOD). This term refers to a low level system fault that manifests itself as a bright blue screen with an incomprehensible error message and no option other than to shut down your PC. These used to be quite common on Windows 95/98 but on XP and Vista it’s thankfully a lot rarer.

There are two main reasons why Windows complains when it finds new hardware.

1. Hardware Abstraction Layer (HAL). 
From Wikipedia: “
A hardware abstraction layer (HAL) is an abstraction layer, implemented in software, between the physical hardware of a computer and the software that runs on that computer. Its function is to hide differences in hardware from most of the operating system kernel, so that most of the kernel-mode code does not need to be changed to run on systems with different hardware. On a PC, HAL can basically be considered to be the driver for the motherboard and allows instructions from higher level computer languages to communicate with lower level components, such as directly with hardware.

There are five types of HAL, and you will get a BSOD if you are moving from a multi processor (not multi-core!) to a single processor, but not vice versa. So a single Pentium 4 to a Pentium Quad is not a problem and neither is a single CPU to a multi CPU motherboard. The latter will require you to update the CPU in device manager after migration.

You’ll also get a BSOD if you are moving between different Advanced Configuration and Power Interface (ACPI) motherboards. However, most modern PC’s share a common ACPI so this shouldn’t be a problem.

Basically, you’re probably going to be OK with the HAL already setup on your source PC.
For this example we won’t be touching the HAL.

2. Mass Storage Controller.
This is a much bigger problem. The mass storage controller for the primary hard disk is the interface between Windows and your disk. With the wrong driver you won’t even begin to start booting Windows and you’ll probably just recursively boot with flashes of blue. Don’t bother reading the error message, the only useful thing it says is STOP.

Fortunately we can set the primary disk controller (the one that loads Windows) to a default driver. This is the same as the one used when Windows was first installed and before any specific motherboard drivers were loaded. If we do this then Windows can be transferred to another PC, crucially, without that BSOD this time!


So how do we avoid the BSOD when restoring Macrium images? It’s actually quite simple and I’ll take you through the steps to prepare an XP PC for imaging and restoring to new/different hardware.


Before you begin

Make sure you’ve got access to any drivers required for the Video card, network card etc on the target PC. You’ll need these to update Windows XP once you’ve restored. Put them on a USB stick or anywhere accessible that doesn’t require a network connection. Your network is unlikely to work until you’ve installed the appropriate drivers.  


Updating the Mass Storage Controller
Note
: Unfortunately this probably won’t work with Windows Vista.
1. Right click on ‘My Computer’ and select ‘Manage’

2. In the management console select the ‘Device Manager’ tree node.

3. Expand the ‘IDE ATA/ATAPI Controller’ node, right click on the first IDE/SATA Controller and take the ‘Update Driver’ option.




4. In the next dialog click the ‘Install from a list…’ option. We want to override the automatic detection and selection of the correct driver.



5. Then choose ‘Don’t Search…’ and click ‘Next’. We can now choose the default disk controller, the one that was first used when Windows was installed.



 

6. Here it is! It’s the ‘Standard Dual Channel PCI IDE Controller’. Select it and click ‘Next’.


 

7. After a few seconds it will be installed. Click ‘Finish’.


 

8. Select ‘No’ to the reboot option and we’re all done.



So what have we done?

We’ve simply forced Windows to use the default driver for communicating with the primary hard disk. This means that your PC may run a bit on the slow side until we’ve finished, so don’t forget to change it back after we’ve imaged the drive.

Now what?

    Does this really work?

    Yes it does. The most ambitious cross hardware restore we’ve tried is from an ageing laptop with a SIS motherboard and a single Pentium 4 to an NVidia SLi based ASUS P5N32-E motherboard running a Pentium QX6850 Quad processor. It all went without a hitch!


    Caveats - You knew there’d be some
    .
    1. This won't work with Windows Vista.

    2. This won’t work if the HAL’s are incompatible on the two computers. As already mentioned, this won’t be a problem in the majority of cases.

    3. Microsoft doesn’t like this. You will almost certainly have to re-activate Windows after the swap. If you’re using an OEM version of Windows this may not be allowed. If this is the case then you’re stuck. I’m afraid you will have to start from scratch with a fresh copy of Windows. If you’re using a retail or volume licensed version then you should be able to re-activate without problems.






    4. If the primary controller on the target PC can’t run as a standard PCI IDE interface or if you are using RAID then this might not work.

    Footnote

    Wouldn’t it be great if the Macrium Reflect restore process could do this automatically? What about changing the HAL as well? Well, we’re working on this and more!  I’ll post here when it’s available.

Url to this pages:
http://nade.dk/web/nade/site.nsf/FramesetHP?readform&wmain=files/How_To_Transfer Windows_Xp_To_Different_Hardware