GNU/Linux >> Znalost Linux >  >> Linux

Jak číst/zapisovat všechna nastavení BIOSu z Linux CLI?

Neexistuje žádný obecný způsob, jak může operační systém přistupovat k systému BIOS. To by bylo možné pouze v případě, že by výrobci poskytli podrobné informace a existovaly zavedené normy, jak to má být provedeno. Není tomu tak a stejně si nemyslím, že by to byl dobrý nápad.

Někteří výrobci vytvořili software pro své vlastní systémy, alespoň pro Windows. Tento software musí být navržen pro konkrétní verze systému BIOS.

Problém je v tom, že BIOS je majetkem každého výrobce. Nastavení jsou obvykle uložena v paměti CMOS, ale není to vyžadováno. Výrobci mohou volně ukládat nastavení kdekoli a jakkoli se rozhodnou. Pro tyto podrobnosti není k dispozici žádná dokumentace.

To má bezpečnostní důsledky. Pokud by legitimní software mohl přistupovat k systému BIOS, pak by nic nebránilo škodlivému softwaru, aby udělal totéž. To by pro malware otevřelo zcela nový svět možností, které by jeho tvůrci plně využili. Samozřejmě by mohla být vyvinuta ochranná opatření, ale mohla by být a byla by obejita


To, co nazýváte BIOS, jsou (alespoň) 3 různé věci:

  • Nástroj pro nastavení systému (často nesprávně nazývaný BIOS nebo CMOS Setup)
  • Systém BIOS (tj. základní bootloader a standardizovaná rozhraní API)
  • Firmware (U)EFI (tj. modernější verze abstrakce hardwaru při spouštění)

Zatímco poslední dva odhalují dobře definovanou sadu API, první ne. To znamená, že neexistuje žádný univerzální způsob manipulace se všemi nastaveními, který poskytuje instalační nástroj, který by byl neutrální vůči výrobci.

Pokud jde o to, kde jsou nastavení uložena:Většina prodejců používá statickou RAM zálohovanou baterií (ve starověké nomenklatuře "CMOS-RAM"), což je důvod, proč je problém, když tyto články CR2032 na základní desce zemřou.


Linux
  1. Linux – Jak číst z /proc/$pid/mem pod Linuxem?

  2. Linux:Jak získat všechny přihlašovací protokoly ze systému?

  3. Linux – Jak spustit bootloader z Linuxu?

  1. Jak otevřít, číst a zapisovat ze sériového portu v C?

  2. Jak číst manuálové stránky Linuxu?

  3. Jak mohu ručně připojit linuxový souborový systém pro čtení/zápis jako běžný uživatel?

  1. Jak vypočítat využití CPU procesu pomocí PID v Linuxu z C?

  2. Jak mohu číst z /proc/$pid/mem pod Linuxem?

  3. Jak zapsat obraz ISO na paměťovou kartu USB z příkazového řádku linuxu?