Link to home
Start Free TrialLog in
Avatar of Gary Case
Gary CaseFlag for United States of America

asked on

How can you change from ACPI Multiprocessor HAL to ACPI HAL without reinstall?

A friend had a Prescott CPU burn out and I'm replacing the CPU for him.   Since it's a moderately old system (2.5 years) he doesn't want to spend the bucks for a new 3.0G P-IV, so we've replaced it with a Celeron (works fine for his needs).   The system's working fine -- but it shows an ACPI Multiprocessor HAL (a remnant of the hyperthreading P-IV).   He has a LOT of "stuff" installed; and it's not a simple matter to do a repair install, as his XP CD is an original pre-SP CD, which will refuse to install on an SP2 system.   I suppose I could just leave well enough alone -- but I'd like to get the HAL correct if possible.

So I need to change the HAL from a "ACPI Multiprocessor PC" to a "ACPI Uniprocessor PC"

Microsoft site insists this requires a re-install, but some have indicated successfully doing this by replacing three files ==> just looking for confirmation from others who have made this change.
Avatar of nobus
nobus
Flag of Belgium image

to my knowledge, it is not possible. i am curious to see what turns up.
Avatar of Gary Case

ASKER

That was my understanding as well -- and what I would have said before I encountered the issue myself.   But take a look at the post at  Date: 06/01/2003 10:37AM PDT
 in this question: https://www.experts-exchange.com/questions/20632544/How-do-I-force-Windows-XP-to-use-the-multiprocessor-HAL.html

... note the "IT WORKS ..."  comment.

I'm just curious if others had had similar experiences.

... I'm going to image the system and "play" a bit with it => but it would be nice to know of any actual experiences; and in particular exactly which three original source files need to be renamed for which HAL.
Avatar of Leucon
Leucon

Ok so two things to note here...

1. You could sysprep the system and then use some method (bartPe perhaps) to go in an replace the Hal file before booting from the HDD for the first time (post sysprep). This will work and i've seen numerous occassions of it working.

2. Microsoft does not support this and strongly recommend against this - so while it will work, you could easily face future problems and you have an unsupportable machine.

As rubbish as it sounds - i'd strongly suggest looking at backing the data up onto an external HDD, ensuring you have all the install media apps needed and then building the machine from scratch. Not ideal, but safest option. You could always use Ghost to make a backup of this install and a backup of your new install and then at least you've got them if you ever need them again?

Sorry I can't be of more help...

L
gary, your link gets a page not found display . . something wrong?
Good to know Gary, i would like to see the outcome on this . . .
Well ... since I didn't get any additional responses, I just played around a bit (thank goodness for images).   I tried several combinations of replacing hal.dll, ntoskrnl.exe, and ntkrnlpa.exe (based on the question I linked to above), and in every case the system simply hung during the boot process -- wouldn't boot to Safe Mode or anything.   In particular, replacing JUST HAL.DLL hangs every time.  Five minutes to restore, and try, try, again.   I was about to just call it quits, but thought of one other thing to try:   I simply copied those three files from another system that had a non-hyperthreading Pentium (i.e. it had the correct HAL for what I wanted).  Voila!!   It boots fine, and appears to work perfectly.   Since Microsoft SAYS this can't be done, I'd not suggest it as a routine change -- there must be some good reason they disabled the ability to update the HAL in XP after they offically supported it in Win2K -- but it CAN be done :-)    Note:   Since I had made significant changes to this system (new CPU) it required re-activation.   I did NOT do that until after I had "played" with the HAL modifications => and it re-activated just fine (over the internet -- no phone call required).   I do not know if the three files involved have anything to do with activation, or if it would have complicated the issue if I had already re-activated the system.

Bottom line:  I still prefer - and recommend - just doing a clean install in any case like this.   I was simply trying to accomodate a friend who very much did not want to do that, has a LOT of stuff installed, has followed my advice over the years (always has a fairly current image; was VERY well backed-up; etc.), and simply didn't want to have to go through a full reload process.   The system was (and is) running very nicely -- and in fact still was after the new CPU.   I just wanted to see if I could make the HAL match the current CPU without doing the reload => and clearly it's possible.
As with anything that COULD cause major problems, however, I don't recommend EVER trying this without having a current image of your system partition.


thank you for the training ! i learned something again, and that is one of the main reasosn you see me here.
It would be nice to have some more reactions though. Couldn't we invite guys like leew, billdl etc in on this?
Yep, and apologies if I wasn't clear above when talking about replacing the Hal file.

It's worth noting Microsoft don't say that it can't be done, simply that it's not supported or recommended. The reasons for this take a long time to explain but it does make sense when you trawl through it.

Glad to hear you've sorted things out :-)
"... Couldn't we invite guys like leew, billdl etc in on this? " ==> Yes, I was hoping someone who had actually done this a few times would respond with the specific details of making the modifications.   I'd like a chart that shows which source files need to be renamed to the three key files noted above for each specific HAL setup.   I think the problem is we all simply tend to do a clean re-install for this => it's simple enough and is almost always the best approach.

nobus => I agree you can learn a lot by following some of the issues here.  ... and just to satisfy my curiosity I'll spend a few hours some day and do a base build with a non-hyperthreading P-IV, image it; and then do the same with a hyperthreading P-IV;  and then play with the various options to replace the 3 key files and build myself a table like I noted above.   May be a few months => but I'll post the results here when I do it.   I was simply hoping someone had already done this :-)

Note for moderator:  I'd be happy to leave this open for a while to see if someone responds with more details.   If not, please close the question with points refunded.
Hmm.  I see my name was mentioned.

I would have liked to have been able to offer some usful input on this one, but unfortunately I was taken in like a gullible sap and ultimately believed what Microsoft and other apparently expert sources all kept reiterating.
I had two separate issues a while back:
(1) A WinXP system wasn't being recognised as ACPI-compatible after what had seemed like a trouble-free installation and showed me the "It is now safe to turn the machine off" message I hadn't seen since last firing up my old Win95 non-ATX system.
(2) The issue described here:
http://support.microsoft.com/default.aspx?scid=kb;en-us;322302

While searching for solutions to (1) I bookmarked this page of related links and explored them:
http://www.buildorbuy.org/hal.html 
I had previously been of the impression that it would be along the same lines as Win98 in that you could mess around with things post-setup and it would all be re-enumerated automatically, but I've obviously been caught in a '98 time-warp for too long :-)

I did go to the lengths of looking into how Windows XP determines if a computer is ACPI-compatible, and bookmarked this page:
http://support.microsoft.com/kb/314088/EN-US/
but all my searches on the post-setup HAL issue told me that Windows XP needed to be reinstalled, as explained here:
http://support.microsoft.com/?kbid=309283
http://support.microsoft.com/default.aspx?scid=kb;EN-US;299340

So, I finally just believed the following statements that kept cropping up:
"You can't change between <blah, blah> and <blah, blah> HAL's because the registry stores hardware-specific settings differently for each type of HAL. If you change the HAL without reinstalling, Windows will grind to a halt".

To be honest, I can't recall how I eventually DID resolve the issues, but I'm sure I never got to the stage of expanding HAL-related dll's from setup files or renaming existing ones. I hope you do find a definitive answer.
As I noted, I also believed Microsoft's "it's not possible" assertions -- although it never seemed quite credible, since it was fairly simple to do on Win2K.   As I described above, I did do it in this case with no problem -- but I'm not sure it would have worked if I had already re-activated the system.   In any event, it's on my "ought to play around with it" list ==> whether or not I actually DO that we'll see.   Simple fact is it's not a very common need; and a re-install will always fix it ==> but I may still play around with it and build a little "how to" table.   If I do, I'll post it here.
Thanks in advance Gary !
>>> my "ought to play around with it" list <<<
Yes, I have quite a large list of them too :-)
ASKER CERTIFIED SOLUTION
Avatar of GranMod
GranMod

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial