Originally posted by: SlimHarpo
I'm thinking about upgrading my Athlon XP to an A64 or Opteron on a socket 939 board (probably an Asrock 939dual so I can hold on to my AGP card for a while). My current HAL is a simple "ACPI PC" one. Is that likely to need to be a "ACPI Uniprocessor PC" for a (single core) A64/Opteron?
If so, what is the best way to do an upgrade, preferably without losing my settings? If neither sysprep or the IDE driver trick will work, will the cd-rom bootup repair install be able to replace the HAL? That repair install option wipes out existing registry (program installs and stuff), right?
Update Windows XP HAL from ACPI PC to ACPI Multiprocessor PC
When creating a disk image for multiple models of PCs, The HAL Advanced Configuration and Power Interface (ACPI) PC has the best compatibility. However, if the image is deployed to a multi-processor PC, there is no way in Device Manager to update the HAL to ACPI Multiprocessor PC. As stated in Microsoft KB 309283, the HAL options users can see are
* Standard PC
* Advanced Configuration and Power Interface (ACPI) PC
To let the operating system know that the PC can run a multi-processor HAL, the options /HAL=Halmacpi.dll and /kernel=ntkrnlmp.exe can be added to BOOT.INI as stated in Microsoft KB 833721, and then the system is rebooted with these options. On the safe side, it is better to create another boot loader entry with these options. For example:
[boot loader]
timeout=30
default=multi(0)disk(1)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Pro MP" /fastdetect /HAL=Halmacpi.dll /kernel=ntkrnlmp.exe
Before rebooting the system, check if the files Halmacpi.dll and ntkrnlmp.exe exist in the system directory. If they are not there, find them in the Windows XP Setup Disc. Once the system has started up with these options, it immediately detects a new processor hardware and updates the HAL to ACPI Multiprocessor PC. The second boot loader entry can be removed after that.
That info would have been good to know, when I moved my OS installs from my old main rig (XP2000+/KT400/768MB) to my new main rig (E4400/865PE/2GB). I used Ghost 2003 to image the old rig and burned to DVD, and then restored onto the new rig's HD. I couldn't boot W2K SP2 or XP SP1, both of them failed inside the bootloader, didn't even get to the second-stage bootloader, nevermind getting a BSOD. I assume it was because the old install used MPS Uniprocessor HAL, and the new rig needed ACPI Multiprocessor HAL. I finally did a repair install on both OSes, and got a free upgrade to W2K SP4 and XP SP2. I'm currently working on a problem with the sptd driver in XP though, it seems to be causing issues with my USB flash drives registering.Originally posted by: dragonfang
this is a much simpler way to change the old acpi hal to the multiprocessor hal. has anyone ever tried this before? would it work? and are there any other ways to switch hals?
Originally posted by: vailr
After swapping a HD with an XP installation to a new motherboard, the (now non-existent)
previously installed Device Manager devices can be cleaned out by:
Start/Run/cmd
type:
set devmgr_show_nonpresent_devices=1 [Enter]
start devmgmt.msc [Enter]
View/Show hidden devices
Click each of the "+" signs, to expand the device listings.
Then, uninstall any "greyed-out" devices.
This should restore the Device Manager portion of the registry to a "good as new" condition.