VMware Cloud Community
dmcoop
Contributor
Contributor

After a v2v from MS VS to VMware ESX 3.5 Only One CPU Shows Under Task Manager

I converted a Windows Server 2003 Stnd Server SP1 from Virtual Server 2005 R2 SP1 to VMware ESX 3.5 using VMWare Converter.

It was a single CPU server on the MS VS box but now I want it to be a multi-processor server. I have allocated 2 CPUs for it and when I was doing the conversion I specified 2 CPUs before I turned it on. Only one CPU shows up under task manager now.

Does anyone know how to fix this?

0 Kudos
9 Replies
nick_couchman
Immortal
Immortal

Sounds like you've run into Microsoft's famous issue with installing a single CPU kernel vs. multi CPU kernel. I think they might have actually fixed it in Vista & Server 2008, but XP and 2003 are very, very difficult to get the multi-CPU kernel installed without and completel re-install of the O/S. Search the VMware forums and Google and you're likely to come across a few sets of instructions on possible ways to switch out the uniprocessor kernel for the MP kernel.

0 Kudos
PacketRacer
Enthusiast
Enthusiast

So, I read this message and then went to look at the MS VS machine I converted yesterday. Wouldn't you know it, I have the exact same issue. After conversion I changed VM settings to two CPUs. I sort of assumed it was fine because the thing is running noticeably faster now...

Looking at Task manager, however, I see only 1 CPU.

I'll start digging in and if I find something that solves this, I'll let you know. In the mean time, if you find the solution, please post it here.

P.S. In my case I'm using Windows Server 2003 Enterprise.

0 Kudos
dmcoop
Contributor
Contributor

I have spent a lot of time digging around to find a solution and cannot so far. Both the servers are production servers so I am hesitant to install windows over itself, however, having said that, I could clone the machine and put it in the sandbox network and try it there . . . . I'll do that Monday and post back the results. None of the HAL reset things I have tried have worked.

0 Kudos
TomHowarth
Leadership
Leadership

Microsoft you gotta love 'em Smiley Happy

Tom Howarth

VMware Communities User Moderator

Tom Howarth VCP / VCAP / vExpert
VMware Communities User Moderator
Blog: http://www.planetvm.net
Contributing author on VMware vSphere and Virtual Infrastructure Security: Securing ESX and the Virtual Environment
Contributing author on VCP VMware Certified Professional on VSphere 4 Study Guide: Exam VCP-410
0 Kudos
TKR
Contributor
Contributor

Hello,

it could be done quiet easy. You should go to "Device Manager/Computer/ACPI Uniprocessor PC" and choose "Update Driver". After that choose "Install from a list..." and "Don't search. I will choose...". Then you can select "ACPI Multiprocessor PC", install the driver, reboot and thats all. I have done this a lot of times to install a second CPU into Physical Servers. Maybe it's the same on virt. HW...

BR

Thomas

0 Kudos
nick_couchman
Immortal
Immortal

Never tried that, but it sounds like a logical enough idea. I think I may set up a VM to test that with tomorrow when I get back into the office to see if it works!

0 Kudos
dmcoop
Contributor
Contributor

TKR - Thanks for the idea. I tried your suggestion. I don't have the option to choose an multiprocessor PC.

Anyone else have any other ideas?

0 Kudos
dmcoop
Contributor
Contributor

I got help at Experts-Exchange.com on how to fix this. Here is the link to that thread:

It was actually very simple once I had everything in place. I downloaded DEVCON from this Microsoft site:

Here are the steps I followed once I had DEVCON on the VM.

1) I unzipped it into a temp folder in the root of C: on the VM called DEVCON.

2) I then put this script in the i386 folder of that DEVCON folder I created:

@echo off

cls

rem Author: Mike Laverick

rem URL:

rem Email: support@rtfm-ed.co.uk

echo ====================================================

echo ==Upgrading Standard PC to Multiprocessor PC ======================

echo ====================================================

echo.

echo Please Wait

devcon sethwid @ROOT\PCI_HAL\0000 := !E_ISA_UP !ACPIPIC_UP !ACPIAPIC_UP !ACPIAPIC_MP !MPS_UP !MPS_MP !SGI_MPS_MP !SYSPRO_MP !SGI_MPS_MP > nul

devcon sethwid @ROOT\ACPI_HAL\0000 := !E_ISA_UP !ACPIPIC_UP !ACPIAPIC_UP !ACPIAPIC_MP !MPS_UP !MPS_MP !SGI_MPS_MP !SYSPRO_MP !SGI_MPS_MP > nul

devcon sethwid @ROOT\PCI_HAL\0000 := +ACPIAPIC_MP > nul

devcon sethwid @ROOT\ACPI_HAL\0000 := +ACPIAPIC_MP > nul

devcon update %windir%\inf\hal.inf ACPIAPIC_MP > nul

echo Done!

echo.

echo ====================================================

echo ==Script Completed=======================================

echo ====================================================

echo.

echo ====================================================

echo ==Press any key to reboot the Virtual Machine=======================

echo ====================================================

pause > nul

devcon reboot

3) I did a snapshot of the VM then I shutdown the VM and added a 2nd CPU.

4) Turned the VM on, logged on and then I opened a command prompt and browsed to the DEVCON/i386 directory.

5) I ran the script. Waited till it completed. Hit any key to reboot.

6) For some reason the server hung when it was booting back up. I allowed it to sit completely hung for about 2 minutes then I powered it off with the Infrastructure Client. Then I powered it back on. Everything booted great and the additional CPU was there. I did this on three servers and all three hung the first time but booted fine with no errors the second time. Odd. It could be that I needed to add the CPU AFTER I ran the script and the server rebooted - I don't know and since they are all done now I guess I don't care.

Thanks to everyone for your help and ideas. :smileycool:

0 Kudos
vmw4clt
Contributor
Contributor

I've been battling this same issue for some time now - thank you for your post on this issue

The resolution worked perfectly!

0 Kudos