Virtualbox and Windows OEM Guest
Sometimes you have a Window client sitting around running an important piece of software and the hardware is ancient. All you want to do is run this OS + critical application AS-IS and not risk the hardware failing. And yes you should upgrade, migrate whatever but that is just not in scope for you at the moment. Virtualization is ideal but Microsoft licensing might make it difficult. I am still unclear if it is legal or not to run an OEM Windows OS inside a virtual machine.
If you have no other option and virtualization is the only choice this post might come in handy when you are bumping into Windows Activation issues and using Virtualbox. I am sure other virtualization solutions have their own options to simulate BIOS configurations.
You can play with simulating the PC BIOS (read further down). Or you can also try the SLIC ACPI table option.
For my test the SLIC option worked.
Using SLIC tables:
$ VBoxManage setextradata win7 "VBoxInternal/Devices/acpi/0/Config/CustomTable" "/tmp/SLIC"
That worked!!
Trying on a completely different Virtualbox host (different physical attributes).
$ VBoxManage setextradata win7-vostro "VBoxInternal/Devices/acpi/0/Config/CustomTable" "/DATA/VirtualBox/Machines/win7-vostro/SLIC"
If you need to play with emulating your BIOS:
# dmidecode -t0 # dmidecode 2.12 SMBIOS 2.5 present. Handle 0x0001, DMI type 0, 24 bytes BIOS Information Vendor: Dell Inc. Version: A08 Release Date: 03/05/2010 Address: 0xE2480 Runtime Size: 121728 bytes ROM Size: 64 kB Characteristics: ISA is supported PCI is supported PC Card (PCMCIA) is supported PNP is supported BIOS is upgradeable BIOS shadowing is allowed ESCD support is available Boot from CD is supported ACPI is supported USB legacy is supported AGP is supported BIOS boot specification is supported Targeted content distribution is supported BIOS Revision: 1.1 Firmware Revision: 1.1 # dmidecode -t1 # dmidecode 2.12 SMBIOS 2.5 present. Handle 0x0002, DMI type 1, 27 bytes System Information Manufacturer: Dell Inc. Product Name: Vostro 1520 Version: Null Serial Number: 30Z90M1 UUID: 44454C4C-3000-105A-8039-B3C04F304D31 Wake-up Type: Power Switch SKU Number: Null Family: Vostro
An example:
VBoxManage setextradata WINXP2 "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVendor" "Dell Inc." VBoxManage setextradata WINXP2 "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVersion" "1.0.3" VBoxManage setextradata WINXP2 "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseDate" "06/20/2008" VBoxManage setextradata WINXP2 "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseMajor" 2 VBoxManage setextradata WINXP2 "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseMinor" 1 VBoxManage setextradata WINXP2 "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSFirmwareMajor" 2 VBoxManage setextradata WINXP2 "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSFirmwareMinor" 1 VBoxManage setextradata WINXP2 "VBoxInternal/Devices/pcbios/0/Config/DmiSystemVendor" "Dell Inc." VBoxManage setextradata WINXP2 "VBoxInternal/Devices/pcbios/0/Config/DmiSystemProduct" "Vostro 410" VBoxManage setextradata WINXP2 "VBoxInternal/Devices/pcbios/0/Config/DmiSystemVersion" "<EMPTY>" VBoxManage setextradata WINXP2 "VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial" "DJX9DH1" VBoxManage setextradata WINXP2 "VBoxInternal/Devices/pcbios/0/Config/DmiSystemFamily" "86-based PC" VBoxManage setextradata WINXP2 "VBoxInternal/Devices/pcbios/0/Config/DmiSystemUuid" "44454C4C-4A00-1058-8039-C4C04F444831" <span style="text-decoration: underline;"><strong>I set mine as follow:</strong></span> [bash] VBoxManage setextradata win7 "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVendor" "Dell Inc." VBoxManage setextradata win7 "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVersion" "A08" VBoxManage setextradata win7 "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseDate" "03/05/2010" VBoxManage setextradata win7 "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseMajor" 1 VBoxManage setextradata win7 "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseMinor" 1 VBoxManage setextradata win7 "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSFirmwareMajor" 1 VBoxManage setextradata win7 "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSFirmwareMinor" 1 VBoxManage setextradata win7 "VBoxInternal/Devices/pcbios/0/Config/DmiSystemVendor" "Dell Inc." VBoxManage setextradata win7 "VBoxInternal/Devices/pcbios/0/Config/DmiSystemProduct" "Vostro 1520" VBoxManage setextradata win7 "VBoxInternal/Devices/pcbios/0/Config/DmiSystemVersion" "<EMPTY>" VBoxManage setextradata win7 "VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial" "30Z90M1" VBoxManage setextradata win7 "VBoxInternal/Devices/pcbios/0/Config/DmiSystemFamily" "86-based PC" VBoxManage setextradata win7 "VBoxInternal/Devices/pcbios/0/Config/DmiSystemUuid" "44454C4C-3000-105A-8039-B3C04F304D31"
Links:
https://forums.virtualbox.org/viewtopic.php?f=5&t=21471
https://www.virtualbox.org/ticket/9231