Opened 9 months ago
Last modified 9 months 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 )
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:
- Install Debian 12 as a guest OS in VirtualBox.
- 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)
Change History (6)
by , 9 months ago
Attachment: | Screenshot 2024-06-23 161133.png added |
---|
by , 9 months ago
Attachment: | ECR_Mirror_Host_BIOS_FIRMWARE.png added |
---|
BIOS/UEFI Version from Linux Host
comment:1 by , 9 months ago
Description: | modified (diff) |
---|
comment:2 by , 9 months ago
Description: | modified (diff) |
---|
comment:3 by , 9 months 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
VirtualBox CPU Setting