Monday, July 23, 2007

Tabulka oddílů

(Partition Table)
Tabulka oddílů je 64bajtová datová struktura používaná pro identifikaci typu a umístění
oddílů na pevném disku, podřízená standardnímu rozvržení nezávislému na operačním
systému. Každá položka tabulky oddílů má délku 16 bajtů; maximální počet záznamů
jsou čtyři. Každá položka začíná na předem daném ofsetu od začátku sektoru následovně:
_ Oddíl 1 0x01BE (446)
_ Oddíl 2 0x01CE (462)
_ Oddíl 3 0x01DE (478)
_ Oddíl 4 0x01EE (494)
Poznámka Ve Windows 2000 se používá tabulka oddílů pouze pro základní disky.
Informace o konfiguraci dynamických disků jsou uloženy v databázi Správy disků (Disk
Management database), umístěné na konci disku. Tabulka oddílů se neaktualizuje, pokud
jsou svazky odstraněny nebo rozšířeny po převodu na dynamický disk nebo pokud
byly vytvořeny nové dynamické svazky.
Následující příklad ukazuje dílčí výpis MBR odhalující tabulku oddílů z počítače se třemi
oddíly. Pokud jsou na disku méně než čtyři oddíly, zbývající pole tabulky oddílů
jsou nastavena na hodnotu 0.
000001B0: 80 01 ..
000001C0: 01 00 07 FE BF 09 3F 00 – 00 00 4B F5 7F 00 00 00 ......?...K. ...
000001D0: 81 0A 07 FE FF FF 8A F5 – 7F 00 3D 26 9C 00 00 00 ........ .=&....
000001E0: C1 FF 05 FE FF FF C7 1B – 1C 01 D6 96 92 00 00 00 ................
000001F0: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 ..............
Tabulka 1.2 popisuje pole v každé položce tabulky oddílů. Vzorové hodnoty korespondují
s první položkou tabulky oddílů z minulého příkladu. Hodnoty ofsetu korespondují
s adresami první položky tabulky oddílů. Existují zde tři další položky, jejichž hodnotu
lze vypočítat přidáním 10h k hodnotě posunu (offset), specifické pro každou další
položku tabulky oddílů (např. přidejte 20h pro položku č. 3 tabulky oddílů a 30h pro
položku č. 4).
Tabulka 1.2 Pole tabulky oddílů
Posun Délka pole Příklad hodnoty Název pole a jeho definice
0x01BE BYTE 0x80 Spouštěcí indikátor. Indikuje, zda je svazek
aktivním oddílem. Přípustné hodnoty:
00. Nepoužívat pro spouštění.
80. Aktivní oddíl.
0x01BF BYTE 0x01 Počáteční hlavička.
0x01C0 6 bitů 0x01 * Počáteční sektor. Používají se pouze bity
0-5. Horní dva bity, 6 a 7, jsou používány
polem Počáteční válec.

Labels: