Master boot record
Author
Albert FloresMaster 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
Adresa | Popis | Délka v bajtech | |||
---|---|---|---|---|---|
Hex | Oct | Dec | |||
0000 | 0000 | 0 | Kód zavaděče | Kód zavaděče | 440 (max 446) |
01B8 | 0670 | 440 | Volitelná signatura disku | Volitelná signatura disku | 4 |
- | 01BC | 0674 | 444 | Obvykle nuly; 0x0000 | Obvykle nuly; 0x0000 |
01BE | 0676 | 446 | Tabulka 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 |
01FE | 0776 | 510 | 55H | Signatura MBR; 0xAA55 | 2 |
01FF | 0777 | 511 | AAH | Signatura MBR; 0xAA55 | 2 |
Celková délka MBR: 446 + 64 + 2 = | 512 |
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)