来自https://wiki.osdev.org/System_Management_BIOS
SMBIOS入口点表位于地址0xF0000和0xFFFFF之间的某个位置,并且必须位于16字节边界上。要查找表开头的特定位置,必须在内存的该区域中搜索字符串“ SM ”,然后检查结构的校验和(添加所有字节,然后查看最低8结果的位为零)。
如何从命令行中找到确切地址:
# cat /dev/mem | grep '_SM_'
Binary file (standard input) matches
cat: /dev/mem: Operation not permitted
答案 0 :(得分:1)
dmidecode 实用程序(在基于Debian的系统(如Ubuntu)上作为 dmidecode 软件包的一部分安装)如果与一起运行,将显示SMBIOS入口点。 -no-sysfs 选项。地址显示在输出的第二行:
$ sudo dmidecode --no-sysfs
# dmidecode 3.2
# SMBIOS entry point at 0x000fxxxx
Found SMBIOS entry point in EFI, reading table from /dev/mem
...
biosdecode 和 dmidecode 实用程序可用于检查表。
biosdecode 直接检查内存(默认情况下为 / dev / mem ,但可以通过 -d 选项进行更改)以查找内存。 SMBIOS表(和其他表)。 dmidecode 将首先尝试在sysfs中定位DMI表(除非使用-no-sysfs 选项运行),然后退回到检查内存。
链接: