Non esiste un modo generico in cui un sistema operativo può accedere al BIOS di sistema. Ciò sarebbe possibile solo se i produttori fornissero informazioni dettagliate e vi fossero standard stabiliti su come farlo. Non è così, e comunque non credo che sarebbe una buona idea.
Alcuni produttori hanno creato software per i propri sistemi, almeno per Windows. Questo software deve essere progettato per versioni specifiche del BIOS.
Il problema è che il BIOS è proprietario di ciascun produttore. In genere le impostazioni vengono memorizzate nel CMOS ma non è necessario farlo. I produttori sono liberi di memorizzare le impostazioni ovunque e come preferiscono. Nessuna documentazione è disponibile per questi dettagli.
Ci sono implicazioni per la sicurezza con questo. Se il software legittimo potesse accedere al BIOS, non ci sarebbe nulla che impedirebbe al software dannoso di fare lo stesso. Ciò aprirebbe un intero nuovo mondo di possibilità per il malware, di cui i suoi creatori trarrebbero pieno vantaggio. Naturalmente si potrebbero sviluppare misure di salvaguardia, ma potrebbero essere e sarebbero eluse
Quello che chiami BIOS è (almeno) 3 cose diverse:
- L'utility di configurazione del sistema (spesso chiamata erroneamente BIOS o CMOS Setup)
- Il BIOS (ovvero un bootloader rudimentale e API standardizzate)
- Firmware (U)EFI (ovvero una versione più moderna dell'astrazione hardware di avvio)
Mentre gli ultimi due espongono un insieme ben definito di API, il primo no. Ciò significa che non esiste un modo universale indipendente dal fornitore di manipolare tutte le impostazioni fornite dall'utility di configurazione.
Per quanto riguarda dove sono archiviate le impostazioni:la maggior parte dei fornitori utilizza RAM statica con batteria tampone ("CMOS-RAM" nell'antica nomenclatura), motivo per cui è una seccatura se quelle celle CR2032 sulla scheda madre muoiono.