Spoofing a VirtualBox Guest BIOS
My refurbished Lenovo T400 laptop came with Windows XP installed. I never used XP on the laptop in any meaningful or productive way. Upon delivery I disabled the XP network configuration. Then I shrunk the XP partition to 10 GB. I used the remainder of the 160 GB drive to install Linux based systems.
The XP partition is not bootable from my GRUB boot menu. I had boot menu entries but they were commented out, used only about three times. Last year I created a VirtualBox machine using the XP partition in raw mode. Later I copied the partition to my office desktop and converted the physical partition to virtual.
I spoofed the VirtualBox BIOS to avoid activation nagging in both virtual machines (VMs). I wrote a shell script to grab the laptop BIOS data and massage into the format expected by VirtualBox. Mostly a bunch of
dmidecode output. Also information such as the network card MAC address and firmware SLIC ACPI tables. The MAC address is important to the way XP is designed to trigger reactivation. I needed some trial and error to obtain the expected VirtualBox format for a few of the data keys and not all data was usable by VirtualBox.
I imported that information into the VirtualBox configuration file. After XP was announced as reaching end-of-life, for a while the Microsoft folks granted unlimited reactivations for XP. As of this writing this remains possible.
In my case I did not need to reactivate. The BIOS spoofing worked nicely.
The XP virtual machines run just fine.
As a quick experiment that the MAC address is a critical component in this activation scheme, I changed the MAC address in the VirtualBox configuration dialog. I booted the VM. Like a spoiled child in a store, immediately upon booting XP had a temper tantrum and demanded I reactivate. While I was able to reactivate with no problems, restoring the image from backups was more satisfying.
I am grateful for free/libre software. None of this nonsense exists.
I have Windows 2000 and NT4 VMs. No BIOS spoofing required because these operating system have no activation scheme, being released in a somewhat more benign era of Microsoft history. How times have changed.