Master boot record
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 (anglicky partition table) 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 | 440 (max 446) | |
01B8 |
0670 |
440 | Volitelná signatura disku | 4 | |
01BC |
0674 |
444 | Obvykle nuly; 0x0000 | 2 | |
01BE |
0676 |
446 | Tabulka rozdělení disku (MPT) (4 položky po 16 bajtech, IBM schéma oddílů) |
64 | |
01FE |
0776 |
510 | 55H | Signatura MBR; 0xAA55[1] |
2 |
01FF |
0777 |
511 | AAH | ||
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ů. 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í (t.j. 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. 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“). 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.[2][3]
Související články
- Diskový oddíl (partition)
- GUID Partition Table – nástupce MBR, součást Unified Extensible Firmware Interface standardu
- File Allocation Table (FAT tabulka)
Externí odkazy
- Obrázky, zvuky či videa k tématu Master boot record na Wikimedia Commons
Reference
- Peter C Norton and Scott Clark. Peter Norton's New Inside the PC. [s.l.]: Sams Publishing, 2002. Dostupné online. ISBN 0-672-32289-7. S. 360–361.
- http://theinvisiblethings.blogspot.com/2006/06/introducing-blue-pill.html – Introducing Blue Pill
- http://www.blackhat.com/presentations/bh-usa-06/BH-US-06-Zovi.pdf – Hardware virtualization rootkits