A BIOS villogása. A BIOS felvillantása Linux SPI felületről: történelmi háttér

Találkoztam ezzel a problémával.
a főnök odaadta a laptopot, amit a szervizből hozott.
csiszolni, feltenni, kivenni.
Kiraktam - nem akarja, mert a telepítő nem találja a merevlemezt, ami sata.
A szerviz egy régi BIOS-t telepített, USB-támogatás nélkül, ami nagymértékben megnehezíti a munkát és a merevlemez-csatlakozás típusának manuális meghatározását.
A BIOS-t nem tudod frissíteni a lemezen keresztül, mert valamiért nem látja a meghajtót DOS-ban.
de a vonalat durván telepítették és mindent látott (bár az usb-t továbbra is figyelmen kívül hagyták)
laptop Acer Aspire 5110
Jött az ötlet, hogy telepítsek egy sort, és azon keresztül flasheljem a biost.
Böngésztem az internetet és egy cikkre bukkantam.
Szerintem hasznos lesz.

Gyakorlat

A BIOS frissítéséhez Linux alatt csak két dologra van szüksége - magára a BIOS firmware-re és arra a programra, amely ugyanezt a BIOS-t villogtatja. A program letölthető forrásban innen: http://openbios.info/FlashRom, vagy telepíthető Debian-alapú (például Ubuntu) disztribúciókra APT segítségével:

#apt-get install flashrom

Mielőtt új firmware-t írna a BIOS-ba, célszerű elmenteni a régi verziót, vagyis másolni a BIOS-ban már flashelt firmware-t, hogy később könnyen visszaállíthasson mindent:

#flashrom -r MyBIOS.bin

Ahol a MyBIOS.bin annak a fájlnak a neve, ahová a mentésre kerül régi verzió firmware. Mentés után a letöltött firmware-t saját felelősségére beírhatja a BIOS-ba:

#sudo flashrom -w NewBIOS.bin

Ahol a NewBIOS.bin a letöltött firmware neve. Ezenkívül hozzáadhatja a -v kapcsolót, hogy a program ellenőrizze a rögzített firmware-t, és hozzáadhatja a -V kapcsolót is, hogy a munka kimenete informatívabb legyen:

#sudo flashrom -Vvw NewBIOS.bin

A többi billentyű a --help segítségével érhető el

$flashrom --segítség

A példa segítségével teszteltük a GIGABYTE GA-965P-DQ6 rev2.0 alaplapot Ubuntu 8.04 GNU/Linux rendszerrel.

A flashrom nem működik a táblámon, mit tehetek?

  • Először is ellenőrizze, hogy a lapkakészlete, a ROM chipje és az alaplapja támogatott-e (lásd: Támogatott hardver, vagy flashrom -L).
  • Ha a kártyán van egy áthidaló BIOS flash védelemhez (nézze meg a kézikönyvet), kapcsolja ki.
  • Ha a BIOS menüben van BIOS flash védelem opció, kapcsolja ki.
  • Ha a flashromot Linuxon futtatja, és üzeneteket lát a /dev/mem-ről, olvassa el a következő kérdést.
  • Ha a flashromot OpenBSD-n futtatod, előfordulhat, hogy nyers hozzáférési engedélyt kell szerezned a beállításokkal biztonságos szint=-1 ban ben /etc/rc.securelevelés újraindítás, vagy újraindítás egyfelhasználós módban.
  • Tekintse meg ezt az oldalt a flashrom támogatás megfelelő tesztelésére vonatkozó utasításokért (ez kockázatos lehet, győződjön meg arról, hogy van egy működő tartalék flash chip).

Mit tehetek /dev/mem hibák?

  • Ha a flashrom azt mondja, hogy "/dev/mem mmap sikertelen: A művelet nem engedélyezett":
    • A cikk írásakor a legelterjedtebb a Linux kernel opciója, a CONFIG_IO_STRICT_DEVMEM, amely megakadályozza, hogy még a root felhasználó is hozzáférjen a hardverhez a felhasználói térből. Próbálja újra az újraindítás után iomem=nyugodt a kernel parancssorában.
    • Egyes rendszereknél helytelen memóriafoglalással (pl. E820 map) előfordulhat, hogy még a CONFIG_STRICT_DEVMEM esetén is ugyanez a probléma. Ebben az esetben iomem=nyugodt a kernel parancssorban is segíthet.
  • Ha azt mondja, hogy "/dev/mem mmap sikertelen: Az erőforrás átmenetileg nem elérhető":
    • Ez a PAT probléma lehet (pl. ha a memória flashrom leképezni próbál, az már nem kompatibilis módban van leképezve). Próbálja újra az újraindítás után nopat a kernel parancssorban.
  • Ha ezt az üzenetet látja: "Nem lehet mmap memória a /dev/mem használatával: Érvénytelen argumentum":
    • A flashrom nagyon régi, jobb lenne frissíteni. Ha a probléma továbbra is fennáll, próbálja ki a fent említett kernelbeállításokat.
  • Általában, ha a flashrom verziója nagyon régi, egy frissítés segíthet. A Flashrom kevésbé szigorú követelményeket támaszt, és több rendszeren működik anélkül, hogy a kernelt meg kellene változtatni.

Flashromot használok vele linux_spiés nem találja a chipet kétszer is ellenőriztem az összes csatlakozást, mit próbáljak még?

  • Ha még nem állította be: A linux_spi sofőrnek van a spider paramétert, amelyet mindig ésszerű sebességre kell beállítani (100 kHz...10 000 kHz, először próbáljon alacsonyabb frekvencián). Lásd még a flashrom(8) kézikönyvoldalt.
  • Általában,

Ez a cikk az alaplap BIOS meghibásodásának veszélyével kapcsolatos témát folytatja
táblák rosszindulatú. Korábban megjelent anyagban
és volt
példa egy BIOS chipre író programra kerül bemutatásra, megbeszélésre
a gyártók által használt védelmi mechanizmusok alaplapokés annak okai
akik számára ezek a mechanizmusok gyakran hatástalanok. Emlékeztessünk, hogy ez
a probléma több mint 10 évvel ezelőtt merült fel, amikor bemutatták a BIOS adathordozót
használjon Flash ROM chipeket, amelyek lehetővé teszik a tartalom felülírását anélkül
a számítógép fizikai beavatkozása. Így a működési lehetőség
a BIOS átírása (frissítése) mellékhatáshoz vezetett - a véletlenszerűség kockázatához
vagy szándékos félrevezetés.

Úgy tűnik, ma már mindent elmondtak erről a témáról. De ahogy telik az idő, úgy jelennek meg
új típusú Flash ROM chipek és interfészek a csatlakoztatáshoz. Ez
új módszerek megjelenése kíséri a BIOS védelmét az illetéktelenektől
torzítások, és természetesen új sebezhetőségek. A korábban megjelent anyagokban
a hivatkozás a cikk elején található, a szóban forgó témát itt tárgyaljuk
példa platform az SST 49LF004A lapkához csatlakoztatva
LPC (Low Pin Count) interfész. Mára egy interfész váltotta fel SPI
(Soros periféria interfész)
. Emlékezzen erre a tartalom felülírásához
BIOS chip, a programnak két regiszterblokkkal kell kölcsönhatásba lépnie:
A chipkészlet „déli hídjának” részeként elhelyezkedő Flash ROM interfészregiszterek és
regiszterek, amelyek magának a Flash ROM chipnek a részét képezik. Amikor elköltözik
LPC-SPI interfész, a két jelzett blokk architektúrája jelentősen megváltozott.
Ezért érdemes figyelembe venni a programok és a BIOS chip közötti interakciót,
védelmi mechanizmusok és sérülékenységeik a modern platformokkal kapcsolatban.
Az anyagot az assemblerben példákkal látjuk el. Kísérletekhez használják
Gigabyte GA-965P-S3 alaplap, Intel 965 lapkakészletre épített,
-ban leírtak. Az ezen az alaplapon használt BIOS adathordozó
SST 25VF080B chip, leírása a. Ez a chip 8 megabites kapacitással rendelkezik
(1 megabájt), és csatlakozik az SPI interfészhez. Néhány chip másoktól
Az ugyanazt a felületet használó gyártók leírása a. Leírás
Az SPI interfész itt található. Az SPI vezérlővel való interakció során mi
mechanizmusokat kell használnia a konfigurációs terület eléréséhez,
a dokumentumokban leírtak.

SPI interfész: történelmi háttér

Mint ismeretes, a sebesség egy csak olvasható memória chip
(Flash ROM) használt BIOS adathordozó gyakorlatilag nincs hatással
általános számítógép teljesítmény. Ez annak a ténynek köszönhető, hogy induláskor
alaplap, a BIOS átíródik (vagy kicsomagolva) a RAM-ba
Shadow RAM memória, és amikor egy operációs rendszer munkamenetben hozzáfér a BIOS-hoz, a programok működnek együtt
RAM, és nem Flash ROM chippel. Ezért ellentétben
processzor, memória, grafikus alrendszer, melynek fejlődése együtt jár
teljesítménynövekedés, a Flash ROM chipek és interfészeik fejlődnek
másik irány. A fő kritérium itt a költségcsökkentés,
energiafogyasztás és az alaplapon elfoglalt hely. Fő módszer
e célok elérése - a BIOS chip közötti vezetők számának csökkentése
és egy vezérlő, amely általában a chipkészlet „déli hídjának” része. Szempontból
A BIOS chip csatlakoztatásának módja három alaplapgeneráció különböztethető meg
díjak:

1) Az ISA buszt használó kártyákra állandó chipeket telepítettek
tárolóeszközök külön cím-, adat- és vezérlővonalakkal. Nál nél
ezt minden címre és adatbitre, valamint minden vezérlőjelre
(olvasás, írás) saját vezetéket, vagy inkább nyomtatott vezetőt igényelt a táblán.

2) Az Intel 810, 815 lapkakészletek megjelenésével, amelyek a „hub” architektúrán alapulnak,
Az ISA busz a múlté. Számos korábban csatlakoztatott alaplapi eszköz
ISA (hajlékonylemez-vezérlő, COM és LPT portok, BIOS chip), „áthelyezve” ide
Low Pin Count vagy LPC interfész, melynek neve „kicsi
jelek száma". Cím, adatok és vezérlőjelek ezen az interfészen
öt vonalon keresztül továbbítva (nem számítva a visszaállítási jeleket, az órajelet és a vonalakat
tápegység), időmultiplexelés üzemmódban. BIOS chipek használtak
ilyen platformokon, amelyeket néha Firmware Hubnak vagy FWH-nak neveznek. Példa program
a BIOS chip törlése és írása, egy korábban publikált cikkben
A "BIOS ROM Penetration" N1 és N2" az ilyen platformokhoz készült.

3) Kezdve Intel lapkakészlet 945, a „déli híd” tartalmaz egy vezérlőt
speciális soros busz soros periféria interfész vagy SPI,
olvasási és írási adatátvitel, valamint vezérlési és állapotadatok felhasználásával
információ egybites soros csatornán keresztül. Ez lehetővé tette a használatát
8 tűs ház a BIOS chiphez. Ez a cikk a megfontolásnak van szentelve
csak ilyen platformok.

Vegye figyelembe, hogy az LPC interfészt a modern lapkakészletek és a
Az alaplap fejlesztője használhatja a BIOS chipet a csatlakozáshoz
LPC és SPI is. Az SPI interfész alkalmazási köre nem korlátozott
számítógépes alaplapok. Egy figyelmes olvasó észreveheti
hogy a soros adatformátumra való átállás miatt a leírtak mindegyike
interfész több órajelet használ az olvasási és írási műveletek végrehajtásához,
mint elődje, amely a teljesítmény csökkenésével jár. De ez nem az
előfordul, mivel ezt a körülményt kompenzálja a gyakoriság növekedése és
adatformátumok optimalizálása. Az ISA busz 5-8MHz-es frekvencián működik, az LPC at
33 MHz, SPI 33-50 MHz-en.

SPI Flash ROM Chip Architecture

Az SPI Flash chipek, különösen az SST25VF080B, három jelet használnak
adatok fogadása és továbbítása. SCK (Serial Clock) – bemenet az órajelhez
továbbított vagy fogadott adatok. SI (Serial Input) – bemenet az átvitelhez
adatokat a vezérlőtől a chip felé, a cím bitenként kerül továbbításra ezen a vonalon,
írandó adatok és mikroáramkörök vezérlő parancskódjai. SO (soros kimenet)
kimenet adatátvitelhez a chipről a vezérlőre, bitenként ezen a vonalon
Olvasható adatok, valamint a chip állapotára vonatkozó információk továbbításra kerülnek.
A vezérlő a chipet műveleteket kezdeményező parancsokon keresztül vezérli
adatok olvasása és írása, törlés, chip azonosítók olvasása, olvasás és
állapotnyilvántartási bejegyzések stb.

A mikroáramkör mind a nyolc érintkezőjének célja, az összes parancs leírása és
további részleteket is tartalmaz.

SPI-vezérlő architektúra

Az Intel ICH8 Southbridge-ben található SPI-vezérlő több mint
20 ellenőrzési és állapotregiszter. A regisztereket a memóriatérben címezi
memória-leképezett I/O technológiát használva, amelyet korábban tárgyaltunk
megjelent cikk "Rendszertámogató eszközök. Kutatómunka
N ". Az SPI-vezérlő összes regiszterének és parancsának leírása túlmutat a hatókörön
Ebben a cikkben megvizsgáljuk a fő különbségeket programmodell SPI interfész innen
elődje - a regiszterekre fókuszáló LPC interfész,
alapműveletek végzésekor használatos - azonosítók olvasása, írás és
a Flash ROM törlése.

Emlékeztetünk arra, hogy a BIOS-chiphez való fizikai hozzáférés (nem tévesztendő össze a területtel
Shadow RAM) a felső határ melletti ablakon keresztül történik
tartomány 0-4 GB. Például egy 1 MB-os Flash ROM elérhető lesz a tartományban
FFF00000h-FFFFFFFFh. ISA és LPC interfészt használó platformokon keresztül
ugyanabban a tartományban, törlési és írási műveletek végrehajtásakor az átvitel történik
parancsokat és írott adatokat a Flash ROM chiphez, valamint beolvassa
állapot. A cikkben tárgyalt SPI interfészt használó platform a
támogatja a BIOS chip tartalmának beolvasását is egy meghatározott tartományon keresztül,
hanem a vezérlési és állapotinformációk továbbítására rögzítés és törlés közben
Flash ROM, más hozzáférési módot használnak. Információk a ciklus futtatásához
Az SPI-busz (cím és adat) az SPI-vezérlő speciális regisztereibe íródik
(Flash Address és Flash Data), majd a Software Sequencing regiszterbe
A Flash Control parancsot küld a Flash ROM eléréséhez szükséges ciklus végrehajtására
(írni vagy olvasni). Ezt követően a Software Sequencing Flash Status regiszteren keresztül
meghatározhatja, hogy a művelet mikor fejeződött be, és ellenőrizheti a hibákat.
A Flash ROM-ból kiolvasott adatok a Flash Data regiszterben találhatók.

Az ISA és LPC interfésszel rendelkező platformokon a parancsátvitelt a
A parancskód bájtjának közvetlen írása a Flash ROM címtartományba. SPI interfész
közvetett módszert használ a parancsok átadására egy 8 bájtos regiszteren
OpCode menü. Ennek a regiszternek minden bájtja tárolja az egyik parancs kódját
Flash ROM kezelés (írás, törlés, azonosító olvasása stb.). Mert
a kívánt művelet elindításához a programnak továbbítania kell a bájtszámot (0-tól 7-ig),
amely ennek a műveletnek a kódját tartalmazza. Ez a szám a 3 bites COP mezőben kerül továbbításra
(Cycle Opcode Pointer), amely a beírt 32 bites kód része
Software Sequencing Flash Control regiszter a végrehajtási parancs elindításához.
Az OpCode Menu regiszterblokk általában inicializálja a BIOS-t a platform indításakor.
A műveleti kód bájtok helye egy 8 bájtos blokkban a BIOS megvalósításától függ
és tetszőleges lehet, ezért a programnak ezt a blokkot kell vizsgálnia és
határozza meg, hogy milyen szám alatt található benne a szükséges parancs. Ez a szám és
a COP mező kitöltésekor kerül felhasználásra.

Nézzük meg a Software Sequencing Flash Status és
Software Sequencing Flash Control további részletek. Software Sequencing Flash Register
Az állapot 8 bites szélességű, és 90 órás eltolásban helyezkedik el
az SPI vezérlő alapcíme (SPIBAR+90h). Software Sequencing Flash Register
A vezérlés 24 bit széles és 91h eltolásnál helyezkedik el. Nál nél
a vezérlő programozásával kényelmesen elérhető a két megadott regiszter eggyel
32 bites olvasási vagy írási művelet a 90h címen. Ebben az esetben a 0-7
megfelel a Software Sequencing Flash Status regiszternek, a 8-31 bitek pedig a
Szoftveres szekvenálás Flash Control. Ezt a hozzáférési módot használják
összeállítási példák a cikkhez csatolva. Fontolja meg a bitek hozzárendelését
a fent leírt számozás szerint.

0. bit(SPI Cycle In Progress) – a nyomaték meghatározására szolgál
a művelet befejezése az SPI buszon. A "0" azt jelenti, hogy az SPI busz tétlen és a program
elindíthatja a következő ciklust. Az "1" azt jelenti, hogy az SPI busz foglalt, fut
tranzakció. A bitet hardver állítja be és alaphelyzetbe állítja, és csak a következők számára érhető el
olvasás.

1. bit(Fenntartva) – nem használt.

2. bit(Cycle Done Status) – hardver által „1”-re állítva, amikor
a tranzakció befejezése az SPI buszon. A visszaállításhoz a programnak "1"-et kell írnia
adott bit.

3. bit(Flash Cycle Error) – állítsa „1”-re a hardverben, ha
hibák történtek a tranzakció során: rekordvédelem vagy indítási kísérlet
következő tranzakciót, mielőtt az előző befejeződött volna. A visszaállításhoz a programnak kell
írj "1"-et erre a bitre.

4. bit(Hozzáférési hibanapló) – a hardver „1”-re állítja, ha volt
a BIOS chip elérési kísérletének helye, amely megsérti a megadott hozzáférési jogokat
a vezérlő konfigurációs regisztereiben programozott címtartományok
SPI.

5-7. bitek

8. bit(Fenntartva) – nem használt. Ahogy fentebb látható, a 8-31
A szóban forgó 32 bites szó a Szoftverregiszter 0-23. bitjeinek felel meg
Sorozatos vakuvezérlés.

9. bit(SPI Cycle Go) – tranzakció indítása az SPI-n. "1" írása ehhez a bithez
elindítja egy tranzakció végrehajtását, amelynek típusa és tartalma meghatározásra kerül
ugyanazon regiszter 10-31. bitjeinek állapota.

10. bit(Atomic Cycle Sequence) – végrehajtási megbízás továbbításakor
tranzakciók esetén, ha ehhez a bithez egy "1"-et ír, megakadályozza a külső események zavarását
háromig az SPI felületen előforduló folyamatok
fázisok: előtag parancs továbbítása, főparancs továbbítása és befejezése
a főparancs végrehajtása.

Vegye figyelembe, hogy ily módon az egyik védelmi mechanizmus
a BIOS chip tartalmának véletlen megsértése. Az úgynevezett előtag
a parancsoknak (például az Írás engedélyezése) meg kell előzniük a változó parancsokat
chip tartalma (például Írás, Törlés). Miután megkapta a parancskódot, amely tartalmazza
"1" ebben a bitben a vezérlő mindhárom fázist hardveresen hajtja végre, anélkül
processzor beavatkozása a fő utasítás befejezése előtt.

11. bit(Sequence Prefix Opcode Pointer) – előtag használatakor
parancsokat (ha a 10. bit "1"-re van állítva, lásd fent), ez a bit kiválasztja a kettő közül az egyiket
bájtokat, amelyeket előtag parancsként kell elküldeni az SPI chipnek
Vaku. Ha "0" az előtag Opcode Configuration regiszter alacsony bájtja van kiválasztva
Regisztrálj, "1"-el – idősebb.

12-14. bit(Cycle Opcode Pointer) – ez a bitmező kiválasztja az egyiket
nyolc bájt, amely fő parancsként kerül továbbításra a chipre
SPI Flash. A megadott bájtok az Opcode Menu Configuration regiszterben vannak
Regisztráció.

15. bit(Fenntartva) – nem használt.

16-21. bit(Data Byte Count) – beállítja az adatbájtok számát
adatolvasási vagy -írási műveletek. A mennyiség megegyezik a mező értékével plusz 1-gyel.
Például: 000000b=1 bájt, 111111b=64 bájt.

22. bit(Adatciklus) – Meghatározza az adatbájtok jelenlétét a parancsban. "0"
azt jelenti, hogy nincs adat (például egy törlési parancsban), az "1" azt jelenti, hogy
adat van jelen (például a read status parancsban az adat van
az állapotnyilvántartás tartalma).

23. bit(SPI SMI# Enable) – engedély megszakítási kérés generálására
Rendszerkezelési megszakítás a tranzakció befejezése után, 0=letiltva,
1 = megengedett.

24-26. bit(SPI Cycle Frequency) – a bitfrekvencia beállítása
szinkronizálás az SPI-n végrehajtott tranzakció során. Két értéket használnak
(a többi fenntartva): 000b=20MHz, 001b=33MHz.

27-31. bit(Fenntartva) – nem használt.

Vegye figyelembe, hogy az Opcode Menu regiszter nyolc bájtjának előtöltése
Konfigurációs regiszter és két bájt a Prefix Opcode Configuration regiszterből
A Register végrehajtja a BIOS-t, amikor a platform elindul. Ezért a bitképek létrehozásakor
A parancskódot és az előtagkódot kiválasztó mezőket a programnak be kell vizsgálnia
a jelzett regisztereket, és keresse meg, milyen szám alatt található a szükséges kódok
tevékenységek. A kitöltési lehetőségek változhatnak, még az alaplapok között is
egy modellt használ különböző verziók BIOS. Néhányan átírják a segédprogramokat
A Flash módosítja a megadott regiszterek tartalmát.

Az SPI vezérlő összes regiszterének és parancsának részletes leírása megtalálható.
Az SPI Flash chip parancsainak leírása megtalálható. Információ biztosított
fentebb a cikkhez csatolt assembler példákkal is illusztráljuk.

Flash ROM hozzáférési mechanizmusok és írásvédelem

Általában chiptörlési vagy újraírási műveletek kezdeményezésére
BIOS, a programnak négy műveletet kell végrehajtania:

  1. Konfigurálja a lapkakészlet „déli híd” regisztereit, amelyek az elhelyezést szabályozzák
    BIOS chipek a címtérben a teljes hozzáférés érdekében
    a mikroáramkör térfogata.
  2. A déli híd által megvalósított BIOS írásvédelmi mód letiltása
    lapkakészlet.
  3. A chip által megvalósított BIOS írásvédelmi mód letiltása
    Flash ROM.
  4. Küldjön egy törlési vagy írási parancsot a Flash ROM chipre.

Tekintsük részletesebben ezeket az eljárásokat, az ezeket megakadályozó védelmi mechanizmusokat
jogosulatlan végrehajtás és természetesen e mechanizmusok sebezhetősége.

Mint fentebb említettük, az írási és törlési műveletek végrehajtásakor a szoftver
Az SPI Flash chiphez való hozzáférés a vezérlőregisztereken keresztül történik
SPI, anélkül, hogy használná azt a címtartományt, amelyben a chip kép elérhető
BIOS. Ezért a lapkakészlet újrakonfigurálása az FFF00000h-FFFFFFFFh tartomány eléréséhez
ebben a példában nem szükséges.

Az Intel ICH8 déli hídja által megvalósított írásvédelem ugyanezen alapul
séma, mint az előző generációk platformjain, csak a címek különböznek
regisztereket Ezért a védelem eltávolításának eljárása hasonló az eljáráshoz
korábbi kiadványokban tárgyaltuk. A BIOS szabályozza a chiphez való hozzáférést
8 bites BIOS_CNTL regiszter (koordinátái a konfigurációs térben
Bus=0, Eszköz=1Fh, Funkció=0, Regiszter=DCh). Ennek a regiszternek a 0. bitje (BIOSWE bit,
BIOS Write Enable) szabályozza a BIOS-chipbe való írási engedélyt, 0=letiltva,
1 = megengedett. Ugyanazon regiszter 1. bitje (BLE bit, BIOS Lock Enable) biztosítja
a védelem jogosulatlan leállításának elhallgatása. Ha a BLE bit=1, akkor próbálkozáskor
állítsa be a BIOSWE=1 bitet az SMI (Rendszerkezelés) megszakítás létrehozásához
Interrupt) a BIOS-ban található speciális eljárás hívásával. Sőt, ha
A BIOS indításkor a BLE=1 bitet állítja be, a lapkakészletet nem lehet programozottan visszaállítani
lehetővé teszi, a lehallgatási mód csak a hardver alaphelyzetbe állítása után kapcsol ki (by
RESET jel). Részletek benne.

A gyakorlat azt mutatja, hogy a „védelem hiánya elleni védelem” mechanizmusa általában nem
BIOS-fejlesztők aktiválták. Minden vizsgált alaplapon
a szerző szerint a BLE bit = 0, tehát az írásvédelem eltávolításához elegendő a bit beállítása
BIOSWE=1, ezt a műveletet a rendszer nem fogja el.

Az Intel ICH8 chip támogatja a BIOS chip tartalomvédelmét is,
az olvasástól és (vagy) írástól védett címtartományok megadásával.
Elméletileg ezen a mechanizmuson alapuló hatékony védelem valósítható meg,
mivel a tiltás a BIOS-eljárások által a platform indításakor engedélyezett szoftver, és
csak hard resettel távolítható el. De ez a mechanizmus általában nem
BIOS-fejlesztők aktiválták.

(Folytatjuk)

Információs források


developer.intel.com.

1) Intel Low Pin Count (LPC) interfész specifikáció. Felülvizsgálat 1.1. Dokumentum
251289-001 szám.
2) Intel P965 Express lapkakészlet család adatlapja – az Intel 82P965 memóriához
Controller Hub (MCH). Iratszám: 313053-001.
3) Intel I/O Controller Hub 8 (ICH8) család adatlapja – Intel 82801HB esetén
ICH8 és 82801HR ICH8R I/O vezérlőközpontok. Iratszám: 313056-001.

Elektronikus dokumentumok elérhetők a honlapon
www.superflash.com vagy
ssti.com.

4) 1 Mbit SPI Serial Flash SST25VF010 adatlap. Dokumentum szám:
S71233-01-000.
5) 8 Mbit SPI soros flash SST25VF080B adatlap. Dokumentum szám:
S71296-01-000.

Elektronikus dokumentumok elérhetők a honlapon
winbond.com.tw.

6) W25X10A, W25X20A, W25X40A, W25X80A 1M-bit, 2M-bit, 4M-bit és 8M-bit
Soros flash memória 4 KB-os szektorokkal és kettős kimenetű SPI adatlappal.

Elektronikus dokumentumok elérhetők a honlapon
macronix.com.

7) MX25L802 8M-bites CMOS soros flash EEPROM adatlap.

Elektronikus dokumentumok elérhetők a honlapon
datakey.com.

8) SPI EEPROM interfész specifikáció. Alkatrészszám 223-0017-004 Revízió H.

Elektronikus dokumentumok elérhetők a honlapon
vtitechnologies.com.

9) SPI interfész specifikáció. 15. műszaki megjegyzés.

Elektronikus dokumentumok elérhetők a honlapon
pcisig.com.

A pcisig.com webhelyen található dokumentumok csak a PCI-tagok számára érhetők el
Speciális érdekcsoport. Kihasználva kereső motorok, található
Ezek a dokumentumok ingyenesen letölthetők.
10) PCI BIOS specifikáció. Felülvizsgálat 2.1.
11) PCI helyi busz specifikáció. Revízió 3.0.
12) PCI-PCI híd architektúra specifikáció. Felülvizsgálat 1.1.

A számítógép meghibásodásának oka gyakran a meghibásodás szoftver. Ha olyan szoftver, mint pl operációs rendszerújratelepítheti rendszeres felhasználó Ha nem rendelkezik mély informatikai ismeretekkel, egyszerűen lehetetlen frissíteni a BIOS-t speciális ismeretek nélkül.

Fontos tudni!Ha a BIOS nem töltődik be, akkor ennek bármi oka lehet, akár egy kiégett DVD-meghajtó is. Ezért a meghibásodás okának kiderítése nélkül nem szabad villogni.

A BIOS rövidítés a Basic Input Output System rövidítése, amely szó szerint alapvető bemeneti/kimeneti rendszert jelent. Amikor bekapcsolja a számítógépet, az első dolog, ami elindul, ez a rendszer, amely lekérdezi az összes portot a csatlakoztatott berendezésekről, és ha hibás eszközöket csatlakoztatnak a számítógéphez, a BIOS reakciója nagyon eltérő lehet - a sípolástól a lefagyásig vagy újraindításig. Ezért fontos pontosan kideríteni, hogy a számítógép miért nem indul el vagy lefagy a BIOS betöltése közben.

1. ábra - Így néz ki a BIOS chip az alaplapon

Ha rájön, hogy a számítógép nem működik pontosan ebben a chipben van, először ellenőriznie kell, hogyan viselkedik a számítógép a CMOS-ban tárolt beállítások visszaállításakor. Ehhez 30 másodpercre le kell választani az akkumulátort az alaplapról.

2. ábra - így néz ki egy CMOS akkumulátor.

Ha a fenti manipulációk nem vezettek eredményre, akkor ideje használni a nehéztüzérséget. Mégpedig a tényleges villogást. Fontos! Az alábbiakban leírt összes manipuláció csak akkor lehetséges, ha be lehet lépni a BIOS-ba vagy betölteni az operációs rendszert. Meglehetősen gyakoriak az esetek, amikor egy működő BIOS frissítésére van szükség: a fejlesztők, akik sietnek egy új terméket piacra dobni, gyakran kihagyják a kódhibákat, amelyek következtében a BIOS által okozott hibák figyelhetők meg.
Villogáskor ügyelni kell arra, hogy a számítógép véletlenül se legyen kikapcsolva, azóta anélkül, hogy menne szolgáltatóközpont nem elég. Ha van laptopod, akkor kivéve töltő Az akkumulátor csatlakoztatása javasolt.

Tájékoztatásképpen! Az utóbbi években két BIOS chipet találhatunk az alaplapokon: az egyik működik, a második az eredeti firmware visszaállítására szolgál egy sikertelen frissítés után.

A firmware frissítésének legegyszerűbb módja közvetlenül az operációs rendszerről. Először is látogasson el a gyártó webhelyére, és töltse le a legtöbbet legújabb verzió BIOS az alaplaphoz. A firmware frissítéséhez a Windows alatt van speciális programok, amelyek a teljes folyamatot a „tovább” gombok egyszerű kattintására redukálják. A BIOS-fejlesztők következő három segédprogramja univerzális a legtöbb alaplaphoz: AMI Firmware Update Utility, Award WinFlash Utility és Phoenix WinPhlash Utility.
A BIOS frissítése Linuxon egy kicsit több erőfeszítést igényel, de nem is túl bonyolult művelet. Az alábbiakban egy példa a BIOS frissítésére a debian-alapú disztribúciókban, amelyek között szerepel az Ubuntu, a Mint stb. Jegyzet! Minden műveletet rootként kell végrehajtani.
Így már letöltöttük a firmware-t, most telepítenünk kell a flashrom programot (http://openbios.info/FlashRom).

#apt-get install flashrom

A frissítés megkezdése előtt tegyük meg biztonsági másolat meglévő firmware. Ehhez a következő parancsot fogjuk használni:

#flashrom -r BIOS_bak.bin

Most már nyugodt szívvel elkezdheti a varrást, ehhez írja be a parancsot:

#flashrom -Vvw BIOS_new.bin

Ha a chipkészlet firmware-jét letöltötték, és a program sikeresen befejeződött, biztonságosan újraindíthatja a számítógépet.

Ha nem lehet betölteni az operációs rendszert, akkor használja a firmware-t a live-CD-ről (vagy használja a DOS-t opcióként). Ehhez szükségünk van egy külső eszközre (flash meghajtó, CD, külső kemény lemez, memóriakártya stb.), amelyre a frissítési program rögzítve van (DOS-ból leggyakrabban Award, Uniflash vagy AMIFlash), valamint magát a live-CD rendszert.
Csak akkor javasolt frissíteni, ha valóban szükséges. Egy normálisan működő, de elavult BIOS villogása használhatatlanná teheti. Ha ez megtörténik, ne essen kétségbe, még mindig van esély a beteg megmentésére otthon. Ehhez ugyanazt a mikroáramkört kell beszereznie ismert működő firmware-rel. A számítógépet egy működő mikroáramkörrel töltjük fel, szálakkal összekötve. Amikor az operációs rendszer teljesen betöltődött, óvatosan távolítsa el a működő eszközt, helyezze be a „halott” elemet, és próbálja meg újra feltölteni.