VirtualBox

Opened 8 days ago

Last modified 6 days ago

#22101 new defect

No CPU Information with dmidecode in VirtualBox on Debian12

Reported by: samadhan2601 Owned by:
Component: host support Version: VirtualBox-7.0.18
Keywords: Cc:
Guest type: Linux Host type: Linux

Description (last modified by samadhan2601)

Description: I am experiencing an issue with obtaining detailed CPU information using the dmidecode command on a Debian 12 virtual machine running in VirtualBox. The dmidecode command provides only limited data, while other commands like lscpu and cat /proc/cpuinfo return complete CPU details.

Steps to Reproduce:

  1. Install Debian 12 as a guest OS in VirtualBox.
  2. Run the sudo dmidecode command to obtain hardware information.

Expected Results: The dmidecode command should provide detailed CPU information similar to what is provided by lscpu and /proc/cpuinfo.

Actual Results: The dmidecode command returns limited information, mostly related to the BIOS and basic system configuration. Detailed CPU information is not included.

Example Output: Here is the output of the sudo dmidecode command on my Debian12 VM:

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 2.5 present.
10 structures occupying 450 bytes.
Table at 0x000E1000.

Handle 0x0000, DMI type 0, 20 bytes
BIOS Information
    Vendor: innotek GmbH
    Version: VirtualBox
    Release Date: 12/01/2006
    Address: 0xE0000
    Runtime Size: 128 kB
    ROM Size: 128 kB
    Characteristics:
        ISA is supported
        PCI is supported
        Boot from CD is supported
        Selectable boot is supported
        8042 keyboard services are supported (int 9h)
        CGA/mono video services are supported (int 10h)
        ACPI is supported

Handle 0x0001, DMI type 1, 27 bytes
System Information
    Manufacturer: innotek GmbH
    Product Name: VirtualBox
    Version: 1.2
    Serial Number: 0
    UUID: e83f6988-828d-5142-a0e2-2bca4c199fc3
    Wake-up Type: Power Switch
    SKU Number: Not Specified
    Family: Virtual Machine

Handle 0x0008, DMI type 2, 15 bytes
Base Board Information
    Manufacturer: Oracle Corporation
    Product Name: VirtualBox
    Version: 1.2
    Serial Number: 0
    Asset Tag: Not Specified
    Features:
        Board is a hosting board
    Location In Chassis: Not Specified
    Chassis Handle: 0x0003
    Type: Motherboard
    Contained Object Handles: 0

Handle 0x0003, DMI type 3, 13 bytes
Chassis Information
    Manufacturer: Oracle Corporation
    Type: Other
    Lock: Not Present
    Version: Not Specified
    Serial Number: Not Specified
    Asset Tag: Not Specified
    Boot-up State: Safe
    Power Supply State: Safe
    Thermal State: Safe
    Security Status: None

Handle 0x0007, DMI type 126, 42 bytes
Inactive

Handle 0x0005, DMI type 126, 15 bytes
Inactive

Handle 0x0006, DMI type 126, 28 bytes
Inactive

Handle 0x0002, DMI type 11, 7 bytes
OEM Strings
    String 1: vboxVer_6.1.50
    String 2: vboxRev_161033

Handle 0x0004, DMI type 128, 8 bytes
OEM-specific Type
    Header and Data:
        80 08 04 00 FF C5 2A 00

Handle 0xFEFF, DMI type 127, 4 bytes
End Of Table

Commands That Work: The following commands provide complete CPU details:

  • lscpu
  • cat /proc/cpuinfo

Example lscpu Output:

root@faiserver:~# lscpu
Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         39 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  1
  On-line CPU(s) list:   0
Vendor ID:               GenuineIntel
  Model name:            11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz
    BIOS Model name:       CPU @ 0.0GHz
    BIOS CPU family:     0
    CPU family:          6
    Model:               140
    Thread(s) per core:  1
    Core(s) per socket:  1
    Socket(s):           1
    Stepping:            1
    BogoMIPS:            5606.39
    Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse ss
                         e2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_fre
                         q pni pclmulqdq monitor ssse3 cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx rdrand
                         hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase avx2 invpcid rdseed clflushopt
                          md_clear flush_l1d arch_capabilities
Virtualization features:
  Hypervisor vendor:     KVM
  Virtualization type:   full
Caches (sum of all):
  L1d:                   48 KiB (1 instance)
  L1i:                   32 KiB (1 instance)
  L2:                    1.3 MiB (1 instance)
  L3:                    12 MiB (1 instance)
NUMA:
  NUMA node(s):          1
  NUMA node0 CPU(s):     0
Vulnerabilities:
  Gather data sampling:  Unknown: Dependent on hypervisor status
  Itlb multihit:         KVM: Mitigation: VMX unsupported
  L1tf:                  Mitigation; PTE Inversion
  Mds:                   Mitigation; Clear CPU buffers; SMT Host state unknown
  Meltdown:              Mitigation; PTI
  Mmio stale data:       Not affected
  Retbleed:              Not affected
  Spec rstack overflow:  Not affected
  Spec store bypass:     Vulnerable
  Spectre v1:            Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  Spectre v2:            Mitigation; Retpolines, STIBP disabled, RSB filling, PBRSB-eIBRS Not affected
  Srbds:                 Not affected
  Tsx async abort:       Not affected
root@faiserver:~#

Example /proc/cpuinfo Output:

root@faiserver:~# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 140
model name      : 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz
stepping        : 1
cpu MHz         : 2803.198
cache size      : 12288 KB
physical id     : 0
siblings        : 1
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 22
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq monitor ssse3 cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase avx2 invpcid rdseed clflushopt md_clear flush_l1d arch_capabilities
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit gds
bogomips        : 5606.39
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:
root@faiserver:~#

BIOS/UEFI Version

root@faiserver:~# sudo dmidecode -t bios
# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 2.5 present.

Handle 0x0000, DMI type 0, 20 bytes
BIOS Information
    Vendor: innotek GmbH
    Version: VirtualBox
    Release Date: 12/01/2006
    Address: 0xE0000
    Runtime Size: 128 kB
    ROM Size: 128 kB
    Characteristics:
        ISA is supported
        PCI is supported
        Boot from CD is supported
        Selectable boot is supported
        8042 keyboard services are supported (int 9h)
        CGA/mono video services are supported (int 10h)
        ACPI is supported

root@faiserver:~#

My Observation It appears that dmidecode is not exposing detailed CPU information due to the limitations of the virtualization environment in VirtualBox. This might be an inherent limitation of VirtualBox's handling of SMBIOS data.

JFYR: I Have also check VirtualBox Settings And Ensure that the VM settings are configured to provide as much hardware information as possible:

  • Enable I/O APIC: From Settings > System > Motherboard.
  • Enable PAE/NX : Under Settings > System > Processor.
  • Interface Default : Under Settings > System > Acceleration

Please check the attachment:

Request for Assistance:

  • Is there a way to configure VirtualBox to expose more detailed SMBIOS information to the guest OS?
  • Are there any settings or additional steps that can be taken to enable dmidecode to retrieve full CPU information in a VirtualBox VM?
  • Any insights or suggestions to address this issue would be greatly appreciated.

Thank you for your assistance.

Attachments (3)

Screenshot 2024-06-23 161133.png (73.6 KB ) - added by samadhan2601 8 days ago.
VirtualBox CPU Setting
ECR_Mirror_Host_BIOS_FIRMWARE.png (91.5 KB ) - added by samadhan2601 8 days ago.
BIOS/UEFI Version from Linux Host
VirtualBox CPU .png (58.4 KB ) - added by samadhan2601 8 days ago.
VirtualBox CPU

Download all attachments as: .zip

Change History (6)

by samadhan2601, 8 days ago

VirtualBox CPU Setting

by samadhan2601, 8 days ago

BIOS/UEFI Version from Linux Host

comment:1 by samadhan2601, 8 days ago

Description: modified (diff)

comment:2 by samadhan2601, 8 days ago

Description: modified (diff)

by samadhan2601, 8 days ago

Attachment: VirtualBox CPU .png added

comment:3 by Klaus Espenlaub, 6 days ago

Expected behavior (because it's a royal pain to provide infinite detail in the SMBIOS tables, which also use up space in the very limited legacy BIOS). Is there any rule requiring the table to be 100% accurate and cover absolutely any detail? Those tables are actually harder to create (and later get to/process by software) than what's provided through the CPUID instruction.

No plans to do anything about it, but if you have a specific fix in mind please provide a patch which sketches what you think you need. The SMBIOS table construction code is at source:/vbox/trunk/src/VBox/Devices/PC/DevFwCommon.cpp

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use