After converting a physical Windows server to a VMware virtual machine (P2V), there’s some cleanup to do, especially if you went from a multi-processor system to a single vCPU. Here’s my checklist.
1. Switch the HAL from Multi-Processor to Uni-Processor
If you change from a multi-processor to a uni-processor system, you have to change the Windows HAL manually after the conversion.
- Let the VM boot and discover its new hardware, then open Device Manager.
- Expand Computer, right-click the processor entry, and choose Update Driver.
- Choose Install from a specific location, then Don’t search. I will choose the driver to install.
- Select Show all compatible hardware and pick the right one. For example, going from dual CPU to single CPU, choose ACPI Uniprocessor PC instead of ACPI Multiprocessor PC.
- Reboot.
To check which HAL is in use, right-click C:\Windows\System32\hal.dll, open the Version tab, and look at Internal Name: halmacpi.dll means multi-processor ACPI and halacpi.dll means uni-processor ACPI.
2. Remove Non-Present (Ghost) Hardware
Open a Command Prompt and run:
SET DEVMGR_SHOW_NONPRESENT_DEVICES=1
DEVMGMT.MSC
In Device Manager, choose View → Show hidden devices and delete any old, grayed-out hardware.
3. Remove Vendor-Specific Software and Drivers
- Uninstall hardware vendor tools in Add/Remove Programs. On an HP server, for example, remove the HP management agents, survey utility, array configuration utility, and version control agent.
- Make sure the NIC isn’t using vendor-specific drivers or software, such as NIC teaming.
- Review Services and disable anything tied to the old hardware vendor.
