NTLDR , co oznacza NT Loader , to nazwa programu ładującego dla systemów Windows 2003 , XP , 2000 i NT 4.0 i NT 3.x na procesorach x86 i x86-64 ( AMD64 i Intel 64 ); kolejne i aktualne wersje systemu Windows ( Vista , Windows 7 , Windows 8 i Windows Server 2008) już go nie używają.
NTLDR pozwala wybrać, kiedy kilka systemów Microsoft Windows jest zainstalowanych na tym samym komputerze, który system chcesz uruchomić. Jest to wybrana partycja, która w ogólnym przypadku jest traktowana jako dysk logiczny C :, chociaż separacja między dyskiem startowym a dyskiem systemowym jest zapewniona w innym miejscu w NT i jego następcach.
Plik konfiguracyjny NTLDR, boot.ini, znajduje się w ASCII (jest dość podobny do pliku konfiguracyjnego używanego przez GRUB ).
Zobacz Proces rozruchu systemu Windows NT
NTLDR przełącza system w tryb chroniony i zarządza tabelami specyficznymi dla procesorów z rodziny x86 :
NTLDR ładuje również jądro systemu Windows NT (ogólnie: Ntoskrnl.exe ), pliki hal .dll (warstwa abstrakcji sprzętu), ntdetect.com ; następnie przekazuje jądru.
Ustawienie NTLDR jest wykonywane przez plik boot.ini . Można go zmodyfikować za pomocą jednego z następujących narzędzi:
Firma Microsoft publikuje objaśnienia tych przełączników w swojej witrynie internetowej .
bezpieczeństwoBootlog przełącznik jest używany notować różne moduły ładowane podczas startu ; wynik jest zapisywany w pliku dziennika % SystemRoot% \ ntbtlog.txt : Pierwsze 2 moduły są w kolejności:
Potem przychodzi wielu pilotów .
SOS przełącznik pozwala szczegółowo 3 etapach rozruchu , bezpośrednio na ekranie:
Basevideo przełącznik pozwala na analizowanie problemów związanych ze sterownikiem wideo. Zastępuje sterownik wideo podstawowym sterownikiem VGA .
Pozostałe przełączniki są zarezerwowane dla programistów, którzy mogą korzystać z narzędzi do debugowania dostarczonych przez firmę Microsoft. Te przełączniki debugowania to:
Jądro i hal .dll można zastąpić odpowiednio jądrem przełącznika i warstwą HAL .
Skróć czas uruchamianiaPrzełącznik / fastdetect eliminuje czas oczekiwania na wykrywanie myszy. W niektórych przypadkach jest instalowany automatycznie.
Zmniejsz ilość pamięci RAM w celach testowychAby móc przeprowadzić testy, może być konieczne zmniejszenie ilości pamięci RAM używanej przez system Windows.
Przełączniki / burnmemory lub / maxmem pozwalają to osiągnąć.
Zapewnij więcej pamięci wirtualnej procesom użytkownikaDomyślnie z 4 gigabajtów pamięci wirtualnej w systemie Windows połowa jest zarezerwowana dla bibliotek i sterowników urządzeń działających w trybie jądra.
W niektórych przypadkach interesujące może być udostępnienie większej ilości pamięci procesom trybu użytkownika. Dwa przypadki oferowane przez firmę Microsoft to:
3GB i USERVA przełączniki pozwalają na to, aby to osiągnąć.
Aby przekroczyć limit do 4 GB w trybie 32-bitowym, zobacz AWE: Address Windowing Extensions (en) (en) .
Włącz procesoryDomyślnie prawa MS-DOS do pliku boot.ini są tylko do odczytu .
Jeśli partycja rozruchowa jest w formacie NTFS (który jest najbardziej powszechny), to domyślnie użytkownicy niebędący administratorami nie mają praw odczytu NTFS do pliku boot.ini .
Parametry używane do rozruchu są przechowywane w rejestrze w HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ :
Domyślnie użytkownicy, którzy nie są administratorami, mają prawa tylko do odczytu tych kluczy.
Plik boot.ini Windows ma podobną rolę w pliku konfiguracyjnym bootloadera GRUB dla systemu Linux . Można go również porównać do Boot Camp systemu Mac OS X Leopard .
Plik boot.ini systemu Windows i plik lilo.conf programu ładującego linux lilo to nie to samo: musisz użyć polecenia lilo, aby zmiany w pliku lilo.conf odniosły skutek.
Składnia służąca do identyfikacji partycji jest bardzo różna w systemach Windows i UNIX / linux. W boot.ini systemu Windows używany jest format ARC (zobacz (en) Advanced RISC Computing (en) ), podczas gdy w systemie unix identyfikator partycji jest typu / dev / xxxxxNN.
Typ płyty | Przykładowy format w boot.ini | Sformatuj przykład za pomocą grub lub lilo |
---|---|---|
IDE | dysk (0) dysk (0) rdisk (0) partycja (2) | / dev / hda2 |
SCSI | scsi (0) dysk (0) rdisk (0) partycja (2) | / dev / sda2 |
To jest program ładujący dla wersji systemu Windows z procesorem Itanium .
NTLDR jest w rzeczywistości połączeniem dwóch częściowo niezależnych programów o nazwach StartUp i OsLoader . Rolą pierwszego z nich jest przejście z trybu rzeczywistego rozruchu do 32-bitowego, stronicowanego trybu chronionego , a następnie zapewnienie OsLoaderowi dostępu do podstawowych usług, takich jak BIOS.
W architekturach RISC systemów Windows NT 3.x i 4.0 ta różnica trybów nie istnieje, a NTLDR jest następnie zastępowany przez program „ OsLoader.exe ”, ładowany bezpośrednio przez oprogramowanie układowe . Ponieważ wersje te nie odniosły wielkiego sukcesu komercyjnego, popadły w zapomnienie.
W przypadku uruchomienia bezpośrednio z sieci ( Preboot Execution Environment ), dwie części są rozdzielone, karta najpierw ładuje moduł StartUp odpowiedni do startu z sieci, który przechodzi w tryb chroniony, a następnie ładuje OsLoader.
Podczas instalacji systemu Windows program ładujący OsLoader.exe jest zastępowany innym programem ładującym, SetupLdr.exe, który nie wykorzystuje pliku boot.ini ; SetupLdr.bin jest połączeniem modułu StartUp i SetupLdr.exe; Nazwę SetupLdr.bin można zmienić na dysku na $ LDR $ (instalacja z dysku twardego) lub CMLDR (konsola odzyskiwania), aby zachować format 5-literowy.
Począwszy od systemu Windows Vista i nowszych (i jego wersji serwerowej: Windows Server 2008 ) NTLDR jest zastępowane przez dane konfiguracji rozruchu .
Plik konfiguracyjny nie ma już nazwy boot.ini ; zamiast tego jest to gałąź rejestru : Dane konfiguracji rozruchu . NTLDR zostaje zastąpiony przez winload.exe .
Aby zmodyfikować konfigurację rozruchu, firma Microsoft udostępnia narzędzia: