用于查询和设置bios属性的API

Kar*_*ran 13 c linux operating-system bios

假设我想在Linux中更改计算机BIOS中的设置(如果重要的话,请说Ubuntu 11.)有哪些类型的API可用于查询和操作BIOS设置?

此外,进行此类开发的资源是什么?

pho*_*xis 7

CMOS存储器存在于普通地址空间之外,不能直接包含可执行代码.可通过端口号70h(112d)和71h(113d)的IN和OUT命令访问.为了读取CMOS字节,使用要读取的字节的地址执行OUT到端口70h,然后从端口71h的IN将检索所请求的信息.

您可以使用inboutb宏从这些端口进行读写,以获得存储在CMOS中的整个BIOS设置.对于存储的设置内存格式,请查看:http://bochs.sourceforge.net/techspec/CMOS-reference.txt

这些映射实际上取决于供应商,但大多数应该是常见的.

虽然这不是API,但是通过这种方式,您可以直接访问CMOS内存并制作自己的API.对于快速程序,我建议获取API.在这种情况下,请查看@ Nemo的答案.


Nem*_*emo 5

flashrom是用于从Linux内部刷新新BIOS映像的实用程序。

要自己修改BIOS设置,可以使用/ dev / nvram设备。

此页面提供了有关这两个方面的良好信息。

请注意,NVRAM内容的含义完全取决于BIOS本身。各个BIOS甚至同一BIOS的修订版之间,它都会有所不同。因此,您唯一可以可靠地做的就是将BIOS设置保存在一个系统上,并将它们还原到同一系统上。