I have been searching around 8 hours and I would like to clear up the points that I haven't fully figured out yet.
TL;DR version: How can I access (read and write) all BIOS settings such as enabling/disabling virtualization, enable/disable turbo frequency of GPU, set log display time etc. from the CLI?
Here is the story:
First, we had old BIOSes, such as this one:
And now, we have a new generation of BIOSes, such as this one:
We call them UEFI BIOSes, am I correct?
Then I've read (and tested) the following articles:
- www.pixelbeat.org/docs/bios/
- stackoverflow.com/questions/6259124/apis-for-querying-and-setting-bios-properties (and also all links referred in responses)
- unix.stackexchange.com/questions/126132/how-to-dump-bios-data-to-a-file
- stackoverflow.com/questions/34537435/where-does-dmidecode-get-the-smbios-table
- en.wikipedia.org/wiki/System_Management_BIOS
- www.linux-mag.com/id/7768/
- www-pc.uni-regensburg.de/hardware/techdok/bios_dmi_20.pdf (up to page 17)
- www.geeklab.info/2010/05/backup-your-cmos-from-linux/
- www.bioscentral.com/misc/cmosmap.htm
- smackerelofopinion.blogspot.com.tr/2010/09/digging-into-bios-cmos-memory.html
After that, I've changed the BIOS settings (such as virtualization, enable/disable IGD turbo, changing USB settings etc.) several times and dumped the entire contents of following files/commands on each boot.
- dmidecode
- biosdecode
- cpuid
- /dev/mem
- /dev/nvram
Results? I've compared the dump results side-by-side with Meld and voilà! Nothing has changed! What the heck?
Here is the list of my questions. I'm an electronics engineer so you can go into details or refer to technical readings without a hesitation.
- In which part of the mainboard (I mean chip) did we store all the BIOS settings (for old versions)?
- What kind of hardware do we require to keep the settings and interface of UEFI BIOSes? And how is the UEFI BIOS hardware different than the old versions?
- Is there any way to access this hardware over any kind of drivers or files in Linux?
- Is it possible to change those configurations from the OS?
All responses will be appreciated greatly.