off topic - FAT tabulka

Ing. Miloslav Ponkrác ponkrac na peregrius.cz
Pondělí Leden 17 12:13:05 CET 2000


Tabulka rozdělení disku je na mbr. Pokud fdisk nevidi zadny zaznam, asi je
mbr zrusene. Jako moznost je zjistit, kde zacinaly a koncily jednotlive
oblasti disku (partition) a opravit pomoci diskeditu mbr. Neni to tak velky
problem, delal jsem to vicekrat.

Navic vam fdisk pomaha,protoze v mbr je obvykle definice pouze prvni oblasti
disku (ta zacina na hlave 1, stope 0 a sektoru 1), a druha oblast je odkaz
na dalsi, tzv. extendend zaznam.

Nejlepsi postup je asi takovyto, spustim diskedit.

1) Spustim diskedit. Pro jistotu zazalohuji mbr do nepouzite oblasti (treba
hlava 0 stopa 0 sektor 2). Ukoncim diskedit.
2) Zkusim obnovit mbr pomoci fdisk. U Windows je to prikaz fdisk /MBR.
3) Vetsinou restartuji, abych zjistil, co na to system. Ale vetsinou se nic
zvlastniho nedeje, takze pokracuji.
3) Opet spustim diskedit. V tuto chvili je v poradku zavadeci program v MBR,
ale nejspise nesouhlasi popisy diskovych oblasti.
4) Snazim se editovat popisy diskovych oblasti, ktere jsou v mbr na offsetu
1BE. Kazda partition je zde popsana na 16 bajtech, vejdou se sem popisy 4
oblasti. Je jasne, ze jsou vyuzity pouze 2.

Kazda diskova oblast je popsana tedy v teto 16-ti bajtove strukture:

offset     delka       popis
0            1 bajt        je zde 80h pro aktivni oblast, 0 pro neaktivni
1             1 bajt        cislo hlavy, kde zacina partition
2            2 bajty        stopa a sektor, kde zacina partition
4            1 bajt        kod systemu
5             1 bajt        cislo hlavy, kde konci partition
6            2 bajty        stopa a sektor, kde konci partition
8            4 bajty        logicke cislo pocatecniho sektoru
0Ch        4 bajty        celkovy pocet sektoru v oblasti

kod systemu pro prvni oblast bude 82h pro Linux, 6 pro FAT-16 pro DOS, nebo
Windows
kod systemu pro druhou oblast bude 5 (extendend zaznam)

stopa a sektor jsou na pozicich 2 a 6 zaznamenany takto:

bity 15-8: bity 0-7 cisla stopy
bity 7-6: bity 8-9 cisla stopy
bity 0-5: cislo sektoru

5) Ukoncim diskedit a restartuji.
6) Potom musite jeste nastavit extenden zaznam

Neni to jednoduche na vysvetleni, kdyz tak se ozvete.

Miloslav Ponkrac




Další informace o konferenci Linux