Proces uruchamiania systemu Windows 2000 Professional

Proces uruchamiania systemu Windows 2000 jest podobny do procesu uruchamiania systemu Windows NT 4.0,

ale znacznie różni się od procesów stosowanych w innych systemach operacyjnych. W MS-DOS, Windows 95

i Windows 98 komputer ładuje plik IO.sys, a następnie Msdos.sys i Command.com. Jednak w systemie

Windows 2000 te pliki nie istnieją, chyba że komputer posiada konfigurację wielosystemową zawierającą

Windows 95/98 lub MS-DOS.

Proces uruchamiania Windows 2000 Professional obejmuje następujące etapy:

POST (test wewnętrzny po włączeniu)

Wyjściowy proces uruchamiania

Proces początkowego ładowania

Wybór systemu operacyjnego (w przypadku konfiguracji wielosystemowej)

Wykrywanie sprzętu

Wybór konfiguracji sprzętu (w przypadku stosowania więcej niż jednego profilu)

Ładowanie jądra

Logowanie w systemie operacyjnym

Uwaga Proces uruchamiania systemu dotyczy tylko systemu po włączeniu prądu lub po restarcie,

nie systemu ponownie włączonego po hibernacji.

Powyższy proces dotyczy wszystkich wersji systemu Windows 2000.

Po włączeniu lub restarcie komputera wykonywany jest test wewnętrzny zwany POST (Power-On Self Test),

podczas którego sprawdzana jest ilość pamięci oraz obecność wymaganych urządzeń (takich jak klawiatura).

Po zakończeniu tego procesu adaptery posiadające oddzielne systemy BIOS wykonują własne testy typu POST.

Uwaga Niektóre adaptery (na przykład część adapterów wideo) uruchamiają własne procesy

POST przed sprawdzeniem ogólnej pamięci i urządzeń.

Po zakończeniu testu POST system BIOS próbuje uruchomić system operacyjny.

Proces ten zależy od konfiguracji BIOS. Na przykład, jeśli kolejność poszukiwania ustawiona jest na "A, C",

to BIOS spróbuje odnaleźć dyskietkę startową w napędzie A i załadować jej pierwszy sektor

(sektor startowy partycji) do pamięci. Jeśli dyskietka nie jest dyskietką startową, to pojawi się komunikat:

Dysk niesystemowy lub blad dysku

Zamien i nacisnij dowolny klawisz

 

Jeśli BIOS nie znajdzie dyskietki w napędzie A, to poszuka aktywnej partycji dysku twardego.

Jeśli pierwszy dysk twardy na zawiera partycji systemowej, to w głównym zapisie startowym

(MBR) pojawi się któryś z następujących błędów:

Nieprawidłowa tabela partycji

Błąd ładowania systemu operacyjnego

Brak systemu operacyjnego

Po odnalezieniu aktywnej partycji dysku twardego BIOS przeczyta zapis MBR i załaduje go do pamięci.

Następnie MBR odczyta informacje o partycji systemowej z tabeli partycji, załaduje do pamięci

sektor 0 partycji systemowej i uruchomi ten sektor.

Uwaga Sektor 0 partycji systemowej może zawierać narzędzie, program diagnostyczny lub kod

uruchamiający system operacyjny.

Partycja systemowa musi znajdować się na pierwszym fizycznym dysku i musi zawierać pliki:

Nazwa pliku

Miejsce przechowywania

Ntldr

Katalog główny dysku startowego

Boot.ini

Katalog główny dysku startowego

Bootsect.dos

Katalog główny dysku startowego (w przypadku konfiguracji z kilkoma systemami)

Ntdetect.com

Katalog główny dysku startowego

Hyberfil.sys

%Systemdrive%

Ntbootdd.sys

Katalog główny dysku startowego (dla SCSI i niektórych dużych napędów IDE)

Ntoskrnl.exe

%SystemRoot%\System32

Hal.dll

%SystemRoot%\System32

Klucz systemowy

%SystemRoot%\System32\Config

Sterowniki urządzeń

%SystemRoot%\System32\Drivers

Cdldr

Katalog główny dysku startowego

 

Uwaga Jeśli w nazwie ścieżki w Boot.ini zastosowano składnię SCSI (Small Computer System Interface),

to plik Ntbootdd.sys musi znajdować się w folderze głównym partycji systemowej.

Partycja startowa może znajdować się w tej samej partycji co partycja systemowa, w innej partycji

lub na innym dysku twardym.

MBR działa prawie niezależnie od systemu operacyjnego. Na przykład MBR może uruchomić systemy

Windows NT, Windows 95, Windows 98, MS-DOS, Microsoft Windows 3.i Windows 2000 Professional.

Jednak po załadowaniu do pamięci sektora startowego 0 sektor startowy partycji jest zależny od systemu

operacyjnego oraz od systemu plikowego. Sektor startowy partycji Windows 2000 wykonuje następujące zadania:

Odczytanie systemu plikowego w celu odnalezienia programu początkowego ładowania.

Załadowanie tego programu do pamięci.

Uruchomienie programu początkowego ładowania.

Proces początkowego ładowania

Ntldr ładuje pliki systemu operacyjnego z partycji startowej. W przypadku konfiguracji z kilkoma

systemami użytkownik proszony jest o wybór systemu operacyjnego.

Ntldr kieruje procesem wyboru systemu operacyjnego i wykrywania sprzętu, zanim przekaże kontrolę

jądru Windows 2000. Ntldr musi znajdować się w folderze głównym dysku uruchamiającego.

Ntldr wykonuje następujące zadania:

Zmiana trybu pamięci procesora z trybu rzeczywistego (podobnego do CPU 8088 lub 8086) na tryb

płaski 32-bitowy. Jest to konieczne, dlatego że Ntldr jest programem 32-bitowym.

Uruchomienie systemu plikowego NTFS, FAT16 lub FAT 32.

Odczytanie pliku Boot.ini, który wyświetla wybrane opcje na ekranie programu początkowego ładowania.

Jeśli wybrano system operacyjny inny niż Windows 2000 Professional, to Ntldr załaduje plik Bootsect.dos

i przekaże mu kontrolę w celu uruchomienia wybranego systemu. Jeśli wybrano Windows 2000 Professional,

to Ntldr uruchomi plik Ntdetect.com w celu zebrania informacji dotyczących sprzętu.

Poproszenie użytkownika o wybór profilu sprzętu (o ile komputer posiada więcej niż jeden profil).

Załadowanie pliku Ntoskrnl.exe i przekazanie mu informacji zebranych przez Ntdetect.com,

po czym pojawia się ekran uruchamiania.

Wybór systemu operacyjnego

Boot.ini zawiera listę dostępnych systemów operacyjnych. Każda pozycja zawiera ścieżkę do partycji startowej

systemu operacyjnego, łańcuch do wyświetlenia na ekranie programu początkowego ładowania oraz parametry

opcjonalne. Boot.ini wspiera uruchamianie różnych wersji Windows 2000 oraz innych systemów operacyjnych,

takich jak Windows 95, Windows 98, Windows NT 4.0, MS-DOS i OS/2.

Podczas instalacji Windows 2000 plik Boot.ini zostaje umieszczony w katalogu głównym partycji systemowej.

Poniżej przedstawiony jest przykładowy plik Boot.ini:

[boot loader]
        timeout=30
        default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
        [operating systems]
        multi(0)disk(0)rdisk(0)partition(1)\winnt=„Microsoft Windows 2000 
Professional” /fastdetect
C:\="Windows 98"

Informacje wyświetlane na ekranie programu początkowego ładowania oparte są na zawartości Boot.ini, na przykład:

Wybierz system operacyjny do uruchomienia:
        Microsoft Windows 2000 Professional
        Microsoft Windows 98
        Uzyj klawiszy (strzałek) aby przesunac podswietlenie.
        Aby dokonac wyboru, nacisnij Enter.
        Sekundy do automatycznego uruchomienia podswietlonej opcji: 29
        Aby zobaczyc opcje rozwiazywania problemów i opcje
zaawansowane dotyczace uruchamiania Windows 2000, nacisnij F8.
    

System operacyjny występujący jako pierwszy jest opcją domyślną.

W powyższej konfiguracji, gdy zegar pokaże 0, automatycznie zostanie uruchomiony system

Windows 2000 Professional.

Po wyborze systemu operacyjnego plik Ntdetect.com wykrywa sprzęt i przekazuje listę

zainstalowanych komponentów sprzętowych plikowi Ntldr.

Ntdetect.com wykrywa następujące komponenty:

Identyfikator komputera

Typ szyny/adaptera

Adapter wideo

Klawiatura

Porty komunikacji

Dyskietki

Mysz lub inne urządzenia wskazujące

Porty równoległe

Wybór konfiguracji sprzętu

Na etapie Ntdetect, jeśli komputer posiada kilka konfiguracji sprzętu, to pojawią się następujące informacje:

Menu odzyskiwania profilu/konfiguracji sprzetu

W tym menu mozesz wybrac profil sprzetu do zastosowania

        po uruchomieniu Windows 2000.

Uwaga Jeśli stosowana jest technologia Plug and Play, to profile są niepotrzebne.

Program czeka przez kilka sekund lub do momentu naciśnięcia klawisza Enter. Jeśli profilu nie wybrano,

system Windows 2000 Professional będzie stosować ustawienia domyślne. W tym przypadku program

ładowania wykorzysta informacje rejestrowe zapisane przez Windows 2000 Professional przy ostatnim

zamknięciu systemu. Po wyborze profilu Ntdetect.com przekazuje kontrolę z powrotem plikowi Ntldr.

Ładowanie i inicjowanie jądra

W kolejnym etapie Ntldr ładuje do pamięci jądro i HAL, a następnie klucz rejestrowy

HKEY_LOCAL_MACHINE\SYSTEM z folderu %SystemRoot%\system32\Config\System.

Ntldr tworzy zestaw kontroli służący do inicjacji komputera. Stosowany jest domyślny zestaw kontroli,

chyba że na ekranie Profile sprzętu wybrano opcję Ostatnia znana dobra konfiguracja.

Jądro inicjuje ekran systemu Windows 2000 Professional i wyświetla pasek postępu Uruchamiania.

Po zakończeniu tego procesu Ntoskrnl przygotowuje informacje o sieci.

Na podstawie informacji przekazanych przez program ładowania jądro tworzy klucz

HKEY_LOCAL_MACHINE\HARDWARE, który zawiera dane dotyczące różnych komponentów

sprzętu na płycie głównej oraz przerwań systemowych przydzielonych przez każde urządzenie.

Następnie jądro tworzy zestaw kontroli Klon, który jest kopią wskazującą zestaw kontroli Bieżący.

Zestaw Klon reprezentuje stan komputera podczas konfiguracji i nie zostaje zmodyfikowany.

Logowanie się w systemie operacyjnym

Podsystem Windows automatycznie uruchamia Winlogon.exe, który uruchamia Administrację

zabezpieczeń lokalnych. Pojawia się okno dialogowe Rozpocznij logowanie. System Windows 2000

może w tym momencie jeszcze inicjować sterowniki sieciowe, ale zalogowanie jest już możliwe.

Kontroler usługi odnajduje w rejestrze usługi skonfigurowane odpowiednio dla automatycznego ładowania.

Usługi tego typu są oznaczone wartością Start równą 0x2 w podkluczu

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DriverName.

Usługi są ładowane równolegle, a więc w oparciu o ich zależności. Zależności są opisane we

wpisach DependOnGroupDependOnService w podkluczu

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DriverName.

Uwaga Za zakończenie procesu uruchamiania systemu Windows 2000 uważa się udane zalogowanie użytkownika

w systemie. Po zalogowaniu użytkownika zestaw kontroli Klon zostaje skopiowany do zestawu „Ostatnie znane dobre”.

Zrozumienie konwencji nazw w Boot.ini

Ścieżka do instalacji systemu Windows 2000 zostaje zdefiniowana przy użyciu zaawansowanej

konwencji nazw RISC (Reduced Instruction Set Computing) – czyli ARC (Advanced RISC Computing).

Stosowanie ścieżek ARC

Ścieżki ARC stosowane w pliku Boot.ini wskazują miejsce przechowywania partycji startowej

dla wszystkich instalacji systemu Windows 2000. Każda instalacja jest reprezentowana przez jeden wiersz

w Boot.ini. Instalację można wybrać podczas uruchamiania na ekranie programu początkowego ładowania.

Nazwy ARC w pliku Boot.ini są podobne do następujących:

Multi(W)disk(X)rdisk(Y)partition(Z)\%systemroot%

Scsi(W)disk(X)rdisk(Y)partition(Z)\%systemroot%

Signature(8b467c12)disk(1)rdisk(0)partition(2)%systemroot%="description"

Wszystkie powyższe formaty pozwalają systemowi Windows 2000 Professional na odnalezienie katalogu SystemRoot.

Składnia Multi

Ścieżka ARC w takiej postaci nazywa się Multi. W systemie Microsoft Windows NT 3.1 składnia

Multi była wspierana tylko dla dysków IDE (Integrated Device Electronics), EIDE

(Enhanced Integrated Drive Electronics) i ESDI (Enhanced Small Device Interface).

W systemie Microsoft Windows NT 3.5 i późniejszych wersjach (w tym Windows 2000) ta składnia

jest wspierana także dla dysków SCSI. Nie jest ona stosowana w Windows 95/98.

Składnia Multi powoduje, że Windows 2000 Professional pozwala systemowemu BIOS załadować pliki

systemowe. Oznacza to, że Ntldr stosuje wywołania BIOS typu INT 13 do odnalezienia i załadowania

Ntoskrnl.exe oraz ewentualnie innych plików potrzebnych do uruchomienia systemu.

Poniżej przedstawiony jest przykład składni Multi:

multi(W)disk(X)rdisk(Y)partiton(Z)

Parametry stosowane w składni Multi opisane są w tabeli:

Parametr

Definicja

W

Numer adaptera, zwykle 0.

X

Zawsze 0.

Y

Numer dysku na adapterze, zwykle od 0 do 3.

Z

Numer partycji. Wszystkim użytkowanym partycjom przypisuje się numer.

Partycje główne otrzymują numery przed napędami logicznymi.

Pierwsza dopuszczalna wartość Z wynosi 1, a dla W, X i Y wynosi 0.

Teoretycznie składnia Multi może służyć do uruchomienia systemu Windows 2000 z dowolnego dysku.

Jednakże systemowy BIOS zwykle identyfikuje tylko jeden adapter dyskowy jako INT13, co oznacza,

że składnia Multi może być wykorzystana do uruchomienia Windows 2000 Professional tylko

z dysków na głównym albo na podrzędnym urządzeniu IDE lub SCSI.

Zastosowanie składni Multi zależy od stosowanego typu adaptera. Na przykład:

Na adapterach IDE składnia Multi obejmuje maksymalnie cztery dyski: dwa na głównym i dwa na podrzędnym kanale IDE.

Na adapterach SCSI składnia Multi obejmuje dwa pierwsze dyski na pierwszym adapterze SCSI

(adapterze, którego BIOS załadowano w pierwszej kolejności).

W przypadku kombinacji adapterów SCSI i IDE składnia Multi obejmuje tylko dyski IDE na pierwszym adapterze.

Składnia SCSI

Składnia SCSI powoduje, że system Windows 2000 Professional ładuje sterownik SCSI w celu uzyskania dostępu do partycji startowej.

Składnia SCSI wygląda następująco:

scsi(W)disk(X)rdisk(Y)partition(Z)

Parametry stosowane w składni SCSI przedstawione są w tabeli:

Parametr

Definicja

W

Odnaleziony kontroler.

X

Numer dysku fizycznego dołączonego do komputera.

Y

Numer jednostki logicznej SCSI (LUN) dysku zawierającego partycję startową (zwykle 0).

Z

Numer partycji. Wszystkim użytkowanym partycjom przypisuje się numer.

Partycje główne otrzymują numery przed napędami logicznymi.

Pierwsza dopuszczalna wartość Z wynosi 1. Wartości W, X i Y mogą być równe 0.

Składnia Signature Składnia Signature jest podobna do składni SCSI, ale w systemie Windows 2000 służy

do wspierania architektury Plug and Play. Ponieważ system operacyjny Windows 2000 jest oparty na Plug and Play,

numer kontrolera SCSI może być inny po każdym uruchomieniu Windows 2000, zwłaszcza w przypadku,

gdy dodano nowy sprzęt kontrolerów SCSI po instalacji systemu.

Składnia Signature powoduje, że program Ntldr odnajduje napęd posiadający określony w nawiasach podpis

dyskowy, niezależnie od numeru kontrolera SCSI połączonego z danym napędem.

Format nazw stosowany w Boot.ini zaczyna się od formatu Signature. Na przykład:

signature(8b467c12)disk(1)rdisk(0)partition(2)\winnt="description"

Składnia Signature stosowana jest tylko w następujących przypadkach:

Gdy wielkość partycji zawierającej system Windows 2000 przekracza 7,8 GB lub końcowy numer cylindra

w tej partycji jest większy od 1024, a BIOS kontrolera rozruchu lub systemowy nie wspiera rozszerzonego INT13.

Gdy napęd zawierający system Windows 2000 jest połączony z kontrolerem SCSI, którego BIOS jest wyłączony

(co uniemożliwia stosowanie wywołań BIOS typu INT13 podczas procesu uruchamiania).

Wartość podpisu zostaje odczytana z zapisu MBR. Jest ona unikalną liczbą szesnastkową zapisaną w MBR przez

instalator w trybie tekstowym albo przez poprzednią instalację systemu Windows NT 4.0 lub wcześniejszej wersji.

Ntbootdd.sys

Ntbootdd.sys jest kopią sterownika SCSI znajdującą się na partycji systemowej. Ntbootdd.sys jest stosowany wówczas,

gdy w pliku Boot.ini używana jest składnia SCSI lub Signature.

Jeśli istnieją kontrolery SCSI wykorzystujące różne sterowniki, to przy ustalaniu wartości W należy uwzględnić

tylko kontrolery sterowane przez Ntbootdd.sys. Na przykład, jeśli obecny jest kontroler Adaptec 2940

(korzystający z Aic78xx.sys) oraz kontroler Adaptec 1542 (korzystający z Aha154x.sys), to wartość

W będzie zawsze wynosić 0. Jeśli system Windows 2000 Professional ładowany jest z dysku na kontrolerze

Adaptec 2940, to Ntbootdd.sys jest kopią Aic78xx.sys. Jeśli system jest ładowany z dysku na kontrolerze

Adaptec 1542, to Ntbootdd.sys jest kopią Aha154x.sys.

Edycja Boot.ini

Przy instalacji systemu Windows 2000 Professional plik Boot.ini ustawia atrybuty systemowe oraz ukryte.

Parametry limitu czasu i domyślne w Boot.ini można zmodyfikować za pomocą opcji System w Panelu sterowania.

Uwaga Przed dokonaniem zmian należy utworzyć kopię zapasową istniejącego pliku Boot.ini.

Aby umożliwić oglądanie pliku Boot.ini, należy wyłączyć opcję Ukryj chronione pliki systemu operacyjnego

w Moim komputerze na zakładce Widok pod Opcjami folderów (w menu Narzędzia).

Plik Boot.ini można otworzyć w Eksploratorze Windows lub w dowolnym edytorze tekstu.

Jeśli zmieniono ścieżkę partycji startowej systemu Windows 2000, to należy zmodyfikować wpisy dotyczące ścieżki

domyślnej oraz ścieżki systemu operacyjnego. Jeśli tylko jeden wpis zostanie zmieniony, to do ekranu programu

początkowego ładowania zostanie dodana nowa opcja zaznaczona jako domyślna.

Plik Cabinet sterowników

Plik cabinet (.cab) jest skompresowanym plikiem zawierającym inne pliki dystrybucyjne, takie jak sterowniki

i pliki systemowe. Sterowniki znajdują się w pojedynczym pliku .cab na nośniku CD-ROM Windows 2000.

Plik ten wykorzystywany jest przez instalator oraz inne komponenty systemu instalujące sterowniki. Plik .cab

zawiera około 3000 plików i zostaje zainstalowany jako plik:

%windir%\Driver Cache\platform\driver.cab

Lista plików znajduje się w Drvindex.inf. Aby zobaczyć plik .cab, należy użyć Eksploratora Windows .

Do zalet zastosowania pliku .cab należą:

Administratorzy nie muszą używać CD-ROM do instalacji nowych urządzeń.

Instalacja nowego sprzętu nie wymaga zalogowania się pod kontem posiadającym uprawnienia lokalnego administratora

pod warunkiem, że urządzenie jest wymienione w pliku .cab i jest cyfrowo podpisane.

Aby uniemożliwić tego typu instalację, można usunąć plik .cab z napędu.

Instalacja sieciowa wymaga mniejszej ilości czasu i szerokości pasma (Winnt32.exe lub Winnt.exe kopiuje tylko jeden plik).

Instalacja sterowników drukarek jest uproszczona. Administratorzy instalujący sterowniki drukarek nie

potrzebują nośnika CD-ROM Windows 2000, ponieważ większość producentów drukarek wykorzystuje

główne sterowniki drukarek Microsoft. Sterowniki drukarek są zawsze dostępne dla użytkowników

mobilnych, co umożliwia szybkie drukowanie.

Klienci wspierający usługi instalacji zdalnej mogą zainstalować sterowniki nowych urządzeń na

lokalnym komputerze. Komputer źródłowy tworzący obraz może posiadać inny sprzęt niż komputer

docelowy instalujący obraz. Więcej informacji o Usługach zdalnej instalacji znajduje się w rozdziale

„Dostosowywanie i automatyzacja instalacji”.

Gdy potrzebny jest plik sterownika, instalator spróbuje znaleźć go na liście zawartej w pliku Drvindex.inf.

Jeśli żądany plik występuje na tej liście i plik .cab jest obecny na komputerze, to instalator spróbuje skopiować

żądany plik z pliku .cab. Jeśli w katalogu bufora sterowników znajduje się podpisany plik o tej samej nazwie

co żądany plik, to instalator zastosuje plik z bufora zamiast wersji z pliku .cab. Jeśli żądany plik nie występuje

w katalogu pliku .cab, to instalator przeszuka ścieżkę instalacyjną, a w przypadku nieznalezienia pliku

w tym miejscu poprosi użytkownika o jego dostarczenie.