Project

General

Profile

Support #489

Using VirtualBox To Emulate Unique Hardware

Added by Daniel Curtis over 9 years ago. Updated almost 7 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Virtualization
Target version:
Start date:
12/09/2014
Due date:
% Done:

50%

Estimated time:
3.00 h
Spent time:

Description

Configuring the BIOS DMI Information

The DMI data VirtualBox provides to guests can be changed for a specific VM. Use the following commands to configure the DMI BIOS information. In case your VM is configured to use EFI firmware you need to replace pcbios by efi in the keys.

DMI BIOS Information (type 0)

  • The following commands configure a VM for type 0 emulation
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVendor" "BIOS Vendor" 
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVersion" "BIOS Version" 
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseDate" "BIOS Release Date" 
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseMajor"  1
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseMinor"  2
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSFirmwareMajor" 3
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSFirmwareMinor" 4
    

DMI System Information (type 1)

  • The following commands configure a VM for type 1 emulation
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemVendor" "System Vendor" 
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemProduct" "System Product" 
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemVersion" "System Version" 
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial" "System Serial" 
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemSKU" "System SKU" 
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemFamily" "System Family" 
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemUuid" "9852bf98-b83c-49db-a8de-182c42c7226b" 
    

DMI Board Information (type 2)

  • The following commands configure a VM for type 2 emulation
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiBoardVendor" "Board Vendor" 
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiBoardProduct" "Board Product" 
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiBoardVersion" "Board Version" 
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiBoardSerial" "Board Serial" 
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiBoardAssetTag" "Board Tag" 
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiBoardLocInChass" "Board Location" 
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiBoardBoardType" 10
    

DMI System Enclosure or Chassis (type 3)

  • The following commands configure a VM for type 3 emulation
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiChassisVendor" "Chassis Vendor" 
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiChassisType" 3
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiChassisVersion" "Chassis Version" 
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiChassisSerial" "Chassis Serial" 
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiChassisAssetTag" "Chassis Tag" 
    

DMI Processor Information (type 4)

  • The following commands configure a VM for type 4 emulation
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiProcManufacturer" "GenuineIntel" 
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiProcVersion" "Pentium(R) III" 
    

DMI OEM Strings (type 11)

  • The following commands configure a VM for type 11 emulation
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiOEMVBoxVer" "vboxVer_1.2.3" 
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiOEMVBoxRev" "vboxRev_12345" 
    

If a DMI string is not set, the default value of VirtualBox is used. To set an empty string use "<EMPTY>".

Note that in the above list, all quoted parameters (DmiBIOSVendor, DmiBIOSVersion but not DmiBIOSReleaseMajor) are expected to be strings. If such a string is a valid number, the parameter is treated as number and the VM will most probably refuse to start with an VERR_CFGM_NOT_STRING error. In that case, use "string:<value>", for instance

VBoxManage setextradata "VM name" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial" "string:1234" 

Hard Disk Vendor Product Data

VirtualBox reports vendor product data for its virtual hard disks which consist of hard disk serial number, firmware revision and model number.

  • These can be changed using the following commands:
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/ahci/0/Config/Port0/SerialNumber" "serial" 
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/ahci/0/Config/Port0/FirmwareRevision" "firmware" 
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/ahci/0/Config/Port0/ModelNumber" "model" 
    

The serial number is a 20 byte alphanumeric string, the firmware revision an 8 byte alphanumeric string and the model number a 40 byte alphanumeric string. Instead of "Port0" (referring to the first port), specify the desired SATA hard disk port.

  • The above commands apply to virtual machines with an AHCI (SATA) controller. The commands for virtual machines with an IDE controller are:
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/piix3ide/0/Config/PrimaryMaster/SerialNumber" "serial" 
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/piix3ide/0/Config/PrimaryMaster/FirmwareRevision" "firmware" 
    VBoxManage setextradata "VM name" "VBoxInternal/Devices/piix3ide/0/Config/PrimaryMaster/ModelNumber" "model" 
    

Changing this information can be necessary to provide the DMI information of the host to the guest to prevent Windows from asking for a new product key.

Acquiring DMI information

  • On Linux hosts the DMI BIOS information can be obtained with
    dmidecode -t0
    
    • Example output:
      # dmidecode 2.12
      SMBIOS 2.3 present.
      
      Handle 0x0000, DMI type 0, 20 bytes
      BIOS Information
          Vendor: American Megatrends Inc.
          Version: 1009.005                
          Release Date: 09/20/2005  EMAXS
          Address: 0xF0000
          Runtime Size: 64 kB
          ROM Size: 512 kB
          Characteristics:
              ISA is supported
              PCI is supported
              PNP is supported
              APM is supported
              BIOS is upgradeable
              BIOS shadowing is allowed
              ESCD support is available
              Boot from CD is supported
              Selectable boot is supported
              BIOS ROM is socketed
              EDD is supported
              5.25"/1.2 MB floppy services are supported (int 13h)
              3.5"/720 kB floppy services are supported (int 13h)
              3.5"/2.88 MB floppy services are supported (int 13h)
              Print screen service is supported (int 5h)
              8042 keyboard services are supported (int 9h)
              Serial services are supported (int 14h)
              Printer services are supported (int 17h)
              CGA/mono video services are supported (int 10h)
              ACPI is supported
              USB legacy is supported
              AGP is supported
              LS-120 boot is supported
              ATAPI Zip drive boot is supported
              BIOS boot specification is supported
      
  • And the DMI system information can be obtained with
    dmidecode -t1
    
    • Example output:
      # dmidecode 2.12
      SMBIOS 2.3 present.
      
      Handle 0x0001, DMI type 1, 25 bytes
      System Information
          Manufacturer: ASUSTeK Computer Inc.
          Product Name: K8V-MX
          Version:                     
          Serial Number:                       
          UUID: 8051E622-8EFE-E511-81A3-01F1D8C8E15F
          Wake-up Type: PCI PME#
      
  • And the DMI board information can be obtained with
    dmidecode -t2
    
    • Example output:
      # dmidecode 2.12
      SMBIOS 2.3 present.
      
      Handle 0x0002, DMI type 2, 8 bytes
      Base Board Information
          Manufacturer: ASUSTeK Computer Inc.
          Product Name: K8V-MX
          Version: Rev 1.XX
          Serial Number:             
      
  • And the DMI system enclosure or chassis can be obtained with
    dmidecode -t3
    
    • Example output:
      # dmidecode 2.12
      SMBIOS 2.3 present.
      
      Handle 0x0003, DMI type 3, 17 bytes
      Chassis Information
          Manufacturer: emaxs
          Type: Mini Tower
          Lock: Not Present
          Version: SCEP
          Serial Number:                 
          Asset Tag:                       
          Boot-up State: Safe
          Power Supply State: Safe
          Thermal State: Safe
          Security Status: None
          OEM Information: 0x00000001
      
  • And the DMI processor information can be obtained with
    dmidecode -t4
    
    • Example output:
      # dmidecode 2.12
      SMBIOS 2.3 present.
      
      Handle 0x0004, DMI type 4, 35 bytes
      Processor Information
          Socket Designation: Socket 754
          Type: Central Processor
          Family: Athlon 64
          Manufacturer: AMD              
          ID: C6 0F 02 20 AF FB 8B 17
          Signature: Family 15, Model 44, Stepping 2
          Flags:
              FPU (Floating-point unit on-chip)
              VME (Virtual mode extension)
              DE (Debugging extension)
              PSE (Page size extension)
              TSC (Time stamp counter)
              MSR (Model specific registers)
              PAE (Physical address extension)
              MCE (Machine check exception)
              CX8 (CMPXCHG8 instruction supported)
              APIC (On-chip APIC hardware supported)
              SEP (Fast system call)
              MTRR (Memory type range registers)
              PGE (Page global enable)
              MCA (Machine check architecture)
              CMOV (Conditional move instruction supported)
              PAT (Page attribute table)
              PSE-36 (36-bit page size extension)
              CLFSH (CLFLUSH instruction supported)
              MMX (MMX technology supported)
              FXSR (FXSAVE and FXSTOR instructions supported)
              SSE (Streaming SIMD extensions)
              SSE2 (Streaming SIMD extensions 2)
          Version: AMD Sempron(tm) Processor 3400+                     
          Voltage: 1.5 V
          External Clock: 200 MHz
          Max Speed: 2200 MHz
          Current Speed: 2000 MHz
          Status: Populated, Enabled
          Upgrade: Socket 754
          L1 Cache Handle: 0x0005
          L2 Cache Handle: 0x0006
          L3 Cache Handle: Not Provided
          Serial Number: To Be Filled By O.E.M.
          Asset Tag: To Be Filled By O.E.M.
          Part Number: To Be Filled By O.E.M.
      
  • And the DMI OEM strings can be obtained with
    dmidecode -t11
    
    • Example output:
      # dmidecode 2.12
      SMBIOS 2.3 present.
      
      Handle 0x002D, DMI type 11, 5 bytes
      OEM Strings
          String 1: ASUSTeK Computer Inc.
          String 2:                
          String 3: 011BD8C8E25D
      
  • The Hard Disk Vendor Product Data
    hdparm -I /dev/sda
    
    • Example output:
      /dev/sda:
      
      ATA device, with non-removable media
          Model Number:       WDC WD2000JB-00REA0                     
          Serial Number:      WD-WCANK4421153
          Firmware Revision:  20.00K20
      Standards:
          Supported: 7 6 5 4 
          Likely used: 8
      Configuration:
          Logical        max    current
          cylinders    16383    16383
          heads        16    16
          sectors/track    63    63
          --
          CHS current addressable sectors:   16514064
          LBA    user addressable sectors:  268435455
          LBA48  user addressable sectors:  390721968
          Logical/Physical Sector size:           512 bytes
          device size with M = 1024*1024:      190782 MBytes
          device size with M = 1000*1000:      200049 MBytes (200 GB)
          cache/buffer size  = 8192 KBytes
      Capabilities:
          LBA, IORDY(can be disabled)
          Standby timer values: spec'd by Standard, with device specific minimum
          R/W multiple sector transfer: Max = 16    Current = 16
          Recommended acoustic management value: 128, current value: 128
          DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5 
               Cycle time: min=120ns recommended=120ns
          PIO: pio0 pio1 pio2 pio3 pio4 
               Cycle time: no flow control=120ns  IORDY flow control=120ns
      Commands/features:
          Enabled    Supported:
             *    SMART feature set
                  Security Mode feature set
             *    Power Management feature set
             *    Write cache
             *    Look-ahead
             *    Host Protected Area feature set
             *    WRITE_BUFFER command
             *    READ_BUFFER command
             *    NOP cmd
             *    DOWNLOAD_MICROCODE
                  SET_MAX security extension
             *    Automatic Acoustic Management feature set
             *    48-bit Address feature set
             *    Device Configuration Overlay feature set
             *    Mandatory FLUSH_CACHE
             *    FLUSH_CACHE_EXT
             *    SMART error logging
             *    SMART self-test
                  Media Card Pass-Through
             *    General Purpose Logging feature set
             *    URG for READ_STREAM[_DMA]_EXT
             *    URG for WRITE_STREAM[_DMA]_EXT
             *    SMART Command Transport (SCT) feature set
             *    SCT Read/Write Long (AC1), obsolete
             *    SCT Write Same (AC2)
             *    SCT Error Recovery Control (AC3)
             *    SCT Features Control (AC4)
             *    SCT Data Tables (AC5)
      Security: 
          Master password revision code = 65534
              supported
          not    enabled
          not    locked
              frozen
          not    expired: security count
          not    supported: enhanced erase
      HW reset results:
          CBLID- above Vih
          Device num = 0 determined by the jumper
      Checksum: correct
      

Resources

#1

Updated by Daniel Curtis over 9 years ago

  • Description updated (diff)
  • Estimated time set to 3.00 h
#2

Updated by Daniel Curtis over 9 years ago

  • Description updated (diff)
  • Status changed from New to In Progress
  • % Done changed from 0 to 50
#3

Updated by Daniel Curtis almost 7 years ago

  • Category set to Virtualization
  • Status changed from In Progress to Closed
  • Target version set to *nix

Also available in: Atom PDF