Tabela 32.1 Terminy zwi╣zane z dyskiem podstawowym i dynamicznym | |
Struktura dysku podstawowego | Struktura dysku dynamicznego |
Partycja g│≤wna | Wolumin prosty |
Partycja systemowa i partycja startowa | Wolumin systemowy i wolumin startowy |
Partycja aktywna | Wolumin aktywny |
Partycja rozszerzona | Wolumin i nieprzydzielone miejsce |
NapΩd logiczny | Wolumin prosty |
Zestaw wolumin≤w | Wolumin │╣czony |
Zestaw paskowy | Wolumin paskowy (roz│o┐ony) |
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 ..............
Pola zawarte we wpisach tabeli partycji opisane s╣ w tabeli 32.2. Przyk│adowe warto£ci odpowiadaj╣ pierwszemu wpisowi w powy┐szej przyk│adowej tabeli partycji. Adresy relatywne r≤wnie┐ dotycz╣ pierwszego wpisu. Aby obliczyµ adresy bajt≤w zawartych w trzech kolejnych wpisach, nale┐y dodaµ odpowiednio 10h, 20h lub 30h do adres≤w podanych poni┐ej.
Tabela 32.2 Pola tabeli partycji | |||
Adres relatywny | D│ugo£µ pola | Przyk│adowa warto£µ | Nazwa pola i opis |
0x01BE | 1 bajt | 0x80 | Wskaƒnik rozruchu. Okre£la, czy wolumin jest partycj╣ aktywn╣. Do mo┐liwych warto£ci nale┐╣:
00. Nie u┐ywaj do uruchomienia. 80. Partycja aktywna. |
0x01BF | 1 bajt | 0x01 | G│owica pocz╣tkowa. |
0x01C0 | 6 bit≤w | 0x01 * | Sektor pocz╣tkowy. U┐ywane s╣ tylko bity 0-5. Bity 6 i 7 wykorzystywane s╣ przez pole cylindra pocz╣tkowego. |
0x01C1 | 10 bit≤w | 0x00 * | Cylinder pocz╣tkowy. Wykorzystuje 1 bajt wraz z 2 bitami z pola sektora pocz╣tkowego. Cylinder pocz╣tkowy jest liczb╣ 10-bitow╣ o maksymalnej warto£ci 1023. |
0x01C2 | 1 bajt | 0x07 | Identyfikator systemu. Definiuje typ woluminu. Przyk│adowe warto£ci przedstawione s╣ w tabeli 32.3. |
0x01C3 | 1 bajt | 0xFE | G│owica ko±cowa. |
0x01C4 | 6 bit≤w | 0xBF * | Sektor ko±cowy. Wykorzystuje tylko bity 0-5. Bity 6 i 7 s╣ wykorzystywane przez pole cylindra ko±cowego. |
0x01C5 | 10 bit≤w | 0x09 * | Cylinder ko±cowy. Wykorzystuje 1 bajt wraz z 2 bitami z pola sektora ko±cowego. Cylinder ko±cowy jest liczb╣ 10-bitow╣ o maksymalnej warto£ci 1023. |
0x01C6 | DWORD | 0x3F000000 | Sektory wzglΩdne. Adres pocz╣tku woluminu, w stosunku do pocz╣tku dysku, obliczony jako liczba sektor≤w. |
0x01CA | DWORD | 0x4BF57F00 | Liczba sektor≤w. Og≤lna liczba sektor≤w zawartych w woluminie. |
Tabela 32.3 Warto£ci identyfikatora systemu | |
Typ partycji | Warto£µ identyfikatora |
0x01 | Partycja g│≤wna lub napΩd logiczny typu FAT12 (poni┐ej 32 680 sektor≤w w woluminie) |
0x04 | Partycja lub napΩd logiczny typu FAT16 (32 680 û 65 535 sektor≤w lub 16 MBû33 MB) |
0x05 | Partycja rozszerzona |
0x06 | Partycja lub napΩd logiczny typu BIGDOS FAT16 (33 MB û 4 GB) |
0x07 | System plik≤w mo┐liwy do zainstalowania (partycja lub napΩd logiczny NTFS) |
0x0B | Partycja lub napΩd logiczny typu FAT32 |
0x0C | Partycja lub napΩd logiczny typu FAT32 wykorzystuj╣cy rozszerzenia BIOS INT 13h |
0x0E | Partycja lub napΩd logiczny typu BIGDOS FAT16 wykorzystuj╣cy rozszerzenia BIOS INT 13h |
0x0F | Partycja rozszerzona wykorzystuj╣ca rozszerzenia BIOS INT 13h |
0x12 | Partycja EISA |
0x42 | Wolumin dysku dynamicznego |
0x86 | Odziedziczony dysk FT FAT16 * |
0x87 | Odziedziczony dysk FT NTFS * |
0x8B | Odziedziczony wolumin FT sformatowany jako FAT32 * |
0x8C | Odziedziczony wolumin FT wykorzystuj╣cy rozszerzenia BIOS INT 13h, sformatowany jako FAT32 * |
512 x 1024 x 256 x 63 (lub 512 x 2^24) = 8 455 716 864 bajt≤w = 7,8 GB
Przed wprowadzeniem adresowania blok≤w logicznych (LBA) opartego na rozszerzeniach BIOS INT 13h, g│≤wna aktywna partycja nie mog│a przekraczaµ 7,8 GB, niezale┐nie od stosowanego systemu plik≤w.
Tabela 32.4 Wielko£µ wolumin≤w FAT16 w zale┐no£ci od statusu LBA | |||
Status LBA | Liczba g│owic | Sektory na £cie┐kΩ | Maksymalna wielko£µ partycji systemowej lub partycji startowej |
Wy│╣czony | 64 | 32 | 1 GB |
W│╣czony | 255 | 63 | 4 GB |
Tabela 32.5 Zawarto£µ wpis≤w rozszerzonej tabeli partycji | |
Wpis | Zawarto£µ |
Pierwszy | Informacje o bie┐╣cym napΩdzie logicznym, w tym pocz╣tkowy adres danych. |
Drugi | Informacje o kolejnym napΩdzie logicznym, w tym adres sektora zawieraj╣cego EBR kolejnego napΩdu. W przypadku braku kolejnych napΩd≤w logicznych pole to nie jest u┐ywane. |
Trzeci | Nieu┐ywany. |
Czwarty | Nieu┐ywany. |
Non-System disk or disk error
Replace and press any key when ready
Tabela 32.6 Sekcje sektora startowego w woluminie FAT16 | ||
Adres relatywny | D│ugo£µ pola | Nazwa pola |
0x00 | 3 bajt≤w | Instrukcja jump |
0x03 | LONGLONG | OEM ID |
0x0B | 25 bajt≤w | BPB |
0x24 | 26 bajt≤w | Rozszerzony BPB |
0x3E | 448 bajt≤w | Kod bootstrap |
0x01FE | WORD | Znacznik ko±ca sektora |
Physical Sector: Cyl 0, Side 1, Sector 1
00000000: EB 3C 90 4D 53 44 4F 53 - 35 2E 30 00 02 40 01 00 ..MSDOS5.0....
00000010: 02 00 02 00 00 F8 FC 00 - 3F 00 40 00 3F 00 00 00 ........?..?...
00000020: 01 F0 3E 00 80 00 29 A8 - 8B 36 52 4E 4F 20 4E 41 .....)..6RNO NA
00000030: 4D 45 20 20 20 20 46 41 - 54 31 36 20 20 20 33 C0 ME FAT16 3.
00000040: 8E D0 BC 00 7C 68 C0 07 - 1F A0 10 00 F7 26 16 00 ....|h......&..
00000050: 03 06 0E 00 50 91 B8 20 - 00 F7 26 11 00 8B 1E 0B ....P.. ..&.....
00000060: 00 03 C3 48 F7 F3 03 C8 - 89 0E 08 02 68 00 10 07 ...H........h...
00000070: 33 DB 8F 06 13 02 89 1E - 15 02 0E E8 90 00 72 57 3.............rW
00000080: 33 DB 8B 0E 11 00 8B FB - 51 B9 0B 00 BE DC 01 F3 3.......Q.......
00000090: A6 59 74 05 83 C3 20 E2 - ED E3 37 26 8B 57 1A 52 .Yt... ...7&.W.R
000000A0: B8 01 00 68 00 20 07 33 - DB 0E E8 48 00 72 28 5B ...h. .3...H.r([
000000B0: 8D 36 0B 00 8D 3E 0B 02 - 1E 8F 45 02 C7 05 F5 00 .6.......E.....
000000C0: 1E 8F 45 06 C7 45 04 0E - 01 8A 16 24 00 EA 03 00 ..E..E.....$....
000000D0: 00 20 BE 86 01 EB 03 BE - A2 01 E8 09 00 BE C1 01 . ..............
000000E0: E8 03 00 FB EB FE AC 0A - C0 74 09 B4 0E BB 07 00 .........t......
000000F0: CD 10 EB F2 C3 50 4A 4A - A0 0D 00 32 E4 F7 E2 03 .....PJJ...2....
00000100: 06 08 02 83 D2 00 A3 13 - 02 89 16 15 02 58 A2 07 .............X..
00000110: 02 A1 13 02 8B 16 15 02 - 03 06 1C 00 13 16 1E 00 ................
00000120: F7 36 18 00 FE C2 88 16 - 06 02 33 D2 F7 36 1A 00 .6........3..6..
00000130: 88 16 25 00 A3 04 02 A1 - 18 00 2A 06 06 02 40 3A ..%.......*...:
00000140: 06 07 02 76 05 A0 07 02 - 32 E4 50 B4 02 8B 0E 04 ...v....2.P.....
00000150: 02 C0 E5 06 0A 2E 06 02 - 86 E9 8B 16 24 00 CD 13 ............$...
00000160: 0F 83 05 00 83 C4 02 F9 - CB 58 28 06 07 02 76 11 .........X(...v.
00000170: 01 06 13 02 83 16 15 02 - 00 F7 26 0B 00 03 D8 EB ..........&.....
00000180: 90 A2 07 02 F8 CB 42 4F - 4F 54 3A 20 43 6F 75 6C ......BOOT: Coul
00000190: 64 6E 27 74 20 66 69 6E - 64 20 4E 54 4C 44 52 0D dn't find NTLDR.
000001A0: 0A 00 42 4F 4F 54 3A 20 - 49 2F 4F 20 65 72 72 6F ..BOOT: I/O erro
000001B0: 72 20 72 65 61 64 69 6E - 67 20 64 69 73 6B 0D 0A r reading disk..
000001C0: 00 50 6C 65 61 73 65 20 - 69 6E 73 65 72 74 20 61 .Please insert a
000001D0: 6E 6F 74 68 65 72 20 64 - 69 73 6B 00 4E 54 4C 44 nother disk.NTLD
000001E0: 52 20 20 20 20 20 20 00 - 00 00 00 00 00 00 00 00 R .........
000001F0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 55 AA ..............U.
W tabelach 32.7 i 32.8 opisana jest struktura bloku BPB i rozszerzonego bloku BPB w woluminie FAT16. Warto£ci przyk│adowe odpowiadaj╣ powy┐szemu przyk│adowi.
Tabela 32.7 Pola BPB w woluminach FAT16 | |||
Adres relatywny | D│ugo£µ pola | Warto£µ przyk│adowa | Nazwa pola i opis |
0x0B | WORD | 0x0002 | Bajty na sektor. Wielko£µ sektora sprzΩtowego. Dopuszczalnymi warto£ciami dziesiΩtnymi s╣ 512, 1024, 2048 i 4096. W przypadku wiΩkszo£ci dysk≤w u┐ywanych w USA warto£µ tego pola wynosi 512. |
0x0D | BYTE | 0x40 | Sektory na klaster. Liczba sektor≤w zawartych w jednym klastrze. W FAT16 mo┐e byµ £ledzonych tylko 65 536 klastr≤w, dlatego du┐e woluminy s╣ wspierane dziΩki zwiΩkszeniu liczby sektor≤w na klaster. Domy£lna wielko£µ klastra zale┐y od wielko£ci woluminu. Dopuszczalnymi warto£ciami dziesiΩtnymi s╣ 1, 2, 4, 8, 16, 32, 64 i 128. Je£li wielko£µ klastra (Bajty na sektor * Sektory na klaster) przekroczy 32 KB, to mog╣ wyst╣piµ b│Ωdy dysku i program≤w. |
0x0E | WORD | 0x0100 | Sektory zarezerwowane. Liczba sektor≤w poprzedzaj╣cych pocz╣tek pierwszej tabeli FAT, │╣cznie z sektorem startowym. Warto£µ tego pola zawsze wynosi 1. |
0x10 | BYTE | 0x02 | Liczba tabel FAT. Liczba zawartych w woluminie kopii tabeli FAT. Warto£µ tego pola zawsze wynosi 2. |
0x11 | WORD | 0x0002 | Wpisy g│≤wne. Og≤lna liczba 32-bajtowych wpis≤w nazw plik≤w i folder≤w, kt≤re mog╣ byµ przechowywane w folderze g│≤wnym woluminu. W przypadku typowego dysku twardego warto£µ tego pola wynosi 512. Zawsze wystΩpuje jeden wpis u┐ywany jako etykieta woluminu. D│ugie nazwy plik≤w/folder≤w zajmuj╣ wiΩcej ni┐ jeden wpis. Zazwyczaj maksymalna liczba wpis≤w plik≤w i folder≤w wynosi 511, ale liczba plik≤w i folder≤w mo┐e byµ mniejsza, o ile stosowane s╣ d│ugie nazwy plik≤w. |
0x13 | WORD | 0x0000 | Ma│e sektory. Liczba sektor≤w w woluminie, pod warunkiem, ┐e t╣ warto£µ mo┐na reprezentowaµ w 16 bitach ( 65 536). W przypadku wolumin≤w posiadaj╣cych powy┐ej 65 536 sektor≤w pole to przyjmuje warto£µ 0, a liczba sektor≤w zostaje okre£lona w polu Du┐e sektory. |
0x15 | BYTE | 0xF8 | Deskryptor medi≤w. Zawiera informacje o wykorzystywanych mediach. Warto£µ 0xF8 oznacza dysk twardy, warto£µ 0xF0 oznacza 3,5-calow╣ dyskietkΩ. Deskryptory medi≤w s╣ spadkiem po dyskach MS-DOS FAT16 i nie s╣ u┐ywane w systemie Windows 2000. |
0x16 | WORD | 0xFC00 | Sektory na FAT. Liczba sektor≤w zajmowanych przez ka┐d╣ tabelΩ FAT. Na podstawie tej warto£ci wraz z liczb╣ tabel FAT i ukrytych sektor≤w, komputer ustala adres pocz╣tkowy katalogu g│≤wnego. Komputer ustala tak┐e adres pocz╣tkowy obszaru danych u┐ytkownik≤w na podstawie liczby wpis≤w w katalogu g│≤wnym (512). |
0x18 | WORD | 0x3F00 | Sektory na £cie┐kΩ. CzΩ£µ widocznej geometrii dysku z niskopoziomowym formatowaniem. |
0x1A | WORD | 0x4000 | Liczba g│owic. CzΩ£µ widocznej geometrii dysku z niskopoziomowym formatowaniem. |
0x1C | DWORD | 0x3F000000 | Ukryte sektory. Liczba sektor≤w poprzedzaj╣cych sektor startowy. Warto£µ ta jest u┐ywana podczas procesu uruchamiania do obliczenia bezwzglΩdnego adresu katalogu g│≤wnego i obszar≤w danych. |
0x20 | DWORD | 0x01F03E00 | Du┐e sektory. Je£li warto£µ pola Ma│e sektory jest r≤wna 0, to pole Du┐e sektory zawiera og≤ln╣ liczbΩ sektor≤w nale┐╣cych do woluminu FAT16. Je£li warto£µ Ma│e sektory nie jest 0, to warto£µ Du┐e sektory bΩdzie 0. |
Tabela 32.8 Pola rozszerzonego bloku BPB w woluminach FAT16 | |||
Adres relatywny | D│ugo£µ pola | Warto£µ przyk│adowa | Nazwa pola i opis |
0x24 | BYTE | 0x80 | Numer napΩdu fizycznego. Zwi╣zany z numerem napΩdu fizycznego BIOS. NapΩdy dyskietek s╣ oznaczone przez 0x00, a fizyczne dyski twarde przez 0x80, niezale┐nie od liczby fizycznych napΩd≤w. Zazwyczaj warto£µ ta zostaje ustawiona przed wydaniem wywo│ania BIOS INT 13h, w celu okre£lenia urz╣dzenia docelowego. Warto£µ ma znaczenie tylko w przypadku urz╣dzenia startowego. |
0x25 | BYTE | 0x00 | Zarezerwowane. W woluminach FAT16 pole to jest zawsze ustawione na 0. |
0x26 | BYTE | 0x29 | Rozszerzony podpis startowy. Pole musi zawieraµ 0x28 lub 0x29, aby by│o rozpoznane przez system Windows 2000. |
0x27 | DWORD | 0xA88B3652 | Numer seryjny woluminu. Losowy numer seryjny utworzony podczas formatowania, pozwalaj╣cy odr≤┐niµ dyski. |
0x2B | 11 bajt≤w | NO NAME | Etykieta woluminu. Pole u┐ywane dawniej do przechowywania etykiety woluminu. Obecnie etykieta przechowywana jest jako specjalny plik w katalogu g│≤wnym. |
0x36 | LONG LONG | FAT16 | Typ systemu plik≤w. Pole to zawiera warto£µ FAT, FAT12 lub FAT16, w zale┐no£ci od formatu dysku. |
Tabela 32.9 Sekcje sektora startowego w woluminie FAT32 | ||
Adres relatywny | D│ugo£µ pola | Nazwa pola |
0x00 | 3 bajty | Instrukcja jump |
0x03 | LONGLONG | OEM ID |
0x0B | 53 bajty | BPB |
0x40 | 26 bajt≤w | Rozszerzony BPB |
0x5A | 420 bajt≤w | Kod bootstrap |
0x01FE | WORD | Znacznik ko±ca sektora |
Physical Sector: Cyl 878, Side 0, Sector 1
00000000: EB 58 90 4D 53 44 4F 53 - 35 2E 30 00 02 08 20 00 .X.MSDOS5.0... .
00000010: 02 00 00 00 00 F8 00 00 - 3F 00 FF 00 EE 39 D7 00 ........?....9..
00000020: 7F 32 4E 00 83 13 00 00 - 00 00 00 00 02 00 00 00 2N.............
00000030: 01 00 06 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
00000040: 80 00 29 8B 93 6D 54 4E - 4F 20 4E 41 4D 45 20 20 ..)..mTNO NAME
00000050: 20 20 46 41 54 33 32 20 - 20 20 33 C9 8E D1 BC F4 FAT32 3.....
00000060: 7B 8E C1 8E D9 BD 00 7C - 88 4E 02 8A 56 40 B4 08 {......|.N..V..
00000070: CD 13 73 05 B9 FF FF 8A - F1 66 0F B6 C6 40 66 0F ..s......f...f.
00000080: B6 D1 80 E2 3F F7 E2 86 - CD C0 ED 06 41 66 0F B7 ....?.......Af..
00000090: C9 66 F7 E1 66 89 46 F8 - 83 7E 16 00 75 38 83 7E .f..f.F..~..u8.~
000000A0: 2A 00 77 32 66 8B 46 1C - 66 83 C0 0C BB 00 80 B9 *.w2f.F.f.......
000000B0: 01 00 E8 2B 00 E9 48 03 - A0 FA 7D B4 7D 8B F0 AC ...+..H...}.}...
000000C0: 84 C0 74 17 3C FF 74 09 - B4 0E BB 07 00 CD 10 EB ..t..t.........
000000D0: EE A0 FB 7D EB E5 A0 F9 - 7D EB E0 98 CD 16 CD 19 ...}....}.......
000000E0: 66 60 66 3B 46 F8 0F 82 - 4A 00 66 6A 00 66 50 06 f`f;F...J.fj.fP.
000000F0: 53 66 68 10 00 01 00 80 - 7E 02 00 0F 85 20 00 B4 Sfh.....~.... ..
00000100: 41 BB AA 55 8A 56 40 CD - 13 0F 82 1C 00 81 FB 55 A..U.V........U
00000110: AA 0F 85 14 00 F6 C1 01 - 0F 84 0D 00 FE 46 02 B4 .............F..
00000120: 42 8A 56 40 8B F4 CD 13 - B0 F9 66 58 66 58 66 58 B.V......fXfXfX
00000130: 66 58 EB 2A 66 33 D2 66 - 0F B7 4E 18 66 F7 F1 FE fX.*f3.f..N.f...
00000140: C2 8A CA 66 8B D0 66 C1 - EA 10 F7 76 1A 86 D6 8A ...f..f....v....
00000150: 56 40 8A E8 C0 E4 06 0A - CC B8 01 02 CD 13 66 61 V............fa
00000160: 0F 82 54 FF 81 C3 00 02 - 66 40 49 0F 85 71 FF C3 ..T.....fI..q..
00000170: 4E 54 4C 44 52 20 20 20 - 20 20 20 0D 0A 4E 54 4C NTLDR ..NTL
00000180: 44 52 20 69 73 20 6D 69 - 73 73 69 6E 67 FF 0D 0A DR is missing...
00000190: 44 69 73 6B 20 65 72 72 - 6F 72 FF 0D 0A 50 72 65 Disk error...Pre
000001A0: 73 73 20 61 6E 79 20 6B - 65 79 20 74 6F 20 72 65 ss any key to re
000001B0: 73 74 61 72 74 0D 0A 00 - 00 00 00 00 00 00 00 00 start...........
000001C0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
000001D0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
000001E0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
000001F0: 00 00 00 00 00 00 00 00 - 00 7B 8E 9B 00 00 55 AA .........{....U.
W tabelach 32.10 i 32.11 opisana jest struktura bloku BPB i rozszerzonego bloku BPB wolumin≤w FAT32. Warto£ci przyk│adowe s╣ wziΩte z powy┐szego przyk│adu.
Tabela 32.10 Pola bloku BPB w woluminach FAT32 | |||
Adres relatywny | D│ugo£µ pola | Warto£µ | Nazwa pola i opis |
0x0B | WORD | 0x0002 | Bajty na sektor. Wielko£µ sektora sprzΩtowego. Dopuszczalnymi warto£ciami dziesiΩtnymi s╣ 512, 1024, 2048 i 4096. W przypadku wiΩkszo£ci dysk≤w u┐ywanych w USA warto£µ tego pola wynosi 512. |
0x0D | BYTE | 0x08 | Sektory na klaster. Liczba sektor≤w zawartych w klastrze. FAT32 mo┐e £ledziµ tylko 4 294 967 296 klastr≤w, dlatego bardzo du┐e woluminy wspierane s╣ dziΩki zwiΩkszeniu liczby sektor≤w na klaster. Domy£lna wielko£µ klastra zale┐y od wielko£ci woluminu. Dopuszczalnymi warto£ciami dziesiΩtnymi tego pola s╣ 1, 2, 4, 8, 16, 32, 64 i 128. Implementacja FAT32 stosowana w systemie Windows 2000 pozwala na utworzenie wolumin≤w tylko do 32 GB, ale wiΩksze woluminy utworzone przez inne systemy operacyjne (Windows 95 OSR2 i p≤ƒniejsze wersje) s╣ dostΩpne w systemie Windows 2000. |
0x0E | WORD | 0x0200 | Zarezerwowane sektory. Liczba sektor≤w poprzedzaj╣cych pocz╣tek pierwszej tabeli FAT, │╣cznie z sektorem startowym. Typowa dziesiΩtna warto£µ tego pola wynosi 32. |
0x10 | BYTE | 0x02 | Liczba tabel FAT. Liczba zawartych w woluminie kopii tabeli FAT. Warto£µ tego pola zawsze wynosi 2. |
0x11 | WORD | 0x0000 | Wpisy g│≤wne (dotyczy tylko FAT12/FAT16). W woluminach FAT32 warto£µ tego pola musi byµ ustawiona na 0. |
0x13 | WORD | 0x0000 | Ma│e sektory (dotyczy tylko FAT12/FAT16). W woluminach FAT32 warto£µ tego pola musi byµ ustawiona na 0. |
0x15 | BYTE | 0xF8 | Deskryptor medi≤w. Zawiera informacje o wykorzystywanych mediach. Warto£µ 0xF8 oznacza dysk twardy, warto£µ 0xF0 oznacza 3,5-calow╣ dyskietkΩ. Deskryptory medi≤w s╣ spadkiem po dyskach MS-DOS FAT16 i nie s╣ u┐ywane w systemie Windows 2000. |
0x16 | WORD | 0x0000 | Sektory na FAT (dotyczy tylko FAT12/FAT16). W woluminach FAT32 warto£µ tego pola musi byµ ustawiona na 0. |
0x18 | WORD | 0x3F00 | Sektory na £cie┐kΩ. Zawiera warto£µ geometryczn╣ äsektory na £cie┐kΩö dla dysk≤w wykorzystuj╣cych INT 13h. Wolumin jest podzielony na £cie┐ki oznaczone przez g│owice i cylindry. |
0x1A | WORD | 0xFF00 | Liczba g│owic. Dotyczy dysk≤w wykorzystuj╣cych INT 13h. Na przyk│ad, na 3,5-calowej dyskietce warto£µ tego pola wynosi 2. |
0x1C | DWORD | 0xEE39D700 | Ukryte sektory. Liczba sektor≤w poprzedzaj╣cych sektor startowy. Warto£µ ta jest u┐ywana podczas procesu uruchamiania do obliczenia adresu bezwzglΩdnego katalogu g│≤wnego i obszar≤w danych. Zazwyczaj ta warto£µ ma znaczenie tylko w przypadku no£nik≤w widocznych w INT 13h. W przypadku niepartycjonowanych no£nik≤w musi ona wynosiµ 0. |
0x20 | DWORD | 0x7F324E00 | Du┐e sektory. Og≤lna liczba sektor≤w zawartych w woluminie FAT32. |
0x24 | DWORD | 0x83130000 | Sektory na FAT (dotyczy tylko FAT32). Liczba sektor≤w zajmowanych przez ka┐d╣ tabelΩ FAT. Na podstawie tej warto£ci wraz z liczb╣ tabel FAT i ukrytych sektor≤w, komputer ustala adres pocz╣tkowy katalogu g│≤wnego. Na podstawie liczby wpis≤w w katalogu g│≤wnym Komputer ustala tak┐e adres pocz╣tkowy obszaru danych u┐ytkownik≤w. |
0x28 | WORD | 0x0000 | Rozszerzone flagi (dotyczy tylko FAT32). Dwubajtowa struktura sk│adaj╣ca siΩ z nastΩpuj╣cych bit≤w: |
Bity 0û3: Numer aktywnej tabeli FAT (tabele ponumerowane s╣ od 0, nie od 1). Wa┐ny tylko w przypadku, gdy wy│╣czono mirroring. | |||
Bity 4û6: Zarezerwowane. | |||
Bit 7: Warto£µ 0 oznacza, ┐e podczas uruchamiania tabele FAT podlegaj╣ procesowi mirroring. Warto£µ 1 oznacza, ┐e istnieje tylko jedna aktywna tabela FAT (okre£lona w bitach 0-3). | |||
Bity 8û15: Zarezerwowane. | |||
0x2A | WORD | 0x0000 | Wersja systemu plik≤w (dotyczy tylko FAT32). Wysoki bajt oznacza g│≤wny numer rewizji, a niski bajt û podrzΩdny numer rewizji. W przysz│o£ci typ medi≤w FAT32 mo┐e zostaµ rozszerzony û je£li warto£µ tego pola nie jest r≤wna 0, to stare wersje systemu Windows nie zainstaluj╣ woluminu. |
0x2C | DWORD | 0x02000000 | Numer klastra g│≤wnego (dotyczy tylko FAT32). Numer pierwszego klastra katalogu g│≤wnego. Warto£µ tego pola zwykle, ale nie zawsze, wynosi 2. |
0x30 | WORD | 0x0100 | Numer sektora FSINFO (dotyczy tylko FAT32). Numer sektora struktury FSINFO (Informacje o systemie plik≤w) w zarezerwowanym obszarze woluminu FAT32. Zazwyczaj ta warto£µ wynosi 1. Kopia struktury FSINFO jest przechowywana w zapasowym sektorze startowym, ale nie jest aktualizowana. |
0x34 | WORD | 0x0600 | Zapasowy sektor startowy (dotyczy tylko FAT32). Warto£µ niezerowa oznacza numer sektora (w zarezerwowanym obszarze woluminu), w kt≤rym przechowywana jest kopia sektora startowego. Normalna i jedyna zalecana warto£µ tego pola wynosi 6. |
0x36 | 12 bajt≤w | 0x000000000 00000000000 0000 | Zarezerwowane (tylko FAT32). Obszar zarezerwowany dla cel≤w przysz│ych rozszerze±. Warto£µ tego pola powinna byµ ustawiona na 0. |
Tabela 32.11 Pola rozszerzonego bloku BPB w woluminach FAT32 | |||
Adres relatywny | D│ugo£µ pola | Warto£µ | Nazwa pola i opis |
0x40 | BYTE | 0x80 | Numer napΩdu fizycznego. Zwi╣zany z numerem napΩdu fizycznego BIOS. NapΩdy dyskietek s╣ oznaczone przez 0x00, a fizyczne dyski twarde przez 0x80, niezale┐nie od liczby fizycznych napΩd≤w. Zazwyczaj ta warto£µ zostaje ustawiona przed wydaniem wywo│ania BIOS INT 13h, w celu okre£lenia urz╣dzenia docelowego. Warto£µ ma znaczenie tylko w przypadku urz╣dzenia startowego. |
0x41 | BYTE | 0x00 | Zarezerwowane. W woluminach FAT32 pole to jest zawsze ustawione na 0. |
0x42 | BYTE | 0x29 | Rozszerzony podpis startowy. Pole musi zawieraµ 0x28 lub 0x29, aby by│o rozpoznane przez system Windows 2000. |
0x43 | DWORD | 0xA88B3652 | Numer seryjny woluminu. Losowy numer seryjny utworzony podczas formatowania, pozwalaj╣cy odr≤┐niµ dyski. |
0x47 | 11 bajt≤w | NO NAME | Etykieta woluminu. Pole u┐ywane dawniej do przechowywania etykiety woluminu. Obecnie etykieta przechowywana jest jako specjalny plik w katalogu g│≤wnym. |
0x52 | LONG LONG | FAT32 | Identyfikator systemu. Pole tekstowe zawieraj╣ce │a±cuch FAT32. |
Tabela 32.12 Sekcje sektora startowego w woluminie NTFS | ||
Adres relatywny | D│ugo£µ pola | Nazwa pola |
0x00 | 3 bajty | Instrukcja jump |
0x03 | LONGLONG | OEM ID |
0x0B | 25 bajt≤w | BPB |
0x24 | 48 bajt≤w | Rozszerzony BPB |
0x54 | 426 bajt≤w | Kod bootstrap |
0x01FE | WORD | Znacznik ko±ca sektora |
Physical Sector: Cyl 0, Side 1, Sector 1
00000000: EB 52 90 4E 54 46 53 20 - 20 20 20 00 02 08 00 00 .R.NTFS .....
00000010: 00 00 00 00 00 F8 00 00 - 3F 00 FF 00 3F 00 00 00 ........?...?...
00000020: 00 00 00 00 80 00 80 00 - 4A F5 7F 00 00 00 00 00 ........J......
00000030: 04 00 00 00 00 00 00 00 - 54 FF 07 00 00 00 00 00 ........T.......
00000040: F6 00 00 00 01 00 00 00 - 14 A5 1B 74 C9 1B 74 1C ...........t..t.
00000050: 00 00 00 00 FA 33 C0 8E - D0 BC 00 7C FB B8 C0 07 .....3.....|....
00000060: 8E D8 E8 16 00 B8 00 0D - 8E C0 33 DB C6 06 0E 00 ..........3.....
00000070: 10 E8 53 00 68 00 0D 68 - 6A 02 CB 8A 16 24 00 B4 ..S.h..hj....$..
00000080: 08 CD 13 73 05 B9 FF FF - 8A F1 66 0F B6 C6 40 66 ...s......f...f
00000090: 0F B6 D1 80 E2 3F F7 E2 - 86 CD C0 ED 06 41 66 0F .....?.......Af.
000000A0: B7 C9 66 F7 E1 66 A3 20 - 00 C3 B4 41 BB AA 55 8A ..f..f. ...A..U.
000000B0: 16 24 00 CD 13 72 0F 81 - FB 55 AA 75 09 F6 C1 01 .$...r...U.u....
000000C0: 74 04 FE 06 14 00 C3 66 - 60 1E 06 66 A1 10 00 66 t......f`..f...f
000000D0: 03 06 1C 00 66 3B 06 20 - 00 0F 82 3A 00 1E 66 6A ....f;. ...:..fj
000000E0: 00 66 50 06 53 66 68 10 - 00 01 00 80 3E 14 00 00 .fP.Sfh........
000000F0: 0F 85 0C 00 E8 B3 FF 80 - 3E 14 00 00 0F 84 61 00 .............a.
00000100: B4 42 8A 16 24 00 16 1F - 8B F4 CD 13 66 58 5B 07 .B..$......fX[.
00000110: 66 58 66 58 1F EB 2D 66 - 33 D2 66 0F B7 0E 18 00 fXfX.-f3.f.....
00000120: 66 F7 F1 FE C2 8A CA 66 - 8B D0 66 C1 EA 10 F7 36 f......f..f....6
00000130: 1A 00 86 D6 8A 16 24 00 - 8A E8 C0 E4 06 0A CC B8 ......$.........
00000140: 01 02 CD 13 0F 82 19 00 - 8C C0 05 20 00 8E C0 66 ........... ...f
00000150: FF 06 10 00 FF 0E 0E 00 - 0F 85 6F FF 07 1F 66 61 ..........o..fa
00000160: C3 A0 F8 01 E8 09 00 A0 - FB 01 E8 03 00 FB EB FE ................
00000170: B4 01 8B F0 AC 3C 00 74 - 09 B4 0E BB 07 00 CD 10 ......t........
00000180: EB F2 C3 0D 0A 41 20 64 - 69 73 6B 20 72 65 61 64 .....A disk read
00000190: 20 65 72 72 6F 72 20 6F - 63 63 75 72 72 65 64 00 error occurred.
000001A0: 0D 0A 4E 54 4C 44 52 20 - 69 73 20 6D 69 73 73 69 ..NTLDR is missi
000001B0: 6E 67 00 0D 0A 4E 54 4C - 44 52 20 69 73 20 63 6F ng...NTLDR is co
000001C0: 6D 70 72 65 73 73 65 64 - 00 0D 0A 50 72 65 73 73 mpressed...Press
000001D0: 20 43 74 72 6C 2B 41 6C - 74 2B 44 65 6C 20 74 6F Ctrl+Alt+Del to
000001E0: 20 72 65 73 74 61 72 74 - 0D 0A 00 00 00 00 00 00 restart........
000001F0: 00 00 00 00 00 00 00 00 - 83 A0 B3 C9 00 00 55 AA ..............U.
W tabeli 32.13 opisane s╣ pola bloku BPB i rozszerzonego bloku BPB w woluminach NTFS. Pola rozpoczynaj╣ce siΩ od 0x0B, 0x0D, 0x15, 0x18, 0x1A i 0x1C odpowiadaj╣ polom znajduj╣cym siΩ w woluminach FAT16 i FAT32. Warto£ci przyk│adowe s╣ wziΩte z powy┐szego przyk│adu.
Tabela 32.13 Pola BPB i rozszerzonego BPB w woluminach NTFS | |||
Adres relatywny | D│ugo£µ pola | Warto£µ przyk│adowa | Nazwa pola |
0x0B | WORD | 0x0002 | Bajty na sektor |
0x0D | BYTE | 0x08 | Sektory na klaster |
0x0E | WORD | 0x0000 | Zarezerwowane sektory |
0x10 | 3 bajty | 0x000000 | zawsze 0 |
0x13 | WORD | 0x0000 | nieu┐ywane w NTFS |
0x15 | BYTE | 0xF8 | Deskryptor medi≤w |
0x16 | WORD | 0x0000 | zawsze 0 |
0x18 | WORD | 0x3F00 | Sektory na £cie┐kΩ |
0x1A | WORD | 0xFF00 | Liczba g│owic |
0x1C | DWORD | 0x3F000000 | Ukryte sektory |
0x20 | DWORD | 0x00000000 | nieu┐ywane w NTFS |
0x24 | DWORD | 0x80008000 | nieu┐ywane w NTFS |
0x28 | LONGLONG | 0x4AF57F0000000000 | Liczba sektor≤w |
0x30 | LONGLONG | 0x0400000000000000 | Numer klastra logicznego pliku $MFT |
0x38 | LONGLONG | 0x54FF070000000000 | Numer klastra logicznego pliku $MFTMirr |
0x40 | DWORD | 0xF6000000 | Klastry na segment zapis≤w plikowych |
0x44 | DWORD | 0x01000000 | Klastry na blok indeksowy |
0x48 | LONGLONG | 0x14A51B74C91B741C | Numer seryjny woluminu |
0x50 | DWORD | 0x00000000 | Suma kontrolna |