BIOS lze nahrát i do běžícího počítače, někdy i přímo z OS, utilitou flashrom. Obsah té ROM se natahuje při startu počítače do paměti, pak už se s obsahem nepracuje, takže ho lze přepsat.
No tam strašně záleží na spoustě věcech. Pokud se použije interní SPI kontroler pro zápis nebo čtení, je potřeba brát v potaz že bude respektovat ochrany proti čtení nebo zápisu. To je definováno ve "Flash Descriptoru", tedy jakési partition tabulce pro SPI flash chip (to je kde BIOS / UEFI je uložené).
Flash Descriptor definuje regiony, jako například pro "BIOS" nebo "Intel ME" (Intel Management Engine). Je velice časté že Flash Descriptor je zamčený proti zápisu. Ale regiony jako "BIOS" bývají odemčené pro zápis. Dá se o tom trochu dočíst v coreboot dokumentaci
https://doc.coreboot.org/lib/flashmap.htmlSidenote: Pak jsou borci kteří obejdou SPI kontroler a namísto toho
https://en.wikipedia.org/wiki/Bit_banging kdy přeprogramují IO a implementují SPI softwarově. Díky tomu mohou ignorovat ochrany proti čtení nebo zápisu. Ale to už je jinej level.
Proto práci s SPI flash jsou pro linuxu utility jako
https://www.flashrom.org/ nebo
https://www.flashrom.org/ (což je fork flashromu, který bych upřednostnil před flashromem). Když jsou některé regiony chráněny proti čtení, flashrom i flasprog dokáží číst nebo zapisovat pouze jednotlivé regiony (dokážou parsovat Flash Descriptor).
Pro kompletnost: coreboot je open-source náhrada za BIOS / UEFI. A tento projekt má pomocné utility
https://doc.coreboot.org/util.html, velice nápomocná v tomto ohledu je například "ifdtool" která dokáže celý firmware vzít a rozbalit z něj jednotlivé regiony na samostatné binárky, se kterými se dá pracovat dále.
Pochopitelně nedám ruku do ohně za tom, že to půjde vždy a všude.
Toto není úplně pravda. Do SPI flash se zapisuje, například data z memory training se zapisují, aby příští boot byl rychlejší. Případně další věci pro "fast boot". Navíc Intel ME rád píše do SPI flash.
Ale obecně se dá spousta regionů přepsat bezpečně. Ovšem záleží na tom co všechno vendor nechá odemčené.