Virtualbox and Windows OEM Guest

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>

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

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.