So I built a new C2D E6600 system (details and pics here). I install Windows XP Pro by restoring a Ghost backup like I've been doing for three years now. I have everything configured exactly like I want it. Windows starts up, I get all the new drivers, everything is great. Then I notice there is only one graph in Task Manager. Two processors show up under Device Manager. Orthos only runs on one processor. CPU-Z only recognizes one processor.
Further digging turns up the fact that Device Manager shows my computer as "Advanced Configuration and Power Interface (ACPI) PC". Apparently I need that to be "ACPI Multiprocessor PC" so that Windows and Windows software will recognize both CPUs.
Googling, I find that I should update the driver in Device Manager, manually choose the driver to install from a list, and pick the ACPI multiprocessor driver. However, even with "show only compatible devices" unchecked, my list only has two options: "Advanced Configuration and Power Interface (ACPI) PC" and "Standard PC". It doesn't have the multiprocessor option I need. I can click "Have disk", but I don't know where to find the "ACPI Multiprocessor PC" driver.
Apparently "halmacpi.dll" is the dll for "ACPI Multiprocessor PC". Windows always uses a file called "hal.dll" which is just some specific hal dll renamed. I can't find "halmacpi.dll" anywhere on my PC. For kicks, I download it from some website and replace my "hal.dll". Windows won't boot (freezes with black screen instead of showing boot image) and I have to revert the file to get it working again.
So, how can I fix this POS? Two things I am unwaverable on. First, I won't reinstall Windows from scratch. I have too many secrets on my PC. I'm not satisfied with a default install and I have tweaked my install in hundreds if not thousands of ways. The second thing is I run Windows XP Pro SP1. I won't upgrade to SP2. I don't want it, I don't need it. Beyond those two things, I'm willing to try anything else! There has to be a way damnit!
Here is an article that says "ACPI Multiprocessor PC" uses these files...
halmacpi.dll (renamed to hal.dll)
ntkrpamp.exe (renamed to ntkrnlpa.exe)
ntkrnlmp.exe (renamed to ntoskrnl.exe)
I tried replacing the files in my install with these files. Same thing, freezes at a black screen right before it supposed to show the Windows XP boot screen image. On a whim I left ntoskrnl.exe and ntkrnlpa.exe and reverted hal.dll back to "halacpi.dll" (which is "Advanced Configuration and Power Interface (ACPI) PC"). Works fine. Seems that if the multiprocessor HAL is used, it freezes.
Next I went to Device Manager and did a rollback on the driver. It looked so promising! It rolled it back to "ACPI Uniprocessor PC" and a few seconds later Windows recognized a new device called "ACPI Multiprocessor PC". I almost soiled in excitement! It asked for a reboot, rebooted... same crap. Froze with a black screen right before the boot screen. Like all the other freezes ctrl+alt+del doesn't respond, have to hard reset.
I put the HDD in a different machine, reverted the "hal.dll" back to "halacpi.dll" (which is "Advanced Configuration and Power Interface (ACPI) PC"), put the HDD back in its machine... booted right up.
So it seems that no matter what I do, it freezes right before the boot image if the multiprocessor HAL is used. Damnit! WTF! Any ideas?
I then bit the bullet and put in my Windows XP Pro disc and started an "in-place upgrade" (aka "repair install"). It copied the installation files, did its thing, rebooted... and froze in the same place as always. I ran the repair again, this time I hit F5 to access the secret menu that lets you force what HAL to use. I chose the multiprocessor HAL, let it do its thing, it rebooted... and froze. I assume if I do the repair again and this time force the standard ACPI or uniprocessor HAL that it will boot into Windows. Of course that would put me in the same place I am now... unable to utilize my dual processors.
This is really painful. The only thing I haven't done is format and reinstall. I don't want to lose all my applications and tweaks. There has to be a way.
Normally I just create a backup of when the computer is working like I want and I restore if something went wrong. For maximum compatibility, before taking the backup you can change all the drivers to the basic Windows drivers, for video, PCI bus, etc. This way if you restore for different hardware you'll be able to get into Windows where you can install the right drivers. If you don't do this, sometimes the hardware can be completely incompatible and crash everytime before you can get to a state where you can fix it.
There is a lot of mysticism surrounding hardware changes. I don't believe in this you-have-to-format-reinstall every X days stuff. It simply isn't true.
Reminds me of my friend who thinks you have to shutdown the PC to unplug or plug in a monitor. No matter how many times I tell him you don't have to, that the video card could care less, he still does a full shutdown. There should never be this "voodoo magic" with computers!
Are you telling me that EVERY person who got a dual proc had to format and reinstall? Every hardware upgrade I can get Windows to accept my existing install, except for going from single to dual proc? There has to be a way!
Any ideas?
Further digging turns up the fact that Device Manager shows my computer as "Advanced Configuration and Power Interface (ACPI) PC". Apparently I need that to be "ACPI Multiprocessor PC" so that Windows and Windows software will recognize both CPUs.
Googling, I find that I should update the driver in Device Manager, manually choose the driver to install from a list, and pick the ACPI multiprocessor driver. However, even with "show only compatible devices" unchecked, my list only has two options: "Advanced Configuration and Power Interface (ACPI) PC" and "Standard PC". It doesn't have the multiprocessor option I need. I can click "Have disk", but I don't know where to find the "ACPI Multiprocessor PC" driver.
Apparently "halmacpi.dll" is the dll for "ACPI Multiprocessor PC". Windows always uses a file called "hal.dll" which is just some specific hal dll renamed. I can't find "halmacpi.dll" anywhere on my PC. For kicks, I download it from some website and replace my "hal.dll". Windows won't boot (freezes with black screen instead of showing boot image) and I have to revert the file to get it working again.
So, how can I fix this POS? Two things I am unwaverable on. First, I won't reinstall Windows from scratch. I have too many secrets on my PC. I'm not satisfied with a default install and I have tweaked my install in hundreds if not thousands of ways. The second thing is I run Windows XP Pro SP1. I won't upgrade to SP2. I don't want it, I don't need it. Beyond those two things, I'm willing to try anything else! There has to be a way damnit!
Here is an article that says "ACPI Multiprocessor PC" uses these files...
halmacpi.dll (renamed to hal.dll)
ntkrpamp.exe (renamed to ntkrnlpa.exe)
ntkrnlmp.exe (renamed to ntoskrnl.exe)
I tried replacing the files in my install with these files. Same thing, freezes at a black screen right before it supposed to show the Windows XP boot screen image. On a whim I left ntoskrnl.exe and ntkrnlpa.exe and reverted hal.dll back to "halacpi.dll" (which is "Advanced Configuration and Power Interface (ACPI) PC"). Works fine. Seems that if the multiprocessor HAL is used, it freezes.
Next I went to Device Manager and did a rollback on the driver. It looked so promising! It rolled it back to "ACPI Uniprocessor PC" and a few seconds later Windows recognized a new device called "ACPI Multiprocessor PC". I almost soiled in excitement! It asked for a reboot, rebooted... same crap. Froze with a black screen right before the boot screen. Like all the other freezes ctrl+alt+del doesn't respond, have to hard reset.
I put the HDD in a different machine, reverted the "hal.dll" back to "halacpi.dll" (which is "Advanced Configuration and Power Interface (ACPI) PC"), put the HDD back in its machine... booted right up.
So it seems that no matter what I do, it freezes right before the boot image if the multiprocessor HAL is used. Damnit! WTF! Any ideas?
I then bit the bullet and put in my Windows XP Pro disc and started an "in-place upgrade" (aka "repair install"). It copied the installation files, did its thing, rebooted... and froze in the same place as always. I ran the repair again, this time I hit F5 to access the secret menu that lets you force what HAL to use. I chose the multiprocessor HAL, let it do its thing, it rebooted... and froze. I assume if I do the repair again and this time force the standard ACPI or uniprocessor HAL that it will boot into Windows. Of course that would put me in the same place I am now... unable to utilize my dual processors.
This is really painful. The only thing I haven't done is format and reinstall. I don't want to lose all my applications and tweaks. There has to be a way.
Normally I just create a backup of when the computer is working like I want and I restore if something went wrong. For maximum compatibility, before taking the backup you can change all the drivers to the basic Windows drivers, for video, PCI bus, etc. This way if you restore for different hardware you'll be able to get into Windows where you can install the right drivers. If you don't do this, sometimes the hardware can be completely incompatible and crash everytime before you can get to a state where you can fix it.
There is a lot of mysticism surrounding hardware changes. I don't believe in this you-have-to-format-reinstall every X days stuff. It simply isn't true.
Reminds me of my friend who thinks you have to shutdown the PC to unplug or plug in a monitor. No matter how many times I tell him you don't have to, that the video card could care less, he still does a full shutdown. There should never be this "voodoo magic" with computers!
Are you telling me that EVERY person who got a dual proc had to format and reinstall? Every hardware upgrade I can get Windows to accept my existing install, except for going from single to dual proc? There has to be a way!
Any ideas?