How to move Windows XP hard disk to a different computer or motherboard without BSOD

Discussion in 'backup, imaging & disk mgmt' started by MrBrian, Jan 14, 2010.

Thread Status:
Not open for further replies.
  1. MrBrian

    MrBrian Registered Member

    Joined:
    Feb 24, 2008
    Posts:
    6,032
    Location:
    USA
    Here is how to move a Windows XP hard disk to a different computer or motherboard without getting a BSOD (blue screen of death):

    Option 1: At http://www.raymond.cc/blog/archives...erboard-without-getting-blue-screen-of-death/ follow the steps under either "a) Before moving the hard drive" or "b) After moving the hard drive." If you're changing motherboards due to an inoperable motherboard, then follow the steps under "b) After moving the hard drive" after changing the motherboard. If you're using the steps under "b) After moving the hard drive," and already have UBCD4Win, make sure you're using UBCD4Win v3.11 or later, which is the first version to contain Fix_hdc.

    If this doesn't work, you may also need to replace the HAL (Hardware Abstraction Layer), which can be done from within UBCD4Win. This is explained at http://www.terabyteunlimited.com/howto/howto-drvins-tbosdt-dos.htm:
    The different HAL files are detailed in the table at http://smallvoid.com/article/winnt-hardware-abstraction-layer.html.

    Option 2: Use TBOSDT as explained at http://www.terabyteunlimited.com/howto/howto-drvins-tbosdt-dos.htm. Thanks to Brian K for prior mention of TBOSDT for this purpose.

    Option 3: Do a repair installation.
     
  2. Sully

    Sully Registered Member

    Joined:
    Dec 23, 2005
    Posts:
    3,719
    Re: How to move Windows XP hard disk to a different computer or motherboard without B

    Nice.

    For more than migrating purposes, I have extracted all the HALS to windir. I also have all needed HALS and

    ntkrnlmp.exe
    ntkrnlnt.exe
    kernel32.dll
    NTDLL.dll
    winsrv.dll
    NTLDR
    NTDETECT.COM
    win32k.sys

    in a special directory.

    Here are some boot.ini files I keep there as well

    Code:
    A basic Boot.ini
    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
    
    Code:
    One I call Multi_hal_boot.ini
    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="XP Pro SP2 ACPI APIC Multi" /noexecute=optin /fastdetect /hal=halmacpi.dll
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="XP Pro SP2 ACPI APIC Uni" /noexecute=optin /fastdetect /hal=halaacpi.dll
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="XP Pro SP2 ACPI " /noexecute=optin /fastdetect /hal=halacpi.dll
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="XP Pro SP2 MPS APIC Multi" /noexecute=optin /fastdetect /hal=halapicm.dll
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="XP Pro SP2 MPS APIC Uni" /noexecute=optin /fastdetect /hal=halapicu.dll
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="XP Pro SP2 APM Standard PC" /noexecute=optin /fastdetect /hal=halapm.dll
    
    I have USB sticks and unattended dvds which will use modified NTLDRs or one of these boot.ini files. This way, if there is a corruption/issue, I can still boot into whatever HAL I want, or replace original boot files.

    I learned a long time ago that having alternate methods of invoking the NT Loader was a blessed thing indeed.

    Nice post.

    Sul.
     
  3. Brian K

    Brian K Imaging Specialist

    Joined:
    Jan 28, 2005
    Posts:
    8,638
    Location:
    NSW, Australia
    Sully,

    Good ideas there. I've been using TBOSDT to change HALs. Which tool do you use as those boot.ini will not change a HAL?

    Out of interest, if people want to see their "bank" of HALs, look in

    C:\WINDOWS\servicepackfiles\i386

    The HAL in use is always called hal.dll and it is in C:\WINDOWS\system32
    No matter which HAL you are using it is still called hal.dll in C:\WINDOWS\system32

    If you change to an incorrect HAL the computer won't boot. You just see a black screen. For home users the two most common are....

    halacpi.dll
    halmacpi.dll (multiprocessor)

    Of interest is converting a multiprocessor computer C: drive to a Microsoft Virtual Machine .vhd. The HAL in the Virtual Machine needs to be changed to halacpi.dll for the Virtual Machine to boot.
     
  4. Sully

    Sully Registered Member

    Joined:
    Dec 23, 2005
    Posts:
    3,719
    Re: How to move Windows XP hard disk to a different computer or motherboard without B

    @Brian

    You notice the end line of the boot.ini entries? hal= ?

    That is what I use. I have the Hals in windir, left in their original names, sitting beside hal.dll. That option allows one to dictate what the hal file is you wish to use. That is all I do. It only requires that you have all those hals in windir.

    See?

    I have on my unattended dvd, using grub, different mechanisms to boot into different boot.ini files. For example, I have a boot.ini file (not named that) which is showing the multi-hal options. I also have another boot.ini file that gives me boot options for many different drives/partitions, and another with other options like booting from an image file (ramdisk/bartPE/liveXP etc) or other little tricks.

    I have on the dvd floppy disk image files, with things like spinrite,mhdd,hdd manufacturers test tools, bios flashers, win98se boot, partition magic, etc etc etc. Basically lots of options, about as many as I could find, to boot just about anything. I have forgetten most of what I did now, as it has been maybe 5 or 6 years since I was into that sort of thing.

    Sul.
     
  5. Brian K

    Brian K Imaging Specialist

    Joined:
    Jan 28, 2005
    Posts:
    8,638
    Location:
    NSW, Australia
    Re: How to move Windows XP hard disk to a different computer or motherboard without B

    Ah. I didn't use the scroll bar. Clever.
     
  6. JRosenfeld

    JRosenfeld Registered Member

    Joined:
    Jul 26, 2004
    Posts:
    117
     
Loading...
Thread Status:
Not open for further replies.