Nathan Shearer


There are times when a virtual machine needs to interface with the real world in some way. Perhaps it needs to communicate with analog devices through a special PCI adapter, or it needs exclusive access to a video card for OpenCL computations, or maybe you just want a virtual machine to have some physical USB ports or sound ports on the host it is running on. This reference outlines a configuration I once used to restore a legacy domain controller after it catastrophically failed while it was being decommissioned.

Murphy's Law

The age old adage applies in full effect here. The client contact me (on a Friday afternoon no less) to repair an old domain controller. They were in the process of migrating all the locally shared data and the various active directory services when it "stopped working". I arrived on-site and they already had the system powered off and disconnected for me to take back to the shop for diagnosis.


Back at the shop, I connected the old server and attempted to power it on. It was totally dead, no lights, no fan activity, no beeping, nothing. In my experience this could be a really broken power supply or a totally fired motherboard. It could have been a power surge, or perhaps the power supply died and killed the motherboard in the process. Either way, I had to start with replacing the power supply. That's not a problem since I have many on hand, so I swapped in a replacement and the system was still dead on the bench.

This particular server had a dedicated PCI RAID card, and the entire OS was installed on a RAID5 array across 4 disks. With a dead power supply and a dead motherboard, we decided to virtualize the server since this would allow the client access to a running instance and the freedom to work through the active directory problems that the failure caused.

Hardware Configuration

The hardware configuration was an industrial/military class solid-state Intel Core i7 system that I had previously deployed in some harsh environments where hardware reliability was the top priority. This system already had VMware ESXi 5.5 installed and even had a single PCIe x16 slot.

I also had a PCIe to PCI breakout box which allowed me to connect some legacy ADC cards to newer systems. I connected the breakout box to the new host and installed the PCI RAID card in the PCI box. The 4 hard drives were powered by a dedicated power supply and connected to the RAID card.

Hybrid Virtual Machine Configuration

I created a standard Windows virtual machine without a virtual hard disk. I then passed the PCI card through to the guest VM and powered it on. It was neat watching the console while the guest powered up as I could see the Promise Technologies BIOS for the raid controller load, recognize the drives, and even the array! Windows noticed that it was unsafely shut down and booted backup up without any problems -- it did want to be re-activated though because it had a significant hardware change.

P2V (or V2V)

Now that the system was powered up and running, all I had to do was install VMware vCenter Converter and virtualize the partially virtualized domain controller. Then it could be uploaded to the new VMware host and its local datastore to complete the decommissioning procedure.

% Powered by Modulus %
© 2022 Nathan Shearer