A Windows NT indítási folyamata a Microsoft Windows NT , Windows 2000 , Windows XP és Windows Server 2003 operációs rendszerek inicializálásának folyamata . A Windows Vista rendszerben a folyamat sokat változott.
A rendszerindítási fázis a hardverplatformtól függően változik. A korai nem operációs fázistól kezdve a rendszerindítási folyamat kezdete a következő:
Ettől kezdve a rendszerindítási folyamat továbbra is a következőket hajtja végre:
A rendszerindító lemez gyökérmappájában található NTLDR fájl két részből áll. Az első a StartUp modul, majd az operációs rendszer betöltője (osloader.exe), mindkét rész az NTLDR fájlban van tárolva. Amikor az NTLDR betöltődik a memóriába, a vezérlés átkerül a StartUp modulra, miközben a CPU valós módban fut . A StartUp fő feladata a processzor védett módba átvitele , amely lehetővé teszi a 32 bites memóriacímzés használatát, valamint egy megszakításleíró tábla , egy globális leíró tábla , egy oldaltábla létrehozását és a memórialapozás engedélyezését. Ez annak a fő operációs környezetnek a képességeinek felhasználásával történik, amelyre az operációs rendszer telepítve van. A StartUp modul ezután letölti és elindítja az operációs rendszer betöltőjét.
Az NTLDR operációs rendszer betöltője alapvető funkciókat tartalmaz az NTFS , FAT , CDFS ( ISO 9660 ), ETFS vagy UDFS fájlrendszerekkel formázott IDE meghajtók eléréséhez a legújabb operációs rendszereken. A lemezekhez a BIOS -on keresztül lehet hozzáférni a beépített ARC programon keresztül az ARC-vel rendelkező rendszereken , vagy a hálózaton keresztül a TFTP protokoll használatával . Ezen a ponton túl minden BIOS-hívás a 8086-os virtuális módon megy keresztül , mivel a védett módból nincs közvetlen hozzáférés a BIOS-hoz. Ha a rendszerindító meghajtó SCSI , és az SCSI-vezérlő nem használja a 13. valós módú megszakítást, akkor egy további Ntbootdd.sys fájl betöltődik a meghajtó eléréséhez . Ugyanannak a SCSI miniport illesztőprogramnak a másolata, amelyet a Windows indításakor használnak.
A rendszerbetöltő ezután beolvassa a boot.ini fájl tartalmát, hogy információkat találjon a rendszerkötetről. Ha nincs ilyen fájl, akkor a betöltő megpróbál információt találni a szabványos telepítési könyvtárból. Windows NT gépek esetén ez a C:\WINNT könyvtár. Windows XP és 2003 gépeken a C:\WINDOWS állományból töltődik be.
A képernyő ezen a ponton törlődik, és a Windows 2000 és az NTLDR és IA64ldr újabb verzióiban, amelyek támogatják a rendszer hibernálását , az alapértelmezett kötet gyökérkönyvtárát a boot.ini fájlban határozzák meg a hiberfil.sys hibernálási fájl kereséséhez . Ha ez a fájl megtalálható, és az aktív memória fut, a fájl tartalma (amely mérete megegyezik a gép fizikai memóriájával) betöltődik a memóriába, és átadja a vezérlést a Windows kernelnek a hibernált állapot visszaállításának pontjától. A fájl ezután azonnal inaktívnak van jelölve, hogy a sérülés vagy más meghibásodás ne okozhassa a (már elavult) memóriaállapot újratöltését. Ha az állapotvisszaadás sikertelen, akkor a következő alkalommal az NTLDR megkérdezi a felhasználót, hogy meg kell-e próbálnia újra visszaállítani vagy megszakítani a fájl feldolgozását, és végre kell hajtania a normál letöltést.
Ha a boot.ini egynél több operációs rendszerre vonatkozó bejegyzést tartalmaz, akkor a felhasználónak megjelenik egy rendszerindító menü, amely lehetővé teszi, hogy kiválassza, melyik operációs rendszert indítsa el. Ha nem NT-alapú operációs rendszert, például Windows 98-at választ, az NTLDR betölti a boot.ini fájlban felsorolt megfelelő rendszerindító szektorfájlt (az alapértelmezett a bootsect.dos , ha nincs más fájlnév megadva), és a végrehajtási vezérlés átadja neki. Ha NT-alapú operációs rendszert választ, az NTLDR elindítja az ntdetect.com webhelyet , amely a BIOS által jelentett alapvető információkat gyűjt a számítógép hardveréről .
A rendszerindítási folyamat ezen a pontján az NTLDR törli a képernyőt, és egy pszeudografikus állapotjelzőt jelenít meg (ami gyakran nem látható XP vagy 2003 rendszereken az inicializálási sebességük miatt); A Windows 2000 a "Windows indítása..." szöveget is megjeleníti. Ha a felhasználó ebben a fázisban megnyomja az F8 billentyűt, megjelenik egy kiterjesztett rendszerindítási menü, amely különféle speciális rendszerindítási módokat tartalmaz, beleértve a biztonságos módot az utolsó sikeres rendszerindítási konfigurációval, a hibakeresés engedélyezését és (kiszolgálói kiadások esetén) a címtárszolgáltatások visszaállítási módját .
A letöltés folytatódik, amint valamelyik elemet kiválasztja, vagy ha ismét megnyomja az F8 gombot.
A kernel alrendszer és a Windows végrehajtási alrendszer inicializálása két fázisban történik.
Az első fázisban létrehozzák az alapvető belső memóriastruktúrákat, és inicializálják az egyes processzorok megszakításvezérlőit . A memóriakezelő inicializálása megtörténik, a fájlrendszer gyorsítótárának, lapozott és lapozatlan memórialekérdezéseknek területei jönnek létre. Az objektumkezelő [1] inicializálja a rendszer első folyamatához hozzárendelendő biztonsági tokent, a folyamatkezelő inicializálja magát. Ezen a ponton, csakúgy, mint egy rendszerfolyamat, létrejön a rendszer tétlen folyamat .
A második lépés az eszközillesztő-programok inicializálása, amelyeket az NTLDR rendszer-illesztőprogramként azonosított.
Az eszközillesztő-programok betöltése közben egy állapotjelző látható a rendszerképernyő alján Windows 2000 alatt; a Windows XP és a Windows Server 2003 rendszerben ezt egy animált sáv váltotta fel, amely nem tükrözi az eljárás valós idejét. A Windows 2000 előtt a rendszerindítási folyamat ezen része lényegesen tovább tartott, mivel az illesztőprogramokat egyenként inicializálták. A Windows XP és a Windows Server 2003 rendszerben az összes illesztőprogram inicializálása aszinkron módon történik.