ROZDZIAú 32

Dyski i rozwi╣zywanie problem≤w

     Przy rozwi╣zywaniu problem≤w zwi╣zanych z dyskami kluczowe jest zrozumienie struktury organizacyjnej informacji przechowywanych na dyskach twardych. Wa┐ne jest tak┐e zapoznanie siΩ z terminologi╣ dyskow╣. Dla cel≤w rozwi╣zywania problem≤w systemowych, w tym rozdziale szczeg≤│owo opisane s╣ dwa sektory najwa┐niejsze dla procesu uruchamiania: MBR (master boot record) oraz sektor startowy.
Zawarto£µ rozdzia│u
      Dyski podstawowe i dynamiczne
      Sektory dysku istotne dla procesu uruchamiania
      Rozwi╣zywanie problem≤w dyskowych
År≤d│a dalszych informacji w Resource Kit

Dyski podstawowe i dynamiczne

     System Windows 2000 oferuje dwa rodzaje konfiguracji dysk≤w: dysk podstawowy i dysk dynamiczny. Dysk podstawowy przypomina struktury dyskowe stosowane w systemie Windows NT. Dysk dynamiczny jest now╣ funkcj╣ systemu Windows 2000. Domy£lnie Windows 2000 inicjuje dyski twarde jako dyski podstawowe.
     NarzΩdzie Administrator dysku zawarte w systemie Windows NT 4.0 i wcze£niejszych wersjach zosta│o zast╣pione w Windows 2000 przez snap-in MMC Zarz╣dzanie dyskami, kt≤ry wspiera dyski podstawowe i dynamiczne. Zarz╣dzanie dyskami zawiera kreator uaktualniania umo┐liwiaj╣cy konwersjΩ dysk≤w podstawowych na dyski dynamiczne.
     System komputerowy mo┐e zawieraµ kombinacjΩ dysk≤w podstawowych i dynamicznych oraz dowoln╣ kombinacjΩ system≤w plik≤w (file allocation table [FAT], w tym FAT16 i FAT32, oraz NTFS). Jednak┐e wszystkie woluminy znajduj╣ce siΩ na tym samym dysku fizycznym musz╣ byµ tego samego typu (podstawowe lub dynamiczne).
     Dysk mo┐na uaktualniµ z podstawowego do dynamicznego w dowolnym momencie. Dokonane zmiany zostaj╣ wprowadzone natychmiastû bez konieczno£ci zamykania Zarz╣dzania dyskami lub powt≤rnego uruchamiania systemu. Powt≤rne uruchomienie jest jednak potrzebne w przypadku uaktualnienia dysku uruchomieniowego lub dysku zawieraj╣cego u┐ywany wolumin albo partycjΩ.

Terminologia

     Poni┐ej przedstawiono definicje, kt≤re pomog╣ zrozumieµ r≤┐nice miΩdzy dyskiem podstawowym a dyskiem dynamicznym.
Dysk podstawowy
     Dysk podstawowy jest dyskiem fizycznym zawieraj╣cym partycje g│≤wne i/lub partycje rozszerzone wraz z napΩdami logicznymi u┐ywanymi przez system Windows 2000 i wszystkie wersje Windows NT. Dyski podstawowe mog╣ r≤wnie┐ zawieraµ zestawy wolumin≤w lub zestawy paskowe, utworzone przez Windows NT 4.0 lub wcze£niejsze wersje. Przy zastosowaniu kompatybilnego formatu plikowego, dyski podstawowe s╣ dostΩpne dla system≤w: MS-DOS, Windows 95, Windows 98 i wszystkim wersjom Windows NT.
     System Windows 2000 automatycznie inicjuje dyski jako podstawowe, dlatego problemy zwi╣zane z partycjami i woluminami mo┐na rozwi╣zaµ tymi samymi metodami, co w przypadku Windows NT.
Uwaga FAT32 jest now╣ cech╣ Windows 2000. NarzΩdzia rozwi╣zywania problem≤w pochodz╣ce z Windows NT prawdopodobnie nie rozpoznaj╣ sektor≤w startowych FAT32 i mog╣ spowodowaµ b│Ωdy podczas pracy z woluminami sformatowanymi jako FAT32. Je£li komputer zawiera woluminy FAT32, to nale┐y u┐yµ narzΩdzia dyskowego przeznaczonego dla systemu Windows 2000, kt≤re rozpoznaje ten format.
     Nowe lub puste dyski mo┐na zainicjowaµ jako podstawowe lub dynamiczne po zako±czeniu instalacji sprzΩtu.
Wolumin podstawowy
     Wolumin podstawowy jest woluminem znajduj╣cym siΩ na dysku podstawowym. Do wolumin≤w podstawowych nale┐╣ partycje g│≤wne, napΩdy logiczne w partycjach rozszerzonych oraz zestawy wolumin≤w lub zestawy paskowe utworzone przez Windows NT 4.0 i wcze£niejsze wersje. Nie mo┐na tworzyµ wolumin≤w podstawowych na dyskach dynamicznych.
Uwaga Tworzenie nowych zestaw≤w FT (odpornych na b│Ωdy), takich jak woluminy lustrzane i woluminy RAID 5 (paskowe z parzysto£ci╣), jest mo┐liwe tylko na komputerach z systemem Windows 2000 Server. Przed utworzeniem tego typu wolumin≤w dysk musi zostaµ uaktualniony do dysku dynamicznego. Mo┐na jednak u┐yµ komputera z systemem Windows 2000 Professional do utworzenia wolumin≤w lustrzanych i RAID 5 na komputerze zdalnym z systemem Windows 2000 Server.
Dysk dynamiczny
     Dysk dynamiczny jest dyskiem fizycznym, kt≤ry zosta│ uaktualniony przez narzΩdzie Zarz╣dzanie dyskami. Dyski dynamiczne nie zawieraj╣ partycji ani napΩd≤w logicznych, zawieraj╣ tylko woluminy dynamiczne utworzone przez Zarz╣dzanie dyskami. Woluminy dynamiczne s╣ dostΩpne tylko dla komputer≤w z systemem Windows 2000.
Uwaga Dyski uaktualnione z dysku podstawowego do dysku dynamicznego zawieraj╣ jeszcze odniesienia do partycji w tabeli partycji znajduj╣cej siΩ w sektorze MBR. Partycje s╣ jednak zaznaczone w MBR jako dynamiczne, co informuje system Windows 2000, ┐e dane o konfiguracji dysku s╣ aktualnie utrzymywane w bazie danych zarz╣dzania dyskami znajduj╣cej siΩ na ko±cu dysku. Dalsze zmiany dokonane na dysku, takie jak usuniΩcie lub utworzenie wolumin≤w, nie s╣ zapisywane w tabeli partycji.
     Fizyczne dyski dynamiczne s╣ podzielone na woluminy dynamiczne opisane literami napΩd≤w.
Uwaga Woluminy sformatowane jako NTFS mog╣ byµ reprezentowane tak┐e jako punkty scalania wolumin≤w. WiΩcej informacji o punktach scalania znajduje siΩ w rozdziale äSystemy plik≤wö.
     Dane o konfiguracji dysk≤w przechowywane s╣ w bazie danych zarz╣dzania dyskami umieszczonej w ostatnim 1 MB na dysku. Dyski dynamiczne nie wykorzystuj╣ tradycyjnego schematu organizacji dysk≤w opartego na partycjach i woluminach logicznych, dlatego nie s╣ one bezpo£rednio dostΩpne dla system≤w MS-DOS, Windows 95, Windows 98 i Windows NT. Systemy te mog╣ jednak uzyskaµ dostΩp do folder≤w udostΩpnionych znajduj╣cych siΩ na dyskach dynamicznych.
Woluminy dynamiczne
     Wolumin dynamiczny jest woluminem logicznym utworzonym na dysku dynamicznym przez Zarz╣dzanie dyskami. Woluminy dynamiczne mog╣ byµ proste, │╣czone lub paskowe û Windows 2000 Server wspiera tak┐e woluminy typu FT (lustrzane i RAID 5). Nie mo┐na tworzyµ wolumin≤w dynamicznych na dyskach podstawowych. Woluminy dynamiczne nie s╣ wspierane przez komputery mobilne ani przez no£niki wymienne.
Uwaga Woluminy dynamiczne, kt≤re powsta│y przez uaktualnienie partycji podstawowych, nie mog╣ zostaµ rozszerzone. Dotyczy to szczeg≤lnie woluminu systemowego, kt≤ry zawiera pliki potrzebne do uruchomienia systemu Windows 2000 na okre£lonym sprzΩcie, oraz woluminu startowego, kt≤ry zawiera pliki systemowe Windows 2000 potrzebne podczas uruchamiania. Mo┐na rozszerzyµ tylko te woluminy, kt≤re zosta│y utworzone po uaktualnieniu dysku do dysku dynamicznego.
Partycje i woluminy
     Uaktualnienie do dysku dynamicznego powoduje konwersjΩ istniej╣cych partycji i wolumin≤w logicznych na woluminy dynamiczne. W tabeli 32.1 przedstawione s╣ niekt≤re terminy zwi╣zane z dyskiem podstawowym wraz z ich odpowiednikami na dysku dynamicznym.

Tabela 32.1 Terminy zwi╣zane z dyskiem podstawowym i dynamicznym

Struktura dysku podstawowegoStruktura 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)


Cechy dysku podstawowego      Na dysku podstawowym mo┐na u┐ywaµ partycji w ten sam spos≤b, co w systemie Windows NT Workstation 4.0, ale wprowadzenie dokonanych zmian nie wymaga zatwierdzenia ani powt≤rnego uruchomienia komputera. Zmiany dokonane przez Zarz╣dzanie dyskami s╣ wprowadzane ze skutkiem natychmiastowym. Wyj╣tkiem s╣ zmiany maj╣ce wp│yw na pliki ju┐ istniej╣ce na dysku.
     Na wolnym miejscu znajduj╣cym siΩ na fizycznym dysku twardym mo┐na utworzyµ do czterech partycji, z kt≤rych jedna mo┐e byµ partycj╣ rozszerzon╣. W partycji rozszerzonej mo┐na utworzyµ jeden lub wiΩcej napΩd≤w logicznych. Na dyskach podstawowych nie mo┐na tworzyµ zestaw≤w wolumin≤w ani wolumin≤w typu FT.
     
     Poni┐sze zadania mo┐na wykonaµ tylko na dysku podstawowym:      Niekt≤re stare funkcje nie s╣ ju┐ dostΩpne na dyskach podstawowych, poniewa┐ wielodyskowe systemy przechowywania wymagaj╣ dysk≤w dynamicznych. Zarz╣dzanie dyskami wspiera stare zestawy wolumin≤w i zestawy paskowe, ale nie pozwala na tworzenie nowych. Na przyk│ad na dysku podstawowym nie mo┐na tworzyµ zestaw≤w wolumin≤w ani zestaw≤w paskowych oraz nie mo┐na rozszerzaµ wolumin≤w ani zestaw≤w wolumin≤w. Zestawy mo┐na jedynie usun╣µ. Przed usuniΩciem zestawu nale┐y utworzyµ kopiΩ zapasow╣ wszystkich informacji zawartych w zestawie.
     Aby utworzyµ nowy wolumin │╣czony lub paskowy, nale┐y w pierwszej kolejno£ci uaktualniµ dysk do dysku dynamicznego. Aby dokonaµ konwersji istniej╣cego zestawu wolumin≤w lub paskowego, nale┐y uaktualniµ odpowiednie dyski fizyczne do dysku dynamicznego.

Cechy dysku dynamicznego

     Zarz╣dzanie dyskami jest bardzo elastyczne. Liczba wolumin≤w tworzonych na fizycznym dysku twardym jest ograniczona tylko przez ilo£µ wolnego miejsca dostΩpnego na dysku. Mo┐liwe jest tak┐e utworzenie wolumin≤w obejmuj╣cych kilka dysk≤w oraz, je£li u┐ywany jest Windows 2000 Server, wolumin≤w odpornych na b│Ωdy.
     
     NastΩpuj╣ce zadania mo┐na wykonaµ tylko na dysku dynamicznym:      Dyski dynamiczne nie s╣ wspierane przez komputery mobilne. Na komputerze mobilnym, w Zarz╣dzaniu dyskami, nie pojawia siΩ opcja uaktualnienia dysku do dynamicznego.
Uwaga Uaktualnienie dysku mo┐e byµ mo┐liwe na niekt≤rych starych komputerach mobilnych niekompatybilnych z ACPI, ale nie jest to zalecane ani wspierane. Dysk dynamiczny nie jest wspierany na dyskach wymiennych ani na dyskach wykorzystuj╣cych interfejsy USB lub IEEE 1394 (FireWire).
     Poni┐ej opisane s╣ sytuacje, w kt≤rych mo┐liwo£ci wolumin≤w dynamicznych s╣ ograniczone:
Przy instalacji systemu Windows 2000
     Je£li wolumin dynamiczny zosta│ utworzony z nieprzydzielonego miejsca na dysku dynamicznym, to nie mo┐na instalowaµ systemu Windows 2000 na tym woluminie.
     Wynika to z faktu, ┐e instalator Windows 2000 wykorzystuje wywo│ania BIOS, kt≤re rozpoznaj╣ tylko woluminy wystΩpuj╣ce w tabeli partycji. Tabela partycji zawiera tylko partycje dysku podstawowego i woluminy proste dysku dynamicznego powsta│e po uaktualnieniu partycji dysku podstawowego. Nowe woluminy dynamiczne nie s╣ rejestrowane w tabeli partycji.
Przy rozszerzaniu woluminu
     Na dysku dynamicznym nie mo┐na rozszerzaµ woluminu systemowego ani woluminu startowego. Woluminy te nie mog╣ nale┐eµ do woluminu │╣czonego, poniewa┐ system Windows 2000 traktuje woluminy rozszerzone jako identyczne z woluminami │╣czonymi.
     System Windows 2000 nie mo┐e rozszerzaµ woluminu dynamicznego, kt≤ry istnia│ przed uaktualnieniem w postaci woluminu startowego. W wiΩkszo£ci przypadk≤w dotyczy to woluminu systemowego i woluminu rozruchowego (kt≤re mog╣ byµ tym samym woluminem). Uaktualnione woluminy proste s╣ wci╣┐ powi╣zane z tablic╣ partycji i musz╣ odpowiadaµ strukturze zapisanej w tablicy. Rozszerzenie woluminu dynamicznego powoduje zmianΩ jego wielko£ci, ale dysk dynamiczny nie zapisuje zmian w tablicy partycji, dlatego uaktualnione woluminy nie mog╣ ulegaµ modyfikacji w ten spos≤b. Mo┐na rozszerzyµ tylko woluminy proste, utworzone po uaktualnieniu dysku do dynamicznego. Aby rozszerzyµ uaktualniony wolumin (z wyj╣tkiem woluminu systemowego i woluminu startowego), nale┐y usun╣µ uaktualniony wolumin i utworzyµ nowy wolumin na dysku dynamicznym. Do utworzenia i p≤ƒniejszego przywr≤cenia kopii zapasowej danych znajduj╣cych siΩ w woluminie mo┐na u┐yµ narzΩdzia Windows 2000 Kopia zapasowa. W Zarz╣dzaniu dyskami nale┐y przypisaµ nowy wolumin tej samej literze napΩdu lub punktowi scalania co stary wolumin, tak, aby zapewniµ prawid│owe funkcjonowanie wszystkich │╣czy opartych na literze napΩdu.

Wsp≤lne cechy dysku podstawowego i dynamicznego

     Poni┐sze zadania mo┐na wykonaµ na dyskach podstawowych i dynamicznych:
Uwaga Dysk podstawowy mo┐na uaktualniµ do dynamicznego bez utraty danych. Jednak┐e konwersja dysku dynamicznego na podstawowy wymaga usuniΩcia wszystkich wolumin≤w. Aby zachowaµ dane, nale┐y utworzyµ kopiΩ zapasow╣ lub przenie£µ je do drugiego woluminu. Po konwersji woluminu na podstawowy nale┐y utworzyµ now╣ partycjΩ pod t╣ sam╣ liter╣ napΩdu lub punktem scalania, a nastΩpnie przywr≤ciµ dane.

Sektory dysku istotne dla procesu uruchamiania

     Najwa┐niejszymi sektorami dla uruchomienia komputera s╣: MBR (master boot record) zawsze umieszczony w sektorze 1, na cylindrze 0, pod g│owic╣ 0 (czyli w pierwszym sektorze dysku twardego) oraz sektor startowy, kt≤ry znajduje siΩ w sektorze 1 ka┐dego woluminu. Obydwa sektory zawieraj╣ kod wykonywalny oraz dane potrzebne do wykonania kodu.
Uwaga Lokalizacja sektora MBR nie zale┐y od typu dysku (podstawowy czy dynamiczny), a w konfiguracji tabeli partycji istniej╣ tylko drobne r≤┐nice pomiΩdzy dwoma systemami. Natomiast informacje okre£laj╣ce pocz╣tki i ko±ce wolumin≤w dynamicznych znajduj╣ siΩ w bazie danych Zarz╣dzania dyskami, dlatego w przypadku dysku dynamicznego nie mo┐na poszukiwaµ pocz╣tk≤w wolumin≤w ani sektor≤w startowych metod╣ nawigacji w tabeli partycji. NarzΩdzia edycji dysk≤w, takie jak DiskProbe, mog╣ nawigowaµ w partycjach tak jak w przypadku dysk≤w podstawowych. Wiele narzΩdzi dyskowych przeznaczonych dla systemu Windows NT i NTFS nie jest jeszcze kompatybilnych z woluminami i sektorami startowymi typu FAT32.

Sektor MBR

     Sektor MBR (master boot record) jest najwa┐niejsz╣ struktur╣ danych na dysku. MBR zostaje utworzony przy partycjonowaniu dysku. MBR zawiera niewielk╣ ilo£µ kodu wykonywalnego, nazywan╣ g│≤wnym kodem startowym (master boot code), podpis dysku oraz tablicΩ partycji. Na ko±cu MBR znajduje siΩ 2-bajtowa struktura nazywana s│owem podpisu lub znacznikiem ko±ca sektora, ustawiona zawsze na 0x55AA. S│owo podpisu zaznacza r≤wnie┐ koniec EBR (extended boot record) oraz sektora startowego.
     Podpis dysku, unikalna liczba znajduj╣ca siΩ pod adresem relatywnym 0x01B8, pozwala systemowi operacyjnemu zidentyfikowaµ dysk. System Windows 2000 wykorzystuje podpis dysku jako indeks do przechowywania i odczytywania informacji o dysku w podkluczu rejestru HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices.

G│≤wny kod startowy

     G│≤wny kod startowy wykonuje nastΩpuj╣ce zadania:
  1. Odnalezienie partycji aktywnej w tabeli partycji.
  2. Odnalezienie sektora pocz╣tkowego partycji aktywnej.
  3. Za│adowanie kopii sektora startowego z partycji aktywnej do pamiΩci.
  4. Przekazanie kontroli kodowi wykonywalnemu zawartemu w sektorze startowym.
     Je£li wykonanie powy┐szych funkcji jest niemo┐liwe, to pojawi siΩ jeden z nastΩpuj╣cych komunikat≤w b│Ωdu:
Uwaga Dyskietki nie zawieraj╣ sektora MBR. Na dyskietce pierwszym sektorem jest sektor startowy. Ka┐dy dysk twardy zawiera MBR, jednak┐e g│≤wny kod startowy jest u┐ywany tylko w przypadku, gdy dysk zawiera aktywn╣, g│≤wn╣ partycjΩ.
     Informacje o problemach zwi╣zanych z MBR znajduj╣ siΩ dalej w tym rozdziale pod has│em äUszkodzone sektory MBR i sektory startoweö.

Tabela partycji

     Tabela partycji, 64-bajtowa struktura danych okre£laj╣ca typ i lokalizacje partycji na dysku twardym, odpowiada standardowemu uk│adowi niezale┐nemu od systemu operacyjnego. D│ugo£µ ka┐dego wpisu w tabeli wynosi 16 bajt≤w, a maksymalna liczba wpis≤w wynosi cztery. Pocz╣tek ka┐dego wpisu znajduje siΩ pod okre£lonym adresem relatywnym w stosunku do pocz╣tku sektora, mianowicie:
Uwaga W systemie Windows 2000 tabela partycji jest u┐ywana tylko w przypadku dysku podstawowego. Na dyskach dynamicznych informacje o konfiguracji dysku umieszczane s╣ w bazie danych Zarz╣dzania dyskami znajduj╣cej siΩ na ko±cu dysku. Po uaktualnieniu do dysku dynamicznego, w przypadku utworzenia, usuniΩcia lub rozszerzenia wolumin≤w tabela partycji nie jest aktualizowana.
     Poni┐ej przedstawiona jest czΩ£µ przyk│adowego sektora MBR, zawieraj╣ca tabelΩ partycji na komputerze posiadaj╣cym trzy partycje. Gdy dysk zawiera mniej ni┐ cztery partycje, pozosta│e pola w tabeli partycji zawieraj╣ warto£µ 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 ..............

     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 relatywnyD│ugo£µ polaPrzyk│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.

Bajt zawiera 8 bit≤w, WORD 16 bit≤w, DWORD 32 bity, a LONGLONG 64 bity. Przyk│adowe warto£ci zaznaczone * nie reprezentuj╣ w│a£ciwych warto£ci p≤l, poniewa┐ pola zawieraj╣ 6 bit≤w lub 10 bit≤w, za£ dane zapisywane s╣ w bajtach.
W liczbach sk│adaj╣cych siΩ z wiΩcej ni┐ jednego bajta mniej znacz╣cy bajt zapisany jest jako pierwszy (wed│ug formatu "little endian"). Na przyk│ad, podana w powy┐szej tabeli warto£µ pola Sektory wzglΩdne, 0x3F000000, stanowi reprezentacjΩ "little endian" liczby 0x0000003F (63 w systemie dziesiΩtnym).
Wskaƒnik rozruchu
     Pierwszy element tabeli partycji, pole Wskaƒnik rozruchu, okre£la, czy wolumin jest partycj╣ aktywn╣. Pole to mo┐e byµ w│╣czone tylko w jednej g│≤wnej partycji dysku.
     R≤┐ne woluminy mog╣ zawieraµ r≤┐ne systemy operacyjne i systemy plik≤w. Gdy narzΩdzia dyskowe, takie jak Zarz╣dzanie dyskami w systemie Windows 2000 lub Fdisk w MS-DOS, s╣ u┐ywane do oznaczenia partycji g│≤wnej jako aktywnej, to pole Wskaƒnik rozruchu zostaje ustawione w tabeli partycji na warto£µ 0x80.
Identyfikator systemu
     Pole Identyfikator systemu okre£la system plik≤w (na przyk│ad FAT16, FAT32 lub NTFS) zastosowany w woluminie oraz cechy FT (odporno£ci na b│Ωdy) woluminu. Ponadto pole to identyfikuje ewentualn╣ partycjΩ rozszerzon╣. System Windows 2000 wykorzystuje to pole do ustalenia, kt≤re sterowniki urz╣dze± systemu plik≤w maj╣ zostaµ za│adowane podczas uruchamiania systemu. Warto£ci identyfikatora systemu przedstawione s╣ w tabeli 32.3.
Tabela 32.3 Warto£ci identyfikatora systemu

Typ partycjiWarto£µ 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 *


Typy partycji zaznaczone * obejmuj╣ tak┐e konfiguracje nie-FT, takie jak woluminy paskowe i │╣czone.

     Gdy w systemie Windows NT 4.0 lub wcze£niejszej wersji zostaje utworzony wolumin lustrzany lub RAID-5 , to dla ka┐dej partycji g│≤wnej lub napΩdu logicznego nale┐╣cego do woluminu ustawiony zostaje najwy┐szy bit pola Identyfikator systemu. Na przyk│ad partycja g│≤wna lub napΩd logiczny FAT16 nale┐╣cy do woluminu lustrzanego albo RAID-5 posiada identyfikator systemu 0x86. Partycje g│≤wne i napΩdy logiczne typu FAT32 lub NTFS posiadaj╣ identyfikatory systemu odpowiednio 0x8B lub 0x87. Partycje tego typu s╣ dostΩpne bezpo£rednio tylko systemom Windows 2000 i Windows NT, jednak foldery udostΩpnione na dyskach FT s╣ dostΩpne tak┐e dla komputer≤w z systemem MS-DOS, Windows 95 lub Windows 98.
Uwaga MS-DOS mo┐e uzyskaµ dostΩp tylko do wolumin≤w o identyfikatorze 0x01, 0x04, 0x05 lub 0x06. Inne woluminy mo┐na usun╣µ za pomoc╣ narzΩdzi MS-DOS takich jak Fdisk. Je£li u┐ywany jest niskopoziomowy edytor dysku, taki jak DiskProbe, to mo┐na odczytywaµ i zapisywaµ w dowolnym sektorze, nawet w sektorach zawartych w woluminie NTFS.
Cylinder, g│owica i sektor pocz╣tkowy/ko±cowy
     Pola Cylinder pocz╣tkowy/ko±cowy, G│owica pocz╣tkowa/ko±cowaSektor pocz╣tkowy/ko±cowy (nazywane polami CHS) s╣ niezbΩdne podczas uruchamiania komputera. G│≤wny kod startowy wykorzystuje te pola do odnalezienia i za│adowania sektora startowego aktywnej partycji. W nieaktywnych partycjach pola pocz╣tkowe CHS wskazuj╣ sektory startowe pozosta│ych partycji g│≤wnych oraz EBR pierwszego napΩdu logicznego w partycji rozszerzonej (rysunek 32.1).
     Znajomo£µ sektora pocz╣tkowego partycji rozszerzonej jest bardzo wa┐na podczas rozwi╣zywania niskopoziomowych problem≤w dyskowych. W przypadku awarii dysku nale┐y skorzystaµ z punktu pocz╣tkowego partycji (miΩdzy innymi) w celu odzyskania danych.
Uwaga Aby udokumentowaµ sektory pocz╣tkowe i ko±cowe partycji znajduj╣cych siΩ na dysku twardym wraz z innymi przydatnymi danymi dotycz╣cymi konfiguracji dysku, nale┐y skorzystaµ z narzΩdzia DiskMap. Informacje o DiskMap s╣ dostΩpne na p│ycie CD-ROM Windows 2000 Resource Kit.
     Na rysunku 32.1 przedstawione s╣ sektor MBR, tabela partycji i sektory startowe na dysku zawieraj╣cym cztery partycje. Pola rozszerzonych tabel partycji odpowiadaj╣ polom standardowej tabeli partycji.


Rysunek 32.1 Dysk podstawowy zawieraj╣cy cztery partycje

     Pole tabeli partycji Cylinder ko±cowy zawiera 10 bit≤w, dlatego liczba cylindr≤w objΩtych tabel╣ partycji nie mo┐e przekraczaµ 1023. Pola G│owica pocz╣tkowa/ko±cowa zawieraj╣ jeden bajt, czyli warto£ci w zakresie 0û255. Pola Sektor pocz╣tkowy/ko±cowy zawieraj╣ sze£µ bit≤w, czyli warto£ci w zakresie 0û63. Sektory s╣ ponumerowane pocz╣wszy od 1 (w przeciwie±stwie do pozosta│ych p≤l, kt≤re liczone s╣ od 0), dlatego maksymalna liczba sektor≤w na £cie┐kΩ wynosi 63.
     Wszystkie dyski twarde zawieraj╣ niskopoziomowe formatowanie z zachowaniem standardowego sektora 512 bajt≤w. Zatem maksymalna pojemno£µ dysku wynosi:

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.
Uwaga Gdy u┐ywany jest standardowy 512-bajtowy sektor wraz z FAT16 i Windows 2000, to maksymalna wielko£µ klastra wynosi 64 KB. Maksymalna wielko£µ woluminu FAT16 wynosi wiΩc 4 GB.
     Je£li stosowana jest konfiguracja wielosystemowa obejmuj╣ca Windows 95, Windows 98 lub MS-DOS, to woluminy FAT16 musz╣ byµ ograniczone do 2 GB (aby by│y dostΩpne dla tych system≤w operacyjnych). Woluminy FAT16 udostΩpniane komputerowi Macintosh r≤wnie┐ nie mog╣ przekraczaµ 2 GB. Je£li w powy┐szych sytuacjach jest u┐ywany wolumin FAT16 o wielko£ci powy┐ej 2 GB, to mo┐e pojawiµ siΩ komunikat informuj╣cy, ┐e dostΩpnych jest zero bajt≤w.
     Maksymalna wielko£µ woluminu FAT16 zale┐y od geometrii dysku oraz od maksymalnych warto£ci p≤l tabeli partycji. W tabeli 32.4 przedstawione s╣ typowe wielko£ci wolumin≤w FAT16 w zale┐no£ci od tego, czy w│╣czone jest adresowanie LBA. W obydwu przypadkach liczba cylindr≤w wynosi 1024 (od 0 do 1023). W sytuacji, gdy partycja g│≤wna lub napΩd logiczny zajmuje wiΩcej ni┐ 1024 cylindr≤w, wszystkie opisane powy┐ej pola bΩd╣ zawieraµ maksymalne warto£ci.
Tabela 32.4 Wielko£µ wolumin≤w FAT16 w zale┐no£ci od statusu LBA

Status LBALiczba g│owicSektory na £cie┐kΩMaksymalna wielko£µ partycji systemowej lub partycji startowej

Wy│╣czony 64 32 1 GB
W│╣czony 255 63 4 GB



Ostrze┐enie Nie nale┐y zmieniaµ ustawienia LBA na dysku twardym zawieraj╣cym dane. Mo┐e to negatywnie wp│yn╣µ na proces interpretacji atrybut≤w dysku dotycz╣cych przechowywania danych oraz uszkodziµ wszystkie pliki i partycje znajduj╣ce siΩ na dysku fizycznym. Przed modyfikacj╣ tego ustawienia BIOS nale┐y przeczytaµ odpowiednie informacje w dokumentacji komputera.

     Aby umo┐liwiµ stosowanie wolumin≤w przekraczaj╣cych 7,8 GB, system Windows 2000 ignoruje warto£ci p≤l tabeli partycji Sektor pocz╣tkowy/ko±cowy, uwzglΩdniaj╣c w ich miejsce pola Sektory wzglΩdne i Liczba sektor≤w.
Sektory wzglΩdne i Liczba sektor≤w
     Pole Sektory wzglΩdne reprezentuje liczbΩ sektor≤w od pocz╣tku dysku do pocz╣tku woluminu opisanego przez dany wpis tabeli partycji. Pole Liczba sektor≤w reprezentuje og≤ln╣ liczbΩ sektor≤w zawartych w woluminie.
     U┐ycie p≤l Sektory wzglΩdne i Liczba sektor≤w (razem 32 bit≤w) daje o 8 bit≤w wiΩcej ni┐ schemat CHS. W ten spos≤b mo┐na zdefiniowaµ partycje zawieraj╣ce 232 sektor≤w. Przy standardowej wielko£ci sektora (512 bajt≤w) oznacza to maksymaln╣ wielko£µ partycji wynosz╣c╣ 2 terabajty (2 199 023 255 552 bajt≤w).
     Powy┐szy schemat adresowania jest u┐ywany w systemie Windows 2000 tylko w przypadku system≤w plik≤w NTFS i FAT32.
Uwaga Woluminy FAT32 utworzone przez narzΩdzie Format w systemie Windows 2000 s╣ ograniczone do 32 GB. System Windows 2000 mo┐e jednak uzyskaµ bezpo£redni dostΩp do wiΩkszych wolumin≤w FAT32 utworzonych przez Windows 95 OSR2 lub Windows 98.
     System Windows 2000 wykorzystuje pola tabeli partycji do uzyskania dostΩpu do wszystkich partycji. Gdy partycja jest sformatowana podczas dzia│ania systemu Windows 2000, to dane zostaj╣ umieszczone w polach CHS w celu zapewnienia kompatybilno£ci z MS-DOS, Windows 95 i Windows 98 oraz kompatybilno£ci z BIOS INT 13h dla cel≤w uruchamiania.

EBR

     EBR (extended boot record) sk│ada siΩ z rozszerzonej tabeli partycji i s│owa podpisu danego sektora. EBR jest utworzone dla ka┐dego napΩdu logicznego zawartego w partycji rozszerzonej. EBR zawiera jedyne informacje znajduj╣ce siΩ po pierwszej stronie pierwszego cylindra ka┐dego napΩdu logicznego w partycji rozszerzonej. Zazwyczaj sektor startowy napΩdu logicznego znajduje siΩ w sektorze wzglΩdnym 32 lub 63. W przypadku dysku bez partycji rozszerzonej nie istniej╣ EBR ani napΩdy logiczne.
Uwaga Powy┐sze informacje dotycz╣ tylko dysk≤w podstawowych.
     W rozszerzonej tabeli partycji ka┐dego napΩdu logicznego pierwszy wpis okre£la adres sektora startowego danego napΩdu logicznego, a drugi wpis wskazuje EBR kolejnego napΩdu logicznego. W przypadku braku kolejnych napΩd≤w logicznych drugi wpis nie jest u┐ywany i zawiera tylko zera. Trzeci i czwarty wpis nigdy nie s╣ u┐ywane.
     Jak pokazuje rysunek 32.2, EBR napΩd≤w logicznych w partycji rozszerzonej tworz╣ po│╣czon╣ listΩ. Na rysunku przedstawiona jest partycja rozszerzona zawieraj╣ca trzy napΩdy logiczne û nale┐y zwr≤ciµ uwagΩ na r≤┐nicΩ pomiΩdzy rozszerzon╣ tabel╣ partycji ostatniego napΩdu logicznego a poprzednimi rozszerzonymi tabelami partycji.


Rysunek 32.2 Struktura partycji rozszerzonej

     Z wyj╣tkiem ostatniego napΩdu logicznego, format rozszerzonej tabeli partycji (opisany w tabeli 32.5) powtarza siΩ w ka┐dym napΩdzie logicznym: pierwszy wpis wskazuje sektor startowy napΩdu, a drugi wpis û EBR kolejnego napΩdu logicznego. Rozszerzona tabela partycji ostatniego napΩdu logicznego zawiera tylko informacje o tym napΩdzie logicznym û wpisy 2, 3 i 4 nie s╣ u┐ywane.      
Tabela 32.5 Zawarto£µ wpis≤w rozszerzonej tabeli partycji

WpisZawarto£µ

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.


     Pola wpis≤w w rozszerzonej tabeli partycji odpowiadaj╣ polom wpis≤w w tabeli partycji MBR (patrz tabela 32.2).
     Pole Sektory wzglΩdne w rozszerzonej tabeli partycji zawiera liczbΩ bajt≤w od pocz╣tku partycji rozszerzonej do pierwszego sektora napΩdu logicznego. Warto£µ pola Liczba sektor≤w oznacza liczbΩ sektor≤w tworz╣cych napΩd logiczny (r≤wn╣ liczbie sektor≤w û od sektora startowego, okre£lonego w rozszerzonej tabeli partycji, do ko±ca napΩdu logicznego).
     Ze wzglΩdu na wa┐no£µ sektor≤w MBR i EBR, zalecane jest regularne stosowanie narzΩdzi skanowania dysk≤w oraz regularne tworzenie kopii zapasowych wszystkich plik≤w danych na wypadek utraty dostΩpu do woluminu lub ca│ego dysku.

Sektor startowy

     Sektor startowy (sektor numer 1 w ka┐dym woluminie) jest struktur╣ istotn╣ dla uruchomienia komputera. Zawiera on wykonywalny kod oraz dane potrzebne kodowi, w tym informacje umo┐liwiaj╣ce systemowi plik≤w uzyskanie dostΩpu do woluminu. Sektor startowy zostaje utworzony w momencie sformatowania woluminu. Na ko±cu sektora startowego znajduje siΩ dwubajtowa struktura nazywana s│owem podpisu lub znacznikiem ko±ca sektora, zawsze ustawiona na warto£µ 0x55AA. Na komputerach z systemem Windows 2000 sektor startowy partycji aktywnej zostaje za│adowany do pamiΩci i uruchamia Ntldr, kt≤ry │aduje system operacyjny.
     
     Sektor startowy systemu Windows 2000 sk│ada siΩ z nastΩpuj╣cych element≤w:
Uwaga Powy┐sze trzy elementy s╣ zawarte we wszystkich sektorach startowych systemu Windows 2000, jednak format sektora startowego jest zale┐ny od systemu plik≤w (NTFS, FAT16 lub FAT32).
     Blok BPB opisuje fizyczne parametry woluminu. Rozszerzony blok BPB rozpoczyna siΩ bezpo£rednio po bloku BPB. Ze wzglΩdu na r≤┐ne typy p≤l d│ugo£µ bloku BPB jest zale┐na od stosowanego systemu plik≤w (FAT16, FAT32, NTFS).
     Informacje zawarte w bloku BPB i w rozszerzonym bloku BPB s╣ u┐ywane przez sterowniki urz╣dze± dyskowych do odczytania i skonfigurowania wolumin≤w. Obszar za rozszerzonym BPB zwykle zawiera wykonywalny kod startowy, kt≤ry kieruje dalszym procesem uruchamiania.

Procesy uruchamiania sektora startowego

     Komputery wykorzystuj╣ sektor startowy do wykonania instrukcji podczas uruchamiania. Pocz╣tkowy proces uruchamiania obejmuje nastΩpuj╣ce g│≤wne etapy:
  1. BIOS systemu i CPU inicjuj╣ test POST(power-on self test).
  2. BIOS poszukuje urz╣dzenia startowego (zwykle dysku).
  3. BIOS │aduje do pamiΩci pierwszy sektor fizyczny urz╣dzenia startowego i przekazuje kontrolΩ CPU do adresu tego sektora w pamiΩci.
     Je£li urz╣dzenie startowe znajduje siΩ na dysku twardym, to BIOS │aduje sektor MBR. G│≤wny kod startowy zawarty w sektorze MBR │aduje do pamiΩci sektor startowy partycji aktywnej i przekazuje kontrolΩ CPU do adresu tego sektora w pamiΩci. W przypadku komputer≤w z systemem Windows 2000 wykonywalny kod w sektorze startowym odnajduje plik Ntldr, │aduje go do pamiΩci i przekazuje mu kontrolΩ.
Uwaga Systemu Windows 2000 nie mo┐na uruchamiaµ z woluminu │╣czonego, paskowego ani typu RAID-5, opartego na dysku dynamicznym. Te struktury dyskowe nie mog╣ zostaµ zarejestrowane w tabeli partycji MBR. U┐ywaµ ich mo┐na dopiero po pe│nym za│adowaniu Windows 2000 do pamiΩci.
     Je£li napΩd A zawiera dyskietkΩ, to BIOS systemu │aduje do pamiΩci pierwszy sektor dysku (sektor startowy). Je£li dyskietka jest startowa û sformatowana przez MS-DOS z zastosowaniem g│≤wnych plik≤w systemu operacyjnego û to sektor startowy │aduje i wykonuje kod przekazuj╣cy kontrolΩ CPU do Io.sys, jednego z g│≤wnych plik≤w systemu operacyjnego MS-DOS. Je£li dyskietka nie jest startowa, to wykonywalny kod startowy wy£wietla komunikat b│Ωdu, na przyk│ad:

Non-System disk or disk error
     Replace and press any key when ready


Uwaga Powy┐szy komunikat nie pojawia siΩ na normalnie funkcjonuj╣cym systemie skonfigurowanym tak, aby w pierwszej kolejno£ci szuka│ plik≤w uruchamiania na napΩdzie C. Na wielu komputerach program obs│uguj╣cy ustawienia CMOS zawiera opcjΩ daj╣c╣ u┐ytkownikowi mo┐liwo£µ ustawienia kolejno£ci dysk≤w, na kt≤rych system poszukuje plik≤w uruchamiania.
     Je£li podczas uruchamiania komputera z dysku twardego pojawiaj╣ siΩ podobne komunikaty b│Ωd≤w, to sektor startowy mo┐e byµ uszkodzony. Informacje o problemach zwi╣zanych z sektorem startowym znajduj╣ siΩ dalej w tym rozdziale pod has│em äUszkodzone sektory MBR i sektory startoweö.
     Pocz╣tkowo proces uruchamiania jest niezale┐ny od formatu dysku i od systemu operacyjnego. Unikalne cechy system≤w operacyjnych i system≤w plik≤w staj╣ siΩ wa┐ne w momencie rozpoczΩcia wykonywania kodu zawartego w sektorze startowym.

Komponenty sektora startowego

     Sektor MBR przekazuje kontrolΩ nad CPU do sektora startowego, dlatego trzy pierwsze bajty sektora startowego musz╣ byµ dopuszczonymi instrukcjami CPU opartego na x86. W bajtach tych znajduje siΩ instrukcja jump, kt≤ra powoduje pominiΩcie kilku kolejnych niewykonywalnych bajt≤w.
     Po instrukcji jump wystΩpuje identyfikator OEM ID, 8-bajtowy │a±cuch znak≤w oznaczaj╣cy nazwΩ i wersjΩ systemu operacyjnego, kt≤ry sformatowa│ dany wolumin. Na dyskach FAT16 i FAT32, aby zapewniµ kompatybilno£µ z MS-DOS, system Windows 2000 zapisuje identyfikator OEM ID äMSDOS5.0ö. Na dyskach NTFS - Windows 2000 zapisuje äNTFSö.
Uwaga Spotykane s╣ tak┐e identyfikatory äMSWIN4.0ö na dyskach sformatowanych przez Windows 95 oraz äMSWIN4.1ö na dyskach sformatowanych przez Windows 95 OSR2 i przez Windows 98. System Windows 2000 wykorzystuje pole OEM ID w sektorze startowym wy│╣cznie do weryfikacji wolumin≤w NTFS.
     Po OEM ID wystΩpuje blok BPB, kt≤ry dostarcza informacji umo┐liwiaj╣cych wykonywalnemu kodowi startowemu odnalezienie pliku Ntldr. Blok BPB zawsze rozpoczyna siΩ od tego samego adresu relatywnego, dlatego adresy standardowych parametr≤w s╣ znane. Blok BPB zawiera informacje o wielko£ci i geometrii dysku. Poniewa┐ sektor startowy zaczyna siΩ od instrukcji x86 jump, to w przysz│o£ci BPB mo┐e zostaµ rozszerzony poprzez do│╣czenie nowych informacji do ko±ca bloku. Taka zmiana wymaga│aby tylko drobnej modyfikacji instrukcji jump. BPB przechowywany jest w formacie zapakowanym (niewyr≤wnanym).

Sektor startowy FAT16

     W tabeli 32.6 opisany jest sektor startowy woluminu sformatowanego wed│ug systemu plik≤w FAT16.      
Tabela 32.6 Sekcje sektora startowego w woluminie FAT16

Adres relatywnyD│ugo£µ polaNazwa 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


     W poni┐szym przyk│adzie przedstawione s╣ warto£ci szesnastkowe tworz╣ce sektor startowy woluminu typu FAT16, podzielone na trzy czΩ£ci:      

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 relatywnyD│ugo£µ polaWarto£µ przyk│adowaNazwa 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 relatywnyD│ugo£µ polaWarto£µ przyk│adowaNazwa 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.


Sektor startowy FAT32

     W tabeli 32.9 opisany jest sektor startowy woluminu sformatowanego jako FAT32.
Uwaga Struktura sektora startowego FAT32 jest podobna do sektora startowego FAT16, ale blok BPB FAT32 zawiera dodatkowe pola. Rozszerzony blok BPB FAT32 zawiera te same pola co rozszerzony BPB FAT16, ale r≤┐ne s╣ adresy relatywne tych p≤l. Nie wszystkie systemy operacyjne s╣ kompatybilne z FAT32.
     
Tabela 32.9 Sekcje sektora startowego w woluminie FAT32

Adres relatywnyD│ugo£µ polaNazwa 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


     Poni┐ej przedstawione s╣ przyk│adowe warto£ci bajt≤w sektora startowego w woluminie FAT32, podzielone na trzy czΩ£ci: 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 relatywnyD│ugo£µ polaWarto£µ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 relatywnyD│ugo£µ polaWarto£µ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.


Sektor startowy NTFS      W tabeli 32.12 opisany jest sektor startowy woluminu sformatowanego jako NTFS. W tym przypadku kod bootstrap jest rzeczywi£cie d│u┐szy ni┐ 426 bajt≤w. Podczas formatowania woluminu NTFS 16 pierwszych sektor≤w jest przeznaczonych dla sektora startowego i kodu bootstrap.      
Tabela 32.12 Sekcje sektora startowego w woluminie NTFS

Adres relatywnyD│ugo£µ polaNazwa 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


     W woluminach NTFS pola danych wystΩpuj╣ce po bloku BPB tworz╣ rozszerzony BPB. Dane te pozwalaj╣ programowi Ntldr odnaleƒµ g│≤wn╣ tabelΩ plik≤w (MFT) podczas uruchamiania. W przeciwie±stwie do FAT16 i FAT32, w woluminach NTFS tabela MFT nie zawsze jest usytuowana w okre£lonym miejscu. Oznacza to, ┐e tabelΩ MFT mo┐na przenie£µ do innego miejsca w przypadku, gdy jej sektor zosta│ uszkodzony. Natomiast je£li dane s╣ uszkodzone, to odnalezienie MFT jest niemo┐liwe i system Windows 2000 przyjmie, ┐e wolumin nie zosta│ sformatowany.
     W poni┐szym przyk│adzie przedstawiony jest sektor startowy woluminu NTFS sformatowanego w Windows 2000. Warto£ci podzielone s╣ na trzy czΩ£ci: 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 relatywnyD│ugo£µ polaWarto£µ przyk│adowaNazwa 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


Ochrona sektora startowego      Sektor startowy jest niezbΩdny do zapewnienia systemowi dostΩpu do woluminu. Zalecane jest regularne stosowanie narzΩdzi skanowania dysku, takich jak Chkdsk, oraz tworzenie kopii zapasowych wszystkich plik≤w danych.

Rozwi╣zywanie problem≤w dyskowych

     Do narzΩdzi u┐ywanych do rozwi╣zania problem≤w zwi╣zanych z dyskami nale┐╣:      Powy┐sze narzΩdzia nie s╣ przeznaczone dla dysk≤w dynamicznych, poniewa┐ nie odczytuj╣ dynamicznej bazy danych Zarz╣dzania dyskami. DiskProbe mo┐e zmieniµ warto£ci bajt≤w w dowolnym sektorze dysku dynamicznego, ale nie mo┐e nawigowaµ w strukturze dysku dynamicznego, dlatego odnalezienie ┐╣danego sektora mo┐e byµ niemo┐liwe. Zalecane jest wiΩc stosowanie tych narzΩdzi tylko na dyskach podstawowych.
     DiskProbe znajduje siΩ w folderze \Support\Tools na p│ycie CD-ROM Windows 2000. WiΩcej informacji o narzΩdziu znajduje siΩ w pliku Dskprtrb.doc w folderze C:\Program Files\Support Tools.
     DiskMap znajduje siΩ na p│ycie CD-ROM Microsoft Windows 2000 Resource Kit. WiΩcej informacji o tym narzΩdziu znajduje siΩ w pliku Diskmap.doc, instalowanym w folderze C:\Program Files\Resource Kit.


Ostrze┐enie Nale┐y zachowaµ ogromn╣ ostro┐no£µ przy modyfikacji struktur dysku twardego. DiskProbe nie zatwierdza proponowanych zmian. Niew│a£ciwe warto£ci kluczowych struktur danych mog╣ uniemo┐liwiµ dostΩp do dysku lub uruchomienie systemu operacyjnego.

     Po dokonaniu nieodpowiednich zmian mog╣ pojawiµ siΩ nastΩpuj╣ce komunikaty b│Ωd≤w:      Przed wprowadzeniem dokonanych zmian DiskProbe wy£wietla komunikat prosz╣cy o ich zatwierdzenie. Wszystkie zmiany nale┐y dok│adnie rozwa┐yµ przed ich zatwierdzeniem.
     NarzΩdzia takie jak DiskProbe pozwalaj╣ rozwi╣zaµ problemy wynikaj╣ce z b│Ωd≤w u┐ytkownik≤w, awarii sprzΩtu, przerwa± zasilania i innych wydarze±. Zalecane jest zapoznanie siΩ z tymi narzΩdziami w sytuacji testowej. Testowanie jest szczeg≤lnie wa┐ne w przypadku konfiguracji zawieraj╣cej stare zestawy │╣czone lub paskowe.
Uwaga W DiskProbe mo┐na zapisaµ, odtworzyµ, odnaleƒµ, zbadaµ i zmieniµ bajty dowolnego sektora dysku, w tym sektora MBR i sektora startowego. MBR dysku 0 jest u┐ywany do uruchomienia komputer≤w z systemem Windows 2000, a wolumin systemowy i wolumin startowy dysku 0 musz╣ byµ zdefiniowane w tabeli partycji, co u│atwia odnalezienie sektor≤w startowych niezale┐nie od konfiguracji dysku. Oznacza to, ┐e DiskProbe mo┐e utworzyµ i przywr≤ciµ kopie zapasowe tych struktur dyskowych na komputerach wykorzystuj╣cych dysk dynamiczny.

Wirusy

     Wiele wirus≤w komputerowych wykorzystuje struktury dyskowe u┐ywane podczas uruchamiania komputera, modyfikuj╣c lub zastΩpuj╣c kod i dane uruchamiaj╣ce system operacyjny.

Wirusy sektora MBR

     Wirusy MBR wykorzystuj╣ g│≤wny kod startowy, kt≤ry zostaje uruchomiony automatycznie podczas uruchamiania komputera. Wirusy sektora MBR s╣ uruchamiane przy aktywizacji g│≤wnego kodu startowego przez BIOS, przed za│adowaniem systemu operacyjnego.
     Wiele wirus≤w zastΩpuje sektor MBR nowym kodem lub przenosz╣ one oryginalny MBR do innego miejsca na dysku. Po aktywizacji wirusa pozostaje on w pamiΩci i przekazuje kontrolΩ do oryginalnego MBR, tak aby proces uruchamiania wydawa│ siΩ przebiegaµ normalnie. Niekt≤re wirusy usuwaj╣ oryginalny sektor MBR, po czym wszystkie woluminy dysku staj╣ siΩ niedostΩpne. Je£li zniszczony zostanie wpis w tabeli partycji dotycz╣cy g│≤wnej aktywnej partycji, to uruchomienie komputera bΩdzie niemo┐liwe. Niekt≤re wirusy przenosz╣ MBR do ostatniego sektora dysku û je£li sektor ten nie jest chroniony, to mo┐e on zostaµ zast╣piony podczas normalnej pracy na komputerze, po czym ponowne uruchomienie systemu bΩdzie niemo┐liwe.

Wirusy sektora startowego

     Podobnie jak g│≤wny kod startowy, wykonywalny kod znajduj╣cy siΩ w sektorze startowym zostaje uruchomiony automatycznie podczas uruchamiania komputera, a wiΩc stanowi kolejny element nara┐ony na ataki wirus≤w. Wirusy sektora startowego s╣ aktywizowane przed za│adowaniem systemu operacyjnego, gdy g│≤wny kod startowy w MBR identyfikuje aktywn╣ partycjΩ i aktywizuje wykonywalny kod startowy odpowiedniego woluminu.
     Wiele wirus≤w zastΩpuje sektor startowy nowym kodem, przenosz╣c oryginalny sektor startowy do innego miejsca na dysku. Po aktywizacji wirusa pozostaje on w pamiΩci i przekazuje kontrolΩ do oryginalnego sektora startowego, tak aby proces uruchamiania wydawa│ siΩ przebiegaµ normalnie. Niekt≤re wirusy usuwaj╣ oryginalny sektor startowy, po czym wolumin staje siΩ niedostΩpny. Je£li uszkodzony wolumin jest aktywn╣, g│≤wn╣ partycj╣, to uruchomienie systemu bΩdzie niemo┐liwe. Niekt≤re wirusy przenosz╣ sektor startowy do ostatniego sektora dysku û je£li sektor ten nie jest chroniony, to mo┐e zostaµ zast╣piony podczas normalnej pracy na komputerze, po czym wolumin bΩdzie niedostΩpny lub ponowne uruchomienie systemu bΩdzie niemo┐liwe.

Efekt wirus≤w sektora MBR i sektora startowego w Windows 2000

     Istniej╣ dwa czΩsto wystΩpuj╣ce sposoby, w jaki komputery zara┐aj╣ siΩ wirusami sektora MBR lub sektora startowego: uruchomienie komputera z zara┐onej dyskietki lub uruchomienie zara┐onego programu.
     System Windows 2000 jest chroniony przed tego typu wirusami podczas normalnego dzia│ania, poniewa┐ dostΩp do dysk≤w fizycznych jest uzyskiwany tylko poprzez sterowniki dysk≤w funkcjonuj╣ce w trybie chronionym. Wirusy zwykle atakuj╣ procedury dostΩpu do dysku BIOS INT 13h, kt≤re s╣ ignorowane po uruchomieniu systemu Windows 2000. Natomiast w przypadku konfiguracji wielosystemowych obejmuj╣cych Windows 2000 razem z MS-DOS, Windows 95 lub Windows 98 zara┐enie komputera jest mo┐liwe w≤wczas, gdy dzia│a system operacyjny inny ni┐ Windows 2000. W takiej sytuacji tak┐e system Windows 2000, jest nara┐ony na uszkodzenie.
     Po aktywizacji sterownik≤w dysk≤w w trybie chronionym wirus nie mo┐e kopiowaµ siΩ do innych dysk≤w i dyskietek, poniewa┐ jest zale┐ny od mechanizmu BIOS. Zagro┐enie stanowi╣ jednak wirusy uruchamiane podczas procesu uruchamiania systemu Windows 2000 przed momentem przekazania kontroli do Windows 2000.

Usuwanie wirusa sektora MBR lub sektora startowego

     Aby usun╣µ wirus z komputera, nale┐y u┐yµ regularnie aktualizowanego, dobrze znanego programu antywirusowego przeznaczonego dla systemu Windows 2000. Opr≤cz skanowania dysk≤w twardych komputera, nale┐y sprawdziµ wszystkie dyskietki, kt≤re zosta│y w│o┐one do zara┐onego komputera lub innych komputer≤w, a w przypadku komputera wielosystemowego tak┐e dyskietki u┐ywane z innymi systemami operacyjnymi na tym samym komputerze. Wszystkie dyskietki nale┐y bezwzglΩdnie sprawdziµ û w wielu przypadkach zara┐enie wirusem powtarza siΩ, poniewa┐ jedna z kopii wirusa nie zosta│a wykryta.
     Je£li komputer jest ju┐ zara┐ony wirusem sektora startowego przed instalacj╣ systemu Windows 2000, to standardowe programy antywirusowe mog╣ nie wyeliminowaµ zara┐enia, poniewa┐ Windows 2000 kopiuje oryginalny sektor startowy MS-DOS do pliku Bootsect.dos, zastΩpuj╣c go w│asnym sektorem startowym. Instalacja systemu Windows 2000 nie zostaje zara┐ona, ale je£li u┐ytkownik uruchomi MS-DOS, Windows 95 lub Windows 98, to zara┐ony sektor startowy zostanie przywr≤cony. NarzΩdzia antywirusowe nie przeznaczone dla systemu Windows 2000 nie wiedz╣, ┐e nale┐y sprawdziµ plik Bootsect.dos.

NarzΩdzie AVBoot

     Microsoft oferuje dostosowane narzΩdzie antywirusowe s│u┐╣ce do eliminacji tego typu wirus≤w. AVBoot znajduje siΩ na p│ycie CD-ROM Windows 2000 w folderze \Valueadd\3rdparty\Ca_antiv. Aby utworzyµ dyskietkΩ automatycznie uruchamiaj╣c╣ AVBoot, nale┐y w│o┐yµ do komputera pust╣ dyskietkΩ, uruchomiµ Eksplorator Windows 2000 i uruchomiµ Makedisk.bat.
     NarzΩdzie AVBoot skanuje pamiΩµ komputera oraz MBR i wszystkie sektory startowe ka┐dego lokalnie zainstalowanego dysku. W przypadku znalezienia wirusa AVBoot proponuje jego usuniΩcie.
Uwaga Niezale┐nie od tego, czy u┐ywany jest AVBoot, czy inny program antywirusowy, nale┐y regularnie aktualizowaµ pliki definicji wirus≤w. Po instalacji programu antywirusowego nale┐y zaktualizowaµ pliki definicji natychmiast, zazwyczaj z Internetu. Producenci wiΩkszo£ci program≤w antywirusowych oferuj╣ comiesiΩczne aktualizacje. Dok│adne instrukcje znajduj╣ siΩ w dokumentacji oprogramowania. Instrukcje dotycz╣ce aktualizacji AVBoot znajduj╣ siΩ w folderze instalacyjnym i na dyskietce AVBoot.

Polecenie Fdisk /mbr

     Chc╣c usun╣µ wirus sektora MBR, nie nale┐y polegaµ na poleceniu MS-DOS Fdisk /mbr, kt≤re odtwarza sektor MBR dysku twardego. Wiele nowych wirus≤w zara┐a zar≤wno pliki, jak i MBR, a w tym przypadku odtworzenie MBR nie rozwi╣┐e problemu, poniewa┐ wirus mo┐e ponownie zaraziµ system. Ponadto uruchomienie Fdisk /mbr w MS-DOS na systemie zara┐onym wirusem MBR, kt≤ry nie zachowuje ani nie szyfruje tabeli partycji oryginalnego MBR, spowoduje utratΩ dostΩpu do partycji. Je£li dysk skonfigurowano za pomoc╣ programu zarz╣dzania dyskiem producenta zewnΩtrznego, to uruchomienie tego polecenia spowoduje eliminacjΩ kontroli nak│adki programowej, po czym uruchomienie systemu z dysku bΩdzie niemo┐liwe.
Uwaga Uruchomienie Fdisk /mbr w MS-DOS powoduje zast╣pienie tylko 446 pierwszych bajt≤w sektora MBR (g│≤wnego kodu startowego) bez modyfikacji tabeli partycji. Natomiast je£li usuniΩto dwa ostatnie bajty sektora MBR (s│owo podpisu), to tabela partycji zostanie zast╣piona zerami. Je£li wirus sektora MBR zmodyfikuje s│owo podpisu, to wszystkie partycje i woluminy logiczne stan╣ siΩ niedostΩpne.

Polecenie Fixmbr

     Konsola odzyskiwania (nowe narzΩdzie rozwi╣zywania problem≤w dostarczone w systemie Windows 2000, opisane w rozdziale "NarzΩdzia i strategie rozwi╣zywania problem≤w") zawiera polecenie Fixmbr, kt≤re podobnie jak Fdisk /mbr zastΩpuje tylko g│≤wny kod startowy bez modyfikacji tabeli partycji. Oba polecenia prawdopodobnie nie pomog╣ rozwi╣zaµ problemu zara┐onego sektora MBR.

Uszkodzone sektory MBR i sektory startowe

     Gdy komputer jest uruchamiany z dysku twardego, to kod BIOS systemu identyfikuje dysk uruchamiania i odczytuje MBR. G│≤wny kod startowy zawarty w sektorze MBR poszukuje aktywnej, g│≤wnej partycji dysku twardego. Je£li pierwszy dysk twardy nie zawiera partycji aktywnej lub g│≤wny kod startowy nie mo┐e odnaleƒµ sektora startowego partycji systemowej w celu uruchomienia systemu operacyjnego, to MBR wy£wietli jeden z nastΩpuj╣cych komunikat≤w b│Ωdu:      Dysk twardy u┐ywany do uruchomienia komputera mo┐e nie zawieraµ partycji aktywnej lub jako aktywna mo┐e byµ okre£lona niew│a£ciwa partycja. W takim przypadku nale┐y uruchomiµ komputer przy u┐yciu dyskietki MS-DOS, a nastΩpnie u┐yµ narzΩdzia MS-DOS Fdisk do ustawienia partycji aktywnej.
Uwaga Partycja ustawiona w Fdisk jako aktywna musi byµ partycj╣ g│≤wn╣. Je£li z powodu uszkodzenia sektora MBR Fdisk nie mo┐e odpowiednio ustawiaµ partycji aktywnej, to konieczne mo┐e byµ rΩczne wprowadzenie tej zmiany za pomoc╣ niskopoziomowego edytora dysku kompatybilnego z MS-DOS. W tabeli partycji nale┐y zmieniµ pole Identyfikator systemu. Pola tabeli partycji opisano wcze£niej w tym rozdziale pod has│em äSektor MBRö.

Odtwarzanie sektora MBR

     Uszkodzenie sektora MBR mo┐e wynikn╣µ z b│Ωd≤w u┐ytkownik≤w, awarii sprzΩtu, przerwa± zasilania, wirus≤w lub innych wydarze±.

ZastΩpowanie sektora MBR za pomoc╣ edytora dysku

     Je£li sektor MBR jest uszkodzony i woluminy na dysku s╣ niedostΩpne, to nale┐y go zast╣piµ. Je£li utworzono kopiΩ zapasow╣ sektora MBR za pomoc╣ narzΩdzia takiego jak DiskProbe, to w przypadku dysku nie bΩd╣cego dyskiem uruchamiania do odtworzenia mo┐na u┐yµ tego samego narzΩdzia. Przywr≤cenie kopii zapasowej MBR spowoduje zast╣pienie ca│ego sektora wraz z tabel╣ partycji. DiskProbe mo┐na u┐yµ tylko w systemach Windows 2000 i Windows NT, nie w MS-DOS, Windows 95 ani Windows 98.
     Je£li uszkodzony jest sektor MBR na dysku uruchamiania, to uruchomienie systemu Windows 2000 i DiskProbe prawdopodobnie nie bΩdzie mo┐liwe. WiΩcej informacji o odtwarzaniu sektora MBR za pomoc╣ DiskProbe znajduje siΩ w pliku Dskprtrb.doc w folderze C:\Program Files\Support Tools.
     Je£li DiskProbe nie jest dostΩpny, to nale┐y przywr≤ciµ kopiΩ zapasow╣ sektora MBR za pomoc╣ niskopoziomowego edytora dysku opartego na MS-DOS.

ZastΩpowanie sektora MBR za pomoc╣ Konsoli odzyskiwania

     W celu rozwi╣zania problemu spowodowanego przez uszkodzony sektor MBR na dysku uruchamiania, mo┐na skorzystaµ z Konsoli odzyskiwania.
     Aby otworzyµ KonsolΩ odzyskiwania, nale┐y uruchomiµ komputer z p│yty CD-ROM Windows 2000 lub dyskietek instalacyjnych Windows 2000. Je£li dyskietki nie s╣ dostΩpne, a uruchomienie komputera z p│yty CD-ROM nie jest mo┐liwe, to dyskietki instalacyjne nale┐y utworzyµ za pomoc╣ drugiego komputera z systemem Windows 2000 (wiΩcej informacji na ten temat znajduje siΩ w Pomocy Windows 2000 Professional).
     Po uruchomieniu komputera nale┐y w│╣czyµ instalator Windows 2000 i nacisn╣µ klawisz ENTER na ekranie "Komunikat instalatora". Na nastΩpnym ekranie powitalnym nale┐y nacisn╣µ klawisz R (naprawa instalacji Windows 2000), a nastΩpnie C (Konsola odzyskiwania).
     Konsola odzyskiwania wy£wietla wszystkie dostΩpne instalacje Windows 2000. Aby uzyskaµ dostΩp do dysku twardego, nale┐y nacisn╣µ klawisz odpowiadaj╣cy ┐╣danej instalacji Windows 2000 (zazwyczaj 1: C:\WINNT), a nastΩpnie nacisn╣µ ENTER.
Uwaga Naci£niΩcie klawisza ENTER bez wyboru cyfry spowoduje zamkniΩcie Konsoli odzyskiwania i powt≤rne uruchomienie komputera.
     Konsola odzyskiwania mo┐e wy£wietliµ tak┐e instalacje Windows NT, ale u┐ycie konsoli do uzyskania dostΩpu do instalacji Windows NT nie jest zalecane.
     NastΩpnie Konsola odzyskiwania poprosi o podanie has│a Administratora.
Uwaga Aby uzyskaµ dostΩp do dysk≤w twardych w Konsoli odzyskiwania, nale┐y podaµ has│o lokalnego konta Administratora. Je£li baza danych zabezpiecze± ┐╣danej instalacji Windows 2000 zosta│a uszkodzona, to Konsola odzyskiwania nie zezwoli na dostΩp do dysk≤w lokalnych.
     Aby zast╣piµ sektor MBR, w Konsoli odzyskiwania nale┐y uruchomiµ nastΩpuj╣ce polecenie:
     fixmbr
     W zale┐no£ci od lokalizacji i przyczyny uszkodzenia sektora MBR, wykonanie tej operacji mo┐e uczyniµ dane na dysku twardym niedostΩpnymi. Aby odwo│aµ polecenie, nale┐y nacisn╣µ klawisz N. Aby je zatwierdziµ, nale┐y nacisn╣µ klawisz Y.
Uwaga Uruchomienie narzΩdzia Fixmbr powoduje zast╣pienie tylko g│≤wnego kodu startowego, bez modyfikacji tabeli partycji. Je£li uszkodzenie sektora MBR dotyczy tabeli partycji, to uruchomienie Fixmbr mo┐e nie rozwi╣zaµ problemu.

Ostateczne opcje

     W ostateczno£ci mo┐na spr≤bowaµ skopiowaµ sektor MBR z drugiego dysku za pomoc╣ edytora dysku. Jednak sektor MBR obejmuje tak┐e tabelΩ partycji, zatem schemat partycji zawarty w nowym sektorze MBR prawdopodobnie nie bΩdzie odpowiadaµ oryginalnemu schematowi. Je£li oryginaln╣ tabelΩ partycji zapisano za pomoc╣ DiskMap, to mo┐e byµ mo┐liwe rΩczne odtworzenie tabeli partycji w nowym sektorze MBR.
     Po skopiowaniu sektora MBR z drugiego komputera tego samego typu (na przyk│ad, z drugiego komputera tego samego producenta posiadaj╣cego identyczne kontrolery dysku) nale┐y edytowaµ zawarto£ci tabeli partycji za pomoc╣ narzΩdzia takiego jak DiskProbe. Wszystkie zmiany nale┐y dok│adnie sprawdziµ.


Ostrze┐enie Powy┐sza metoda jest zalecana tylko bardzo zaawansowanym u┐ytkownikom. Istnieje du┐e prawdopodobie±stwo sta│ej utraty danych.

     Po zast╣pieniu sektora MBR i edycji tabeli partycji, nale┐y sprawdziµ funkcjonowanie MBR. Je£li sektor MBR wci╣┐ nie funkcjonuje, a poprawno£µ zmian dokonanych podczas edycji zosta│a sprawdzona, to problem mo┐e byµ zwi╣zany ze sprzΩtem (na przyk│ad z nieprawid│owym zako±czeniem SCSI lub b│Ωdem kontrolera dysku) albo z wirusem.

ZastΩpowanie sektora startowego

     Zast╣pienie sektora startowego jest potrzebne w przypadku, gdy sektor startowy zosta│ uszkodzony. Stosowana procedura jest zale┐na od tego, czy uszkodzony sektor startowy pochodzi z woluminu startowego.

ZastΩpowanie sektora startowego za pomoc╣ edytora dysku

     Je£li uszkodzono sektor startowy nie pochodz╣cy z woluminu startowego dysku twardego, to istnieje kilka metod zast╣pienia sektora. Je£li utworzono kopiΩ zapasow╣ sektora startowego za pomoc╣ DiskProbe, to najszybsz╣ metod╣ jest przywr≤cenie kopii zapasowej, r≤wnie┐ za pomoc╣ DiskProbe.
     W przypadku wolumin≤w NTFS istnieje tak┐e druga alternatywa. Gdy wolumin zostaje utworzony lub sformatowany jako wolumin NTFS, kopia sektora startowego zostaje zapisana na ko±cu woluminu (w przypadku wolumin≤w sformatowanych w systemie Windows 2000 i Windows NT 4.0) lub w logicznym £rodku woluminu (w przypadku dysk≤w sformatowanych w Windows NT 3.51 i wcze£niejszych wersjach). KopiΩ tΩ mo┐na odnaleƒµ i przywr≤ciµ do pocz╣tku woluminu za pomoc╣ DiskProbe lub niekt≤rych innych narzΩdzi opartych na MS-DOS.
     W przypadku uszkodzonych sektor≤w startowych pochodz╣cych z wolumin≤w startowych DiskProbe nie jest zawsze dostΩpny. Je£li nie utworzono dyskietki uruchamiania Windows 2000, to nie mo┐na uruchomiµ systemu Windows 2000, a wiΩc nie mo┐na u┐ywaµ DiskProbe. W tym przypadku, aby przywr≤ciµ kopiΩ sektora startowego, nale┐y zastosowaµ niskopoziomowy edytor dysku oparty na MS-DOS.

ZastΩpowanie sektora startowego za pomoc╣ Awaryjnego procesu naprawczego

     Je£li sektor startowy nie mo┐e odnaleƒµ Ntldr, system Windows 2000 nie mo┐e byµ uruchomiony. Przyczyn╣ mo┐e byµ przeniesienie albo usuniΩcie pliku Ntldr, zmiana jego nazwy lub uszkodzenie sektora startowego. W tej sytuacji komputer mo┐e przestaµ reagowaµ lub mo┐e wy£wietliµ jeden z nastΩpuj╣cych komunikat≤w b│Ωdu:      Je£li Ntldr zosta│ uszkodzony lub usuniΩty albo je£li sektor startowy zosta│ uszkodzony, to nale┐y uruchomiµ Awaryjny proces naprawczy (ERP) i post╣piµ zgodnie z instrukcjami dotycz╣cymi naprawy instalacji za pomoc╣ Awaryjnego dysku naprawczego (ERD). WiΩcej informacji o ERP i ERD znajduje siΩ w rozdziale äNarzΩdzia i strategie rozwi╣zywania problem≤wö.

ZastΩpowanie sektora startowego za pomoc╣ Konsoli odzyskiwania

     Do zast╣pienia uszkodzonego sektora startowego mo┐na u┐yµ tak┐e Konsoli odzyskiwania.
     Je£li nie okre£lono napΩdu, to Konsola odzyskiwania zast╣pi sektor startowy partycji startowej. Aby naprawiµ sektor startowy innego woluminu, nale┐y wpisaµ polecenie Fixboot, nastΩpnie spacjΩ, a nastΩpnie literΩ napΩdu wraz z dwukropkiem.
     Informacje o uruchamianiu Konsoli odzyskiwania znajduj╣ siΩ wcze£niej w tym rozdziale pod has│em äZastΩpowanie sektora MBR za pomoc╣ Konsoli odzyskiwaniaö. Szczeg≤│owe informacje o konsoli znajduj╣ siΩ w rozdziale äNarzΩdzia i strategie rozwi╣zywania problem≤wö.

Sprawdzanie stanu dysku

     Uszkodzenie kluczowych struktur danych systemu operacyjnego mo┐e uniemo┐liwiµ uruchamianie systemu. Do takich struktur nale┐╣ sektor MBR, sektor startowy oraz g│≤wne pliki systemu operacyjnego.


Ostrze┐enie Przed wykonaniem operacji maj╣cych na celu naprawΩ dysku nale┐y utworzyµ kopiΩ zapasow╣ kluczowych plik≤w danych. Nie nale┐y u┐ywaµ narzΩdzi dyskowych nie przeznaczonych dla systemu Windows 2000. Wcze£niejsze wersje narzΩdzi naprawy dysku mog╣ nie dzia│aµ prawid│owo. Aby zapobiec utracie danych, nale┐y u┐yµ narzΩdzia przeznaczonego dla systemu Windows 2000, takiego jak Chkdsk.


Aby u┐yµ Chkdsk do wykrycia uszkodzenia dysku, nale┐y:      Zamiast napΩdu C mo┐na wpisaµ dowolny napΩd komputera pod warunkiem, ┐e jest on dostΩpny do odczytu i zapisu.
Uwaga Je£li wolumin zawiera otwarte pliki, to Chkdsk nie mo┐e uzyskaµ blokady wy│╣cznej na woluminie, a wiΩc nie mo┐e poprawiaµ b│Ωd≤w. W tym przypadku Chkdsk proponuje automatyczne sprawdzenie woluminu po kolejnym uruchomieniu komputera. Zachowanie to jest typowe w przypadku woluminu startowego. Po zako±czeniu sprawdzania woluminu startowego komputer automatycznie zostaje powt≤rnie uruchomiony.
     Je£li wykryto uszkodzenie, to konieczna mo┐e byµ wymiana plik≤w systemowych. Informacje o Chkdsk i o zastΩpowaniu plik≤w systemowych znajduj╣ siΩ w rozdziale äNarzΩdzia i strategie rozwi╣zywania problem≤wö.

Pozosta│e problemy dyskowe

     Czasem wystΩpuj╣ problemy zwi╣zane z dyskiem, kt≤re nie dotycz╣ sektora MBR, tabeli partycji, rozszerzonej tabeli partycji ani sektora startowego. W wiΩkszo£ci takich przypadk≤w narzΩdzia dyskowe systemu Windows 2000 nie pomog╣ w rozwi╣zaniu problemu.

Komunikat Stop 0x0000007B û NiedostΩpne urz╣dzenie startowe

     Komunikat ten, nazywany tak┐e Stop 0x7B, informuje, ┐e system Windows 2000 utraci│ dostΩp do partycji systemowej podczas procesu uruchamiania.
     Istnieje kilka mo┐liwych przyczyn tego b│Ωdu, w tym nieudana inicjacja sterownika urz╣dzenia startowego, instalacja niekompatybilnego dysku lub kontrolera dysku, niekompatybilny sterownik urz╣dzenia, problem z okablowaniem dysku, uszkodzenie dysku, wirusy lub niekompatybilne adresowanie LBA.
     BIOS systemu daje dostΩp do sta│ych dysk≤w zawieraj╣cych mniej ni┐ 1024 cylindry. Do zapewnienia wsparcia wiΩkszych dysk≤w u┐ywane jest adresowanie blok≤w logicznych (LBA), kt≤re jest czΩsto wbudowane w BIOS. Istniej╣ jednak potencjalne problemy zwi╣zane z LBA, na przyk│ad:

Ostrze┐enie Po zmianie trybu/schematu LBA konieczne mo┐e byµ ponowne utworzenie i sformatowanie partycji. WiΩcej informacji o komunikacie Stop 0x7B znajduje siΩ w rozdziale äKomunikaty Stop w systemie Windows 2000ö.

Wolumin wy£wietlony jako nieznany

     Je£li pliki w woluminie sformatowanym jako NTFS, FAT16 lub FAT32 s╣ niedostΩpne, a Zarz╣dzanie dyskami wy£wietla wolumin jako nieznany, to wolumin mo┐e posiadaµ uszkodzony sektor startowy. W przypadku wolumin≤w NTFS istniej╣ jeszcze dwie mo┐liwe przyczyny:      Uszkodzenie sektora startowego mo┐e byµ spowodowane przez wirusy. Informacje o usuwaniu wirus≤w z komputera znajduj╣ siΩ wcze£niej w tym rozdziale pod has│em äWirusyö.
     Problemy zwi╣zane z uprawnieniami wystΩpuj╣ czasem przy wykonywaniu nastΩpuj╣cych zada±:      Pojedynczy u┐ytkownik ma normalny dostΩp, ale je£li zaloguj╣ siΩ inni u┐ytkownicy lub je£li system Windows 2000 zostanie ponownie zainstalowany, to napΩd pojawi siΩ w Zarz╣dzaniu dyskami jako nieznany. Aby rozwi╣zaµ ten problem, nale┐y zalogowaµ siΩ jako administrator i przej╣µ na w│asno£µ wszystkie foldery lub przywr≤ciµ uprawnienie pe│nej kontroli grupie Wszyscy.
     Je£li uszkodzono plik MFT, to nale┐y skontaktowaµ siΩ z Pomoc╣ Techniczn╣ Microsoft.

Problemy dotycz╣ce CMOS

     W CMOS s╣ przewa┐nie przechowywane informacje konfiguracyjne dotycz╣ce podstawowych komponent≤w komputera, takie jak RAM, wideo i urz╣dzenia przechowywania. Je£li CMOS zosta│ uszkodzony lub nie mo┐e utrzymywaµ danych konfiguracyjnych, to uruchomienie komputera mo┐e byµ niemo┐liwe.
     Standardowa konfiguracja CMOS oraz elementy konfigurowane przez u┐ytkownika r≤┐ni╣ siΩ w zale┐no£ci od producenta. CMOS jest dostΩpny z klawiatury podczas uruchamiania systemu lub ze specjalnego narzΩdzia programowego, w zale┐no£ci od specyfikacji producenta. Zalecane jest zapisywanie na papierze wszystkich informacji o CMOS.
     Komputer wykorzystuje sumΩ kontroln╣ CMOS do ustalenia, czy parametry CMOS zosta│y zmienione bez udzia│u programu obs│uguj╣cego CMOS. Je£li suma kontrolna jest niepoprawna, to komputera nie mo┐na uruchomiµ.
     
     Je£li CMOS jest poprawnie skonfigurowany, to wiΩkszo£µ zwi╣zanych z nimi problem≤w wynika z nastΩpuj╣cych przyczyn:

Kable i │╣cza

     Kolejnym ƒr≤d│em problem≤w dyskowych s╣ kable i │╣cza. Stan kabli pogarsza siΩ z czasem, ale w wiΩkszo£ci przypadk≤w kabel, kt≤ry pocz╣tkowo funkcjonuje dobrze, pozostanie w dobrym stanie przez d│ugi okres. Okablowanie nale┐y sprawdziµ przy dodawaniu nowych dysk≤w do komputera. Przyczyn╣ problem≤w mo┐e byµ wcze£niej nieu┐ywane │╣cze na istniej╣cym kablu lub nowy, d│u┐szy kabel │╣cz╣cy dyski. Nale┐y sprawdziµ tak┐e │╣cza na samych dyskach. Je£li kable s╣ mocno naci╣gniΩte, to po pewnym czasie │╣cza mog╣ siΩ rozluƒniµ, powoduj╣c sporadyczne problemy z dyskami.
     Je£li system posiada adaptery SCSI, to nale┐y skontaktowaµ siΩ z ich producentem w celu uzyskania zaktualizowanych sterownik≤w do Windows 2000. Nale┐y wy│╣czyµ opcjΩ sync negotiation w SCSI BIOS, sprawdziµ identyfikatory SCSI ka┐dego urz╣dzenia oraz sprawdziµ poprawno£µ zako±cze±. W przypadku urz╣dze± EIDE nale┐y zdefiniowaµ port EIDE na komputerze jako Tylko podstawowy. Ponadto nale┐y sprawdziµ poprawno£µ ustawie± wszystkich urz╣dze± EIDE jako nadrzΩdnych, podrzΩdnych lub autonomicznych. Przy rozwi╣zywaniu problem≤w mo┐na usun╣µ wszystkie urz╣dzenia EIDE z wyj╣tkiem dysk≤w twardych.
     Informacje o kompatybilno£ci nowych dysk≤w i kontroler≤w dysk≤w znajduj╣ siΩ pod odsy│aczem do Microsoft Windows 2000 Hardware Compatibility List (HCL) na stronie http://windows.microsoft.com/windows2000/reskit/webresources.