I recently learned that unless it's really nessassary that VM's should have multiple cpu's, due to avaliable resource scheduling. Well I have several Windows 2003 VMs that I've configured with 2 CPU's and they don't need. Can anyone tell me the process of converting these VM's from 2 CPU to 1?
I'm guessing's it's going to involve changing the HAL of the VM and the configuration file of the VM. More detailed help would be great. What's the risk of complete screwing up the VM?
Thanks,
Andrew
You may want to make a backup before starting.
Shutdown your VM
Using VC edit the settings of your VM and change the number of cpus to 1
Start you VM
Logon and go to device manager
Click on the Computer and then Update the driver for the miltiprocessor HAL
Choose not to search for software "No, not this time"
Choose "Install form a list or specific location"
Choose "Don't search , I will choose the driver to install"
Find the most appropriate driver - Avanced Configuration and Power interface (ACPI) PC
Reboot and you are done.
You may want to make a backup before starting.
Shutdown your VM
Using VC edit the settings of your VM and change the number of cpus to 1
Start you VM
Logon and go to device manager
Click on the Computer and then Update the driver for the miltiprocessor HAL
Choose not to search for software "No, not this time"
Choose "Install form a list or specific location"
Choose "Don't search , I will choose the driver to install"
Find the most appropriate driver - Avanced Configuration and Power interface (ACPI) PC
Reboot and you are done.
Shutdown the VM. Backup if it is critical machine. Edit setting & change the number of CPU.
If it is windows 2003, it automatically senses & updates the HAL accordingly. It will prompt you to reboot.
Thanks.
Actaully just changing it in settings didn't cause Windows 2003 to detect the change. Even forcing it to scan for changes didn't do it. Actually going in and changing the driver did the trick though.
Andrew
Hi Grax,
This is a fairly common situation for people. You can use the mentioned ways or you can make life easier and just script the change using devcon.
The reason Windows doesen't easily let you change between a uniprocessor (UP) and multiprocessor (MP) HAL is because it's configured that way in the hal.inf file (ie, valid options for a MP hal does not include a UP)
Devcon (command line device manager) has the capability to tell the HAL that it being a UP (uniprocessor) HAL is an option and vice versa.
Doing this will save you time in the long run. You will still have to modify the VM configuration to give it the correct number of CPUs.
I've posted the scripts I use to do the conversion to, and from, MP | UP hal within Windows 2000/2003 in a recent post:
http://communities.vmware.com/message/878150
This method is extremely safe, since it detects the kind of HAL (ie, acpiapic or acpipic etc) and upgrades it to the equivalent MP|UP version.
Cheers,
SP