我检查了dmidecode源代码。
我看到了这个:
int fd=open("/dev/mem", O_RDONLY);
long fp=0xE0000L;看起来Linux已经将SMBIOS信息复制到内存中了吗?
发布于 2019-08-27 05:52:52
/dev/mem提供对所有物理地址空间的访问。BIOS固件是这个地址空间的一部分(您的计算机必须有一些代码可以在开机时运行)。
因此Linux“没有将SMBIOS信息复制到内存”,0xe0000自古以来就是BIOS的基址,通过/dev/mem读取它将直接从ROM中读取(除非BIOS在引导过程中用影子RAM替换了自己,但这与Linux无关)。
https://unix.stackexchange.com/questions/537565
复制相似问题