Skip navigation
VMware
28,526 Views 41 Replies Last post: Nov 9, 2006 4:28 AM by hernanm RSS
ReverendDeuce Hot Shot 153 posts since
Jul 15, 2005
Currently Being Moderated
15. Oct 27, 2005 1:51 PM in response to: dcampbell
Re: How to change Windows 2003 server Hal back to Uniprocessor

I don't know if this helps (or if it works in Windows 2003), but I do know that in WindowsXP Professional, you can add the /ONECPU switch to your boot.ini file, like this:



\[boot loader]

timeout=30

default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS

\[operating systems]

multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="...." /fastdetect

/ONECPU



 

I've used this option many times when debugging some SMP systems. It actually tells Windows to load the uniprocessor kernel. All that is required is a reboot. Removing the /ONECPU option will make Windows boot with a multiprocessor kernel. It's just this easy.

 

Message was edited by:

        ReverendDeuce

Jimmy Bondi Lurker 1 posts since
Nov 28, 2005
Currently Being Moderated
16. Nov 28, 2005 2:25 PM in response to: ReverendDeuce
Re: How to change Windows 2003 server Hal back to Uniprocessor

There is also another a very simple way to change back to Uniprocessor!

 

Simply change the following lines in your hal.inf or create a copy and select it manually when changing the "hal-driver":

 

\[GENDEV_SYS.NTx86]

%E_ISA_UP.DeviceDesc%     = E_ISA_UP_HAL, E_ISA_UP, MPS_UP, MPS_MP,                                           ACPIPIC_UP, ACPIAPIC_UP, ACPIAPIC_MP   ; Standard PC

%ACPIPIC_UP.DeviceDesc%   = ACPIPIC_UP_HAL, ACPIPIC_UP, ACPIAPIC_UP, ACPIAPIC_MP ; ACPI PIC-based PC

%ACPIAPIC_UP.DeviceDesc%  = ACPIAPIC_UP_HAL, ACPIAPIC_MP, ACPIAPIC_UP, ACPIPIC_UP; ACPI APIC-based PC (UP)

%ACPIAPIC_MP.DeviceDesc%  = ACPIAPIC_MP_HAL, ACPIAPIC_MP, ACPIAPIC_UP, ACPIPIC_UP; ACPI APIC-based PC (MP)

%MPS_UP.DeviceDesc%       = MPS_UP_HAL, MPS_UP, ACPIAPIC_UP                      ; MPS UP PC

%MPS_MP.DeviceDesc%       = MPS_MP_HAL, MPS_MP, MPS_UP, ACPIAPIC_MP, ACPIAPIC_UP ; MPS MP PC

 

After that you will be able to choose any hal on an APIC system and it will be installed by the built-in routines. So far it should work without any further problems though it will need some two reboots until erverything is switched over.

 

Jimmy

 

Message was edited by:

        Jimmy Bondi

cosjef Novice 10 posts since
Sep 30, 2005
Currently Being Moderated
17. Nov 29, 2005 9:11 AM in response to: Jimmy Bondi
Re: How to change Windows 2003 server Hal back to Uniprocessor

How can you tell if you are running a UNP or SMP kernel in Windows?

Stamaraster Expert 329 posts since
May 10, 2004
Currently Being Moderated
18. Nov 29, 2005 9:13 AM in response to: cosjef
Re: How to change Windows 2003 server Hal back to Uniprocessor

This is shown in "device manager", under "Computer".

-=Steve Wrona
vvarnell Enthusiast 107 posts since
Jan 11, 2005
Currently Being Moderated
19. Nov 29, 2005 1:22 PM in response to: dstrawfo
Re: How to change Windows 2003 server Hal back to Uniprocessor

You've hit one of the more controversial topics that seems to come up on the boards.

 

From my own experience, I've used the Device Manager method for changing from single- to multi- and back to single-processor again repeatedly with 2000 and 2003 OS's on several dozen VM's. Based upon the usual replies to this question I'm not sure if I got lucky or not.

Stamaraster Expert 329 posts since
May 10, 2004
Currently Being Moderated
20. Nov 29, 2005 1:27 PM in response to: vvarnell
Re: How to change Windows 2003 server Hal back to Uniprocessor

Well, if you've "just been lucky", then I have too.  Ive recently been doing some "physical disk   to SAN" migrations for a client, and ALL of these machines have been 2 vCPU.  All of the Win2k3 servers have been fine with simply changing the driver in Device Manager.

 

Re: How to change Windows 2003 server Hal back to Uniprocessor"Just dont say that too loudly.  I dont want the VMs to hear!"[/i] 

-=Steve Wrona
devzero Master 2,776 posts since
Dec 27, 2004
Currently Being Moderated
21. Dec 8, 2005 4:54 PM in response to: Stamaraster
Re: How to change Windows 2003 server Hal back to Uniprocessor

reading all this stuff while trying to manually p2v a windows 2003 system i only can tell:

 

windows makes me sick!

 

linux p2v is just trivial, if i compare this to a windows p2v.....

 

ok - linux has it`s disadvantages, too - but at least it's a transparent system where you always know, what to tune - and where....

 

regards

roland

mreferre Virtuoso 3,096 posts since
Jan 16, 2004
Currently Being Moderated
22. Dec 9, 2005 9:29 AM in response to: MR-T
Re: How to change Windows 2003 server Hal back to Uniprocessor

MR-T,

 

>There is a very small overhead (about 20%), but if you can live with this, >it's good

 

I was wondering if that number was your feeling, if you have measured it for real or if you have read it somewhere.

 

Thanks. Massimo.

Massimo Re Ferre' VMware vCloud Architect twitter.com/mreferre www.it20.info
Mike_Laverick Virtuoso vExpert 4,279 posts since
Jan 5, 2004
Currently Being Moderated
23. Dec 9, 2005 3:57 PM in response to: mreferre
Re: How to change Windows 2003 server Hal back to Uniprocessor

I wrote an article on this issue... which some of you might find interesting

 

http://www.rtfm-ed.co.uk/docs/vmwdocs/whitepaper-upgrading-cpus-on-non-acpi-p2v.pdf

 

Regards

Mike

Regards Mike Laverick RTFM Education http://www.rtfm-ed.co.uk
MrHPUX Novice 13 posts since
Jun 23, 2005
Currently Being Moderated
24. Dec 30, 2005 7:33 AM in response to: dstrawfo
Re: How to change Windows 2003 server Hal back to Uniprocessor

I have read that Microsoft does not support going from SMP to UNI for Windows 2003. Does anyony have a Microsoft link to support this?

Mike_Laverick Virtuoso vExpert 4,279 posts since
Jan 5, 2004
Currently Being Moderated
25. Dec 30, 2005 9:29 AM in response to: MrHPUX
Re: How to change Windows 2003 server Hal back to Uniprocessor

Not sure if there is a killer article - it might be that MS doesn't want to "admit" in bald terms that its not very good...

 

Essentially, the "problem" centres around the ACPI updates that have to happen (updating the HAL.DLL and so on) and the possible chance of a BSOD... beyond that MS don't state if there a performance problem... On the forum its generally felt that while processor upgrades are fine, processor downgrades are to be avioded. It's good practise to begin with a single-cpu VM because there is less memory overhead - and on a server with a small number of physical cpu's you can experience CPU contention...

 

But anyway...

 

http://support.microsoft.com/default.aspx?scid=kb;en-us;Q234558

 

Is a start... Microsoft states:

 

"You can use this procedure only to upgrade from a single-processor HAL to a multiple-processor HAL. If you use this procedure to change from a standard HAL to an ACPI HAL (for example, after a BIOS upgrade) or vice-versa, unexpected results may occur, including an inability to boot the computer."

 

The unexpected result is a possible BSOD!

 

Also "good" for a read is

 

http://support.microsoft.com/kb/237556/EN-US/

 

which states:

 

"WARNING: Note that you should not attempt to change from an ACPI HAL to a standard HAL or from a standard HAL to a ACPI HAL under any circumstances. Doing so will result in your computer not starting properly or at all. This occurs because the Plug and Play device tree that would be currently loaded is for ACPI, and it does not get reconstructed or revert to a standard HAL Plug and Play device tree. Because of this (the device tree structures being drastically different), the system is unaware of any hardware changes after the computer restarts to include the location of the boot device. Microsoft does not recommend or support this procedure as it will result in data loss. "

 

followed later in the article:

 

"WARNING: Windows 2000 displays the list of compatible computer types that can be installed when you use Device Manager to manually update. Doing anything beyond what is listed as compatible is likely to result in not being able to start your computer correctly or at all. If you do have "Advanced Configuration Power Interface (ACPI) PC" listed as your computer type or after updating to the latest ACPI BIOS, then you cannot update to the "ACPI Multiprocessor PC" through Device Manager and may result in not being able to start your computer correctly or at all. In the case of an ACPI HAL, for Windows 2000 to support or recognize both CPUs using an ACPI HAL, you must first update to the latest ACPI BIOS which is fully compliant, then re-install Windows 2000 as an upgrade so it can automatically detect and install ACPI Multiprocessor PC; if it does not, your BIOS in not fully compliant yet. "

 

Other support articles worth a look at are:

http://support.microsoft.com/kb/234558/EN-US/

http://support.microsoft.com/kb/309283/en-us

http://support.microsoft.com/kb/299340/

 

 

but it doesn't state much beyond the other two articles... the middle one - explains how you don't have to mess around with the HAL.DLL as Windows XP has a detection process and adding in the update HAL for you....

 

I've done upgrades and downgrades if 2-CPU to Single-CPU with P2V... with ACPI and non-ACPI systems. I've done it for OS's which technically isn't support by VMware with P2V.... This is easy in things like W2K3 but harder in W2K3/XP because Device Manager hides the options required to update the HAL accordingly... I had to fix my issues with Microsoft DevCon from MS DDK...

 

KB 309283 from TechNet states this.... and my DevCon method is a work around on this GUI restriction:

 

"Device Manager does not permit the change from a Non-ACPI HAL to an ACPI HAL. You must use a new install of Windows XP or Windows Server 2003 for this kind of change. Change from an ACPI HAL to a Non-ACPI HAL only for troubleshooting purposes. "

 

This has been development environment - and did it primarily to see if it could be done. They are not production VM's. So the process was merely one of acedemic interest.

 

Regards

Mike Laverick

url=http://www.rtfm-ed.co.ukRTFM Education - VMware[/url]

url=http://www.rtfm-ed.co.uk/docs/vmwdocs/Admin-P2V-2.0.pdfGuide to P2V 2.x /url

Regards Mike Laverick RTFM Education http://www.rtfm-ed.co.uk
paulo.meireles Master 999 posts since
Oct 29, 2004
Currently Being Moderated
26. Dec 30, 2005 9:54 AM in response to: Mike_Laverick
Re: How to change Windows 2003 server Hal back to Uniprocessor

I just started a thread with a possible solution here: http://www.vmware.com/community/thread.jspa?threadID=29202

 

Paulo

paulo.meireles Master 999 posts since
Oct 29, 2004
Currently Being Moderated
27. Jan 11, 2006 1:31 PM in response to: Mike_Laverick
Re: How to change Windows 2003 server Hal back to Uniprocessor

(...) beyond that MS don't state if there a performance problem...

 

I found a very interesting paragraph, (http://support.microsoft.com/default.aspx?scid=kb;EN-US;811366) which reads:

 

Re: How to change Windows 2003 server Hal back to Uniprocessor"In Windows 2000, you can change to any listed HAL type. However, if you select an incorrect HAL, the computer may not start correctly. Therefore, Re: How to change Windows 2003 server Hal back to Uniprocessoronly compatible HALs are listed in Windows Server 2003 and Windows XP[/b]. If you run a multiprocessor HAL with only a single processor installed, the computer typically works as expected, and Re: How to change Windows 2003 server Hal back to Uniprocessorthere is little or no affect on performance[/b]."[/i] (my emphasis)

 

This seems to imply that, as soon as a HAL is visible and selected, it's "compatible" - I hope meaning it's supported to change to that HAL.

 

I guess this addresses some of the FUD around these forums...

 

Paulo

Mike_Laverick Virtuoso vExpert 4,279 posts since
Jan 5, 2004
Currently Being Moderated
28. Jan 11, 2006 2:07 PM in response to: paulo.meireles
Re: How to change Windows 2003 server Hal back to Uniprocessor

Yes... I think you right...

 

With or without GUI tools you can downgrade and upgrade at will - even on W2K3 where "valid" HAL's are "hidden"...

 

This is what I discovered with my DevCon tests...

 

The performance issue is one I have picked up from the Forum rather than any KB from Microsoft.

 

Its not clear whether this performance issue is associated with the way ESX "idles" a VM when it is not making requests of the CPU. As I understand it in order for ESX to idle a VM properly it has to have the correct HAL associated with its "virtual" hardware i.e 2-cpu or 1-cpu...

 

Kind Regards

Mike

Regards Mike Laverick RTFM Education http://www.rtfm-ed.co.uk
mreferre Virtuoso 3,096 posts since
Jan 16, 2004
Currently Being Moderated
29. Jan 11, 2006 2:16 PM in response to: Mike_Laverick
Re: How to change Windows 2003 server Hal back to Uniprocessor

Mike, Paulo,

 

idling, vSMP, correct hal, %ready, overhead associated to hal mismatches etc etc etc .... my very personal opinion is that this is a big mess and everyone is shooting in the dark ...... (and I mean everyone).

 

My 0.000002 cents worth comment.

 

Massimo.

Massimo Re Ferre' VMware vCloud Architect twitter.com/mreferre www.it20.info

Bookmarked By (0)

Share This Page

Communities