NTLDR

NTLDR
Type Operativsystem loader
Udvikler Microsoft
Operativ system Windows NT , 2000 , XP , Server 2003
Licens Proprietære

NTLDR (forkortelse for engelsk.  NT Loader ) er en indlæser til Windows NT -operativsystemer . NTLDR kan køres fra en bærbar enhed, såsom en cd-rom eller USB-flashdrev ) eller fra en harddisk . NTLDR er også i stand til at starte operativsystemer, der ikke er baseret på NT-teknologi, ved at angive den passende bootsektor i en separat fil. [1] For at køre NTLDR kræves der mindst følgende to filer på den aktive partition: NTLDR, som faktisk indeholder bootloader-koden, og boot.ini, som indeholder kommandoer til dannelsen af ​​systemvalgsmenuen og parametre for dens start. For at starte Windows NT-baserede operativsystemer kræves også filen ntdetect.com .

Startproces

Ved opstart udfører NTLDR følgende trin:

  1. Oversætter processoren til en " flad " 32-bit driftstilstand ( eng.  32-bit flad hukommelsestilstand ).
  2. Organiserer adgang til det aktuelle filsystem .
  3. Hvis hiberfil.sys -filen er til stede , og bootloaderen registrerer dvalebilledet, indlæses indholdet af billedet i RAM, og systemet gendannes til sin tidligere tilstand.
  4. Ellers læser den boot.ini-filen og viser den relevante menu, så brugeren kan vælge det operativsystem, der skal startes. Hvis et ikke-Windows NT-familiesystem blev valgt (f.eks. Windows 98 ), indlæser det filen angivet i boot.ini (bootsect.dos, hvis der ikke er angivet en anden fil, hvilket er en fuld opstartsrecord ), og kontrollerer overføres til denne fil, eller den indlæser et DOS . Hvis et system baseret på Windows NT blev valgt, startes programmet ntdetect.com , som indsamler oplysninger om udstyrets sammensætning.
  5. Starter filen ntoskrnl.exe (operativsystemets kerne) og videregiver den indsamlede information om udstyrets sammensætning, hvorefter den faktiske lancering af operativsystemet finder sted.

Indstillinger

Som allerede nævnt giver NTLDR brugeren mulighed for at vælge det ønskede operativsystem til at køre fra en menu; også, for Windows NT og nyere operativsystemer, kan yderligere kernestartindstillinger angives. Alle disse indstillinger er gemt i filen boot.ini, som skal være placeret i roden af ​​det samme logiske drev som NTLDR.

For at danne menuen vist ovenfor, blev boot.ini-filen brugt med følgende indhold:

[boot loader] timeout = 30 standard = multi(0)disk(0)rdisk(0)partition(3)\WINDOWS [operativsystemer] multi(0)disk(0)rdisk(0)partition(3)\WINDOWS = "Windows Server 2003, Enterprise RU" /noexecute=optout /fastdetect multi(0)disk(0)rdisk(0)partition(2)\WINDOWS = "Microsoft Windows XP Professional RU" /noexecute=optin /fastdetect C:\ = "Microsoft Windows"

I afsnittet specificerer boot loaderparameteren timeoutden tid i sekunder, hvor denne menu vil blive vist. Hvis du indstiller værdien til 0, vil menuen ikke blive vist, og det operativsystem, der er angivet i parameteren, starter med det samme default. I dette eksempel er parameteren 30, hvilket betyder, at brugeren har 30 sekunder til at vælge et operativsystem fra den viste liste.

Tilladte kerneopstartsindstillinger

Windows NT
  • /3GB
  • /BASEVIDEO
  • /BAUDRATE=число
  • /CRASHDEBUG
  • /DEBUG
  • /DEBUGPORT=COMn
  • /HAL=имя_файла
  • /KERNEL=имя_файла
  • /MAXMEM=nn
  • /NODEBUG
  • /NOSERIALMICE:COMn
  • /NUMPROC=число
  • /ONECPU
  • /PCILOCK
  • /SOS
  • /WIN95
  • /WIN95DO
Windows 2000
  • /3GB
  • /BASEVIDEO
  • /BAUDRATE=число
  • /BOOTLOG
  • /CRASHDEBUG
  • /DEBUG
  • /DEBUGPORT=COMn
  • /FASTDETECT:COMn
  • /HAL=имя_файла
  • /KERNEL=имя_файла
  • /MAXMEM=nn
  • /NODEBUG
  • /NUMPROC=число
  • /PAE
  • /SAFEBOOT:параметр
  • /SOS
Windows XP og 2003
  • /3GB
  • /BASEVIDEO
  • /BAUDRATE=число
  • /BOOTLOG
  • /BOOTLOGO
  • /BREAK
  • /BURNMEMORY=число
  • /CHANNEL
  • /CLKLVL
  • /CMDCONS
  • /CRASHDEBUG
  • /DEBUG
  • /DEBUGPORT=COMn
  • /EXECUTE
  • /FASTDETECT:COMn
  • /INTAFFINITY
  • /HAL=имя_файла
  • /KERNEL=имя_файла
  • /LASTKNOWNGOOD
  • /MAXMEM=nn
  • /MAXPROCSPERCLUSTER=
  • /MININT
  • /NODEBUG
  • /NOEXECUTE=уровень_политики
  • /NOGUIBOOT
  • /NOLOWMEM
  • /NOPAE
  • /NOSERIALMICE=COMn
  • /NUMPROC=число
  • /ONECPU
  • /PAE
  • /PCILOCK
  • /RDPATH=
  • /REDIRECT
  • /SAFEBOOT:параметр
  • /SCSIORDINAL:параметр
  • /SDIBOOT=
  • /SOS
  • /TIMERES=
  • /USERVA
  • /WIN95
  • /WIN95DOS
  • /YEAR=
Beskrivelse
  • /3GB - nøglen ændrer standardfordelingen mellem applikationen og Windows NT virtuelle adresseringssystem , det vil sige, applikationen vil have 3 gigabyte hukommelse til sin rådighed, og systemet - en. At give mere virtuel hukommelse til hukommelsesintensive applikationer som databaseservere kan forbedre deres ydeevne. Men for at en applikation kan drage fordel af denne fordel, skal den markeres som 3GB-bevidst. Denne indstilling blev introduceret i Windows NT 4.0 Service Pack 3 og findes på alle senere versioner.
  • /BASEVIDEO - nøglen tvinger systemet til at bruge standard VGA -driveren i grafiktilstand.
  • /BAUDRATE=число - nøglen aktiverer kernefejlfindingstilstanden og bestemmer porthastigheden (som standard 19200 baud), som vil forbinde den eksterne debug -knude . Når denne indstilling er indstillet, aktiveres indstillingen automatisk /DEBUG. Eksempel: /BAUDRATE=115200.
  • /BOOTLOG — tasten aktiverer tilstanden til at skrive download-protokollen til en fil %SYSTEMROOT%\NTBTLOG.TXT. Loggen registrerer detaljerne om driverindlæsning. Protokol eksempel:
Microsoft(R) Windows NT(R) version 5.0 Indlæst driver WINNT\System32\Ntoskrnl.exe Indlæst driver WINNT\System32\hal.dll Indlæst driver WINNT\System32\BOOTVID.dll Indlæst driver pci.sys Indlæst driver isapnp.sys Indlæst driver intelide.sys
  • /BURNMEMORY - denne mulighed vil tvinge systemet til at bruge mindre RAM, end der er fysisk tilgængeligt for systemet. Værdien er angivet i megabyte. Eksempel: /BURNMEMORY=128fortæller systemet ikke at bruge 128 megabyte RAM. Microsoft anbefaler at bruge denne mulighed i stedet /MAXMEMfor at reproducere system- og applikationsadfærd under lav hukommelse.
  • /CHANNEL - bruges sammen med parametre /DEBUGog /DEBUGPORTtil at understøtte IEEE 1394 -porten .
  • /CRASHDEBUG - indlæser kernedebuggeren i hukommelsen, hvor den forbliver, indtil der opstår en kernefejl.
  • /DEBUG - Indlæser kernel debugger i hukommelsen. Denne mulighed kan aktiveres til enhver tid fra en fjernfejlfinder placeret på en computer, der er forbundet til den lokale computers serielle port. I modsætning til parameteren fungerer /CRASHDEBUGden /DEBUG serielle port altid som en fejlretningsport, når parameteren bruges. Denne tilstand bruges, hvis systemet regelmæssigt støder på fejl. [2]
  • /DEBUGPORT=COMx - indstiller COM-porten til debugging.
  • /EXECUTE - deaktiverer forebyggelse af datakørsel og fysisk adresseudvidelse i Windows Server 2003 (SP1) [3]
  • /FASTDETECT[:COMn] - switchen får ntdetect.com til at springe over at søge efter hardware på visse COM-porte, når Windows 2000 starter op. Du kan angive antallet af serielle porte, som du vil deaktivere søgning efter enheder for, adskilt af kommaer. Hvis værdien af ​​parameteren udelades, vil enhedssøgning blive deaktiveret for alle porte.
  • /HAL=имя_файла - indstiller laget af hardwareabstraktioner . Eksplicit angivelse af en parameter tilsidesætter værdien angivet under installationen. For eksempel er det på denne måde muligt at teste software for funktionalitet i systemer med forskellige antal CPU- kerner uden at skulle geninstallere Windows NT eller bruge virtuelle maskiner .
  • /INTAFFINITY - bestemmer brugen af ​​multiprocessorhardwareabstraktionslaget (HALMPS.DLL) til interruptdistribution, for eksempel tildeling af en interrupt i et multiprocessorsystem kun til processoren med den højeste prioritet. Uden denne nøgle tillader hardwareabstraktionslaget normalt alle processorer at modtage et interrupt.
  • /KERNEL=имя_файла fortæller bootloaderen hvilken kerne der skal indlæses. For eksempel  - indlæsning af en multiprocessorkerne med mindre end 3 GB hukommelse./KERNEL=ntkrnlmp.exe
  • /MAXMEM - Denne mulighed begrænser NT's hukommelsesforbrug. Antal i MB. Eksempel: /MAXMEM=32ville begrænse NT til 32 MB systemhukommelse.
  • /MAXPROCSPERCLUSTER - multiprocessor HAL i Win2K (HALMPS.DLL) har evnen til at arbejde med multiprocessorsystemer, som er sammensat af klynger til gengæld bestående af små multiprocessorsystemer. For eksempel, hvis du har et 8-processor system, der er sammensat af to 4-processor klynger, så skal ID'et for hver processor bestemmes af den klyngeorienterede HAL. Den maksimale klyngestørrelse er 4 og standard er 0 (systemet er ikke baseret på klynger). Eksempel: /MAXPROCSPERCLUSTER=3.
  • /NODEBUG — forbyder brugen af ​​enhver fejlretningsinformation.
  • /NOEXECUTE - bestemmer niveauet for DEP [4] (optrådt siden Windows XP SP2). Kan tage fire værdier AlwaysOn, AlwaysOff, OptIn og OptOut.
    • OptIn - Denne værdi bruges som standard. På computere udstyret med DEP-aktiverede processorer er DEP aktiveret som standard for et begrænset antal systemfiler og programmer. Som standard er kun Windows-systemfiler beskyttet.
    • OptOut - Som standard er DEP aktiveret for alle processer. I dialogboksen Kontrolpanel System kan du manuelt oprette en liste over programmer, som du vil deaktivere DEP for. Fagfolk inden for informationsteknologi kan bruge Application Compatibility Toolkit til at deaktivere DEP for et eller flere programmer. Programkompatibilitetsrettelserne for DEP-funktionen træder i kraft.
    • AlwaysOn - DEP-funktionen er aktiveret for hele systemet. Alle processer kører DEP-tjek. I denne tilstand kan du ikke deaktivere DEP-funktionen for individuelle applikationer. Programkompatibilitetsrettelser til DEP-funktionen træder ikke i kraft. Programmer, der er blevet deaktiveret ved hjælp af DEP ved hjælp af Application Compatibility Toolkit, kører også DEP-tjek.
    • AlwaysOff - DEP-funktionen er deaktiveret for hele systemet, uanset tilstedeværelsen af ​​hardwareunderstøttelse til DEP. Processoren kører ikke i PAE-tilstand, medmindre /PAE-indstillingen er angivet i filen Boot.ini.
  • /NOGUIBOOT - Når denne indstilling er indstillet, initialiseres VGA-driveren, der er ansvarlig for gengivelse af grafik under Win2K-opstart, ikke. Denne driver bruges til at vise en startstatusmonitor og normalt en blå skærm , så aktivering af denne mulighed i boot.ini vil gøre alt dette umuligt.
  • /NOPAE - Indlæser en version af NT-kernen uden fysisk adresseudvidelse ( PAE ).
  • /NOSERIALMICE - Deaktiverer registrering af en mus, der er tilsluttet den eller de serielle COM-porte.
  • /NUMPROC - Kun antallet af specificerede CPU'er er tilladt. Eksempel: /NUMPROC=2 på et system med 4 processorer vil få 2 af disse 4 processorer til at være inaktive under NT.
  • /ONECPU - Denne mulighed fortæller NT kun at bruge én processor på et multiprocessorsystem.
  • /PAE - Indlæser den fysiske adresseudvidelse ( PAE ) versionen af ​​NT-kernen.
  • /PCILOCK - Forhindrer Windows NT i dynamisk at tildele IO/IRQ-ressourcer til PCI-enheder og forlader BIOS-konfigurationen.
  • /PERFMEMog /PERFPAGES - Disse muligheder understøttes ikke i den endelige udgivelse, da de bruges af NT til at reservere fysisk hukommelse til Basic Block Testing (BBT). Der er kun én kendt omtale af BBT på Microsofts hjemmeside: retssagen den 2. februar 1999 USA mod Microsoft. Den fortæller, hvordan Jim Allchin under ed svarede på spørgsmål om BBT. Han sagde, at BBT er en ting, der optimerer systemets ydeevne. Microsoft bruger det i Prereleases for at minimere antallet af hukommelsessider. /PERFMEMangiver den fysiske hukommelsesreservation i MB og angiver /PERFPAGES antallet af hukommelsessider. Disse parametre må ikke være til stede sammen. Plads til BBT er reserveret i trådmiljøblokken (TEB) i hver tråd. Faktisk vides det ikke præcist, hvordan hver af parametrene specifikt påvirker systemets drift.
  • /SAFEBOOT - bruges ekstremt sjældent, da den udfører de samme handlinger, som når du trykker på F8 for at starte op i NTLDR sikker tilstand. Men du kan angive en af ​​tre ekstra nøgler: MINIMAL, NETWORK, eller DSREPAIR. MINIMALog NETWORKer ansvarlige for at opstarte OS i sikker tilstand uden hhv. netværksunderstøttelse. I sikker tilstand indlæser NT kun drivere og tjenester, der er beskrevet ved navn eller gruppe i registreringsnøglerne Minimal eller Netværk: [HKLM\System\CurrentControlSet\Control\SafeBoot]. Switchen DSREPAIR(Directory Services Repair) fortæller NT at starte i en tilstand, der gendanner Active Directory fra en sikkerhedskopi. En yderligere mulighed, der kan specificeres, er ALTERNATESHELL. Det fortæller NT-kernen, hvilket program, specificeret i registreringsdatabasen [HKLM\System\CurrentControlSet\Control\SafeBoot\AlternateShell], der skal bruges som den grafiske skal, i stedet for standardstifinderen.
  • /SOS - får NT til at give ud ved opstart alle oplysninger om hvilke drivere der er indlæst, og hvor vellykket.
  • /TIMERES - på en multiprocessor HAL (HALMPS.DLL), vil denne indstilling indstille opløsningen af ​​systemtimeren. Parameteren er et tal i hundredvis af nanosekunder, dens værdi vil blive sat til den nærmeste lavere værdi, som HAL understøtter. Standardopløsningen er 7,8 ms. Eksempel: /TIMERES=9000ville indstille timeren til en opløsning på 0,98ms.
  • /USE8254 - Denne indstilling er for systemer med ældre BIOS. Den fortæller NT HAL at bruge 8254 timer-chippen som master.
  • /USEPMTIMER - Denne parameter specificerer, at Windows XP og Windows Server 2003 operativsystemer bruger PM-TIMER timerindstillinger i stedet for tidsstempeltællerindstillinger, hvis processoren understøtter PM_TIMER [5] timerindstillinger .
  • /USERVA=xxxx - parameteren giver dig mulighed for at finjustere mængden af ​​virtuel hukommelse til brugertilstand og virtuel systemhukommelse i Windows Server 2003-familien. Den bruges sammen med parameteren /3GBi filen Boot.ini og giver dig mulighed for at variere mængden af virtuel hukommelse i brugertilstand mellem 2 og 3 GB, og forskellen (3072 minus xxxx) returneres til kernetilstanden.
  • /YEAR - Muligheden er åbenbart beregnet til at kontrollere for overholdelse af Y2K . Indstilling af denne indstilling fortæller NT-kernen at ignorere det år, der rapporteres af computerens systemtimer og i stedet bruge det, der er defineret i boot.ini. Således påvirker året brugt i boot.ini al software på systemet, inklusive NT-kernen. Eksempel: /YEAR=2001. Bemærk: Denne indstilling er kun tilgængelig på NT 4.0 SP4 og Windows 2000.

Se også

Noter

  1. Brug af ntldr til at starte Linux (downlink) . Hentet 11. august 2010. Arkiveret fra originalen 15. oktober 2011. 
  2. Parametre brugt i boot.ini-filen i Windows XP og Windows Server 2003 (downlink) . TrykPass . Microsoft (6. juni 2006). Hentet 2. maj 2007. Arkiveret fra originalen 6. september 2011. 
  3. /execute (Windows-drivere) . Hentet 28. november 2016. Arkiveret fra originalen 29. november 2016.
  4. Detaljeret beskrivelse af funktionen Data Execution Prevention inkluderet i Windows XP SP2, Windows XP Tablet PC Edition 2005 og Windows Server 2003 (dødt link) . TrykPass . Microsoft (25. oktober 2006). Hentet 2. maj 2007. Arkiveret fra originalen 23. august 2011. 
  5. Programmer, der bruger QueryPerformanceCounter-funktionen, fungerer muligvis ikke godt på Windows Server 2000, Windows Server 2003 og Windows XP . Hentet 28. november 2016. Arkiveret fra originalen 28. maj 2016.

Links