Master boot record

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Master boot record (MBR) je oblast na začátku pevného disku, která obsahuje informace o formátování disku a správu spouštění operačního systému. MBR je součástí BIOSu a je zodpovědný za načítání operačního systému při spouštění počítače. Obsahuje také tabulku rozdělení disků (partition table), která určuje umístění a velikost jednotlivých oddílů na disku. MBR je napsán v assembleru a má velikost 512 bytů. Tato oblast je načítána do paměti při startu počítače a zde se nachází i informace o náhradním MBR, který se použije v případě, že hlavní MBR je poškozený. Změny na MBR mohou vést k neopravitelné ztrátě dat, proto je důležité před jakoukoli úpravou MBR zálohovat data na disku.

Master boot record (zkratka MBR, česky zhruba hlavní spouštěcí záznam) je hlavní spouštěcí záznam (obdoba boot sektoru), který je v IBM PC kompatibilních počítačích umístěn v prvním sektoru pevného disku (nebo obdobného média), tj. na jeho úplném začátku. Jeho velikost je 512 bajtů a je v něm umístěn:

* zavaděč operačního systému, kterému BIOS předává při startu počítače řízení * tabulka rozdělení disku na logické části (oddíly) * číselný identifikátor disku

MBR dokáže adresovat maximálně 2 TB disky. Jeho nástupcem je GPT, což je součást UEFI standardu.

Struktura MBR

AdresaPopisDélka v bajtech
HexOctDec
000000000Kód zavaděčeKód zavaděče440 (max 446)
01B80670440Volitelná signatura diskuVolitelná signatura disku4
-01BC0674444Obvykle nuly; 0x0000Obvykle nuly; 0x0000
01BE0676446Tabulka rozdělení disku (MPT) (4 položky po 16 bajtech, IBM schéma oddílů)Tabulka rozdělení disku (MPT) (4 položky po 16 bajtech, IBM schéma oddílů)64
01FE077651055HSignatura MBR; 0xAA552
01FF0777511AAHSignatura MBR; 0xAA552
Celková délka MBR: 446 + 64 + 2 =512
Master boot record je vždy uložen na samém počátku disku (podle Cylindr-Hlava-Sektor = 0-0-1, podle LBA v sektoru 0) a skládá se ze 2 hlavních částí (viz tabulku vpravo):

Hlavní tabulka rozdělení disku (MPT)

Anglicky Master Partition Table. Obsahuje seznam logických oddílů na daném fyzickém disku a informace o umístění zaváděcích sektorů (boot sektorů) jednotlivých disků. +more Tato tabulka může obsahovat maximálně 4 záznamy. Je-li potřeba rozdělit jeden disk na více logických oblastí, potom některý ze 4 záznamů odkazuje na tzv. Extended partition table (rozšířená tabulka rozdělení disku), která opět může obsahovat až 4 záznamy. Disk se dělí na primární oddíly (primary partition), jeden oddíl z nich může být označený jako rozšířený oddíl (extended partition). V rozšířeném oddíle lze vytvořit „libovolný“ počet logických oddílů (omezený pouze velikostí disku či možnostmi operačního systému). V novějších operačních systémech (Windows 2000 a novějších, novějších jádrech Linuxu a dalších systémech dnešní doby) byla zavedena možnost používat tzv. Dynamické svazky. Ty nabízejí více funkcí než běžné diskové oddíly, například možnost vytvoření svazků odolných proti chybám (v serverových operačních systémech řady Microsoft® Windows®, verzí 2000 počínaje), či bez nutnosti restartu je rozšířit (kromě systémových a spouštěcích svazků), zrcadlit a přidávat nové.

Hlavní spouštěcí kód - kód zavaděče

Jedná se o krátký úsek kódu, který je při startu počítače zaveden BIOSem do paměti počítače a následně je spuštěn. Jeho úkolem je načíst do paměti zaváděcí (boot) sektor z oddílu, který je v tabulce označen jako aktivní (tj. +more oddíl, ze kterého má být zaveden operační systém) a spustit ho. Od tohoto okamžiku je už start operačního systému stejný, jako při zavedení z diskety. Zaváděcí sektor (boot sector) je již závislý na konkrétním operačním systému, aby ho uměl zavést do paměti a předat mu řízení počítače.

Hlavní spouštěcí kód může být kromě zneužití virem (viz níže) využit i pro rozšíření možností starších verzí BIOSu, které neuměly pracovat s velkými disky. V takovém případě je do prvního (resp. +more nultého) sektoru disku umístěn speciální ovladač a celý zbytek disku je pak o 1 sektor posunut. Ovladač na sebe přesměruje i obsluhu volání BIOSu a tak s velkými disky mohou následně pracovat i systémy DOS. Tento mechanismus není funkční u plně 32bitových systémů, které pro obsluhu disků nepoužívají BIOS, ale vlastní ovladače.

Zneužití viry

Starší počítačové viry (například pro operační systém DOS) s výhodou infikovaly MBR, takže se při startu počítače aktivovaly dříve, než samotný operační systém. Tímto způsobem se mohl virus před operačním systémem snadno skrýt nebo pozměnit jeho základní funkce (a stát se tak „neviditelným“). +more Tato metoda je neúčinná pro 32bitové operační systémy (např. řada Windows NT, Linux atp. ), které při svém startu kompletně přebudují mapu paměti (viz stránkování paměti), avšak může být dnes opět zneužita pomocí využití virtualizace.

Související články

Diskový oddíl (partition) * GUID Partition Table - nástupce MBR, součást standardu Unified Extensible Firmware Interface * File Allocation Table (FAT tabulka)

Externí odkazy

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top