Master boot record

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Master Boot Record (zkratka MBR) 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[editovat | editovat zdroj]

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 (česky zhruba hlavní spouštěcí záznam) 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)[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

Reference[editovat | editovat zdroj]

  1. Peter C Norton and Scott Clark. Peter Norton's New Inside the PC. [s.l.] : Sams Publishing. ISBN 0-672-32289-7. S. 360–361.  
  2. http://theinvisiblethings.blogspot.com/2006/06/introducing-blue-pill.html – Introducing Blue Pill
  3. http://www.blackhat.com/presentations/bh-usa-06/BH-US-06-Zovi.pdf – Hardware virtualization rootkits