J&M, partitions

Robert Follner follner na icl.cz
Středa Únor 25 17:36:48 CET 1998


Fajn, muzeme pokracovat.
Nasledujici informace jsou prevzaty primo od velikeho Billa
(presneji s Resource kitu k Windows NT serveru) a doufam, ze
budou ku prospechu.
MBR (master boot record) je 1. sektor na disku. Obsahuje kod 
zavadece a tabulku rozdeleni disku (sorry za ty ceske vyrazy, 
ale lip se to sklonuje). Prvnich 446 bytu sektoru obsahuje kod 
zavadece. Na konci kodu by melo byt u M$ systemu oznaceni 
disku (FD 4E F2 14). Druha cast je tabulka oddilu. Je dlouha 
64 bytu. Je nezavisla na operacnim systemu a je vzdy stejna
(jeste ze tak).
Obsahuje 4 polozky, kazdou 16 bytu dlouhou, tzn. ze na adrese
0x01BE (446)	je 1. oddil
0x01CE (462)	je 2. oddil
0x01DE (478)	je 3. oddil
0x01EE (494)	je 4. oddil
Posledni dva bajty sektoru obsahuji hodnoty (55 AA).
A ted, jak vypada tu 16 bytove pole:
Adresa bytu	delka pole	vyznam
00		BYTE		Indikator aktivniho oddilu
				00 ... nepouzivat pro bootovani
				80 ... bootovat z tohoto oddilu
01		BYTE		Pocatecni hlava
02		6 bitu		Pocatecni sektor. Pouzivaji se pouze bity 0-5.
				bity 6-7 patri k nasledujicimu poli Pocatecni cylindr
03		10 bitu		Pocatecni cylindr. Toto pole obsahuje 8 nizsich bitu
				hodnoty cylindru. Pocatecni cylindr je 10 bitove cislo
				s max hodnotou 1023
04		BYTE		Identifikator systemu:
				0x01 12 bitovy primarni oddil nebo log jedn FAT
				0x04 16 bitovy primarni oddil nebo log jedn FAT
				0x05 rozsireny oddil
				0x06 oddil nebo log jedn BIGDOS FAT
				0x07 oddil nebo log jedn NTFS
				dalsi hodnoty viz linuxovsky fdisk
05		BYTE		Posledni hlava
06		6 bitu		Posledni sektor. Bity 6,7 patri zase k nasledujicimu poli
07		10 bitu		Posledni cylindr
08		4 BYTE		Relativni sektor
12		4 BYTE		Pocet sektoru tohoto oddilu

U primarnich oddilu je pole relativnich sektoru vlastne adresa zacatku
oddilu vzhledem k zacatku disku pocitana v sektorech.
U rozsireneho oddilu (extended partition) to vypada zhruba takto:
1. sektor rozsireneho oddilu obsahuje v poslednich 66 bytech opet 
tabulku ne nepodobnou (je uplne stejna) tabulce vyse uvedene. Posledni
dva byty obsahuji opet (55 AA) - znak konce sektoru, takze tabulka ma
zase 64 bytu.
Prvni polozka popisuje aktualni logickou jednotku,
druha polozka popisuje nasledujici logickou jednotku,
treti a ctvrta polozka je vyplnena nulami.
Pole relativniho sektoru a celkoveho poctu sektoru se u logickych
jednotek v rozsirenem oddilu pouzivaji jinak nez u primarnich oddilu.
V polozce pro oddil 1 kazde logicke jednotky udava pole relativniho
sektoru sektor od pocatku logicke jednotky, ktery obsahuje zavadeci 
sektor oddilu.
Pole celkoveho poctu sektoru udava pocet sektoru od zavadeciho sektoru
oddilu do konce logicke jednotky.
V polozce pro oddil 2 udava pole relativniho sektoru adresu sektoru 
obsahujiciho tabulku oddilu logicke jednotky definovane v polozce 
pro oddil 2 vzhledem k zacatku rozsireneho oddilu.
Pole celkoveho poctu sektoru udava celkovou velikost logicke jednotky 
definovane v polozce pro oddil 2.

Fuj tajbl, to bylo slozity. Jeste ze to uz dal neni.
Nicmene si myslim, ze pokud byla znicena hlavni partition table, tak
nic nepomuzou ani tyto blaboly :-(

That's all, folks.
Robert Follner, ICL Brno

----------



Další informace o konferenci Linux