Boot.ini

Boot.ini er en viktig oppstartfil for Windows NT, 2000 og XP. Den brukes blant annet til å bestemme hvilken Windows-versjon som startes når PCen startes.

Hei, denne artikkelen er over ett år gammel og kan innholde utdatert informasjon

Windows NT, 2000 og XP har mange oppstartfiler som jobber sammen, men det er kun boot.ini som eventuelt må endres, hvis det skulle oppstå problemer med Windows-oppstarten.

Boot.ini og ntldr er plassert i systemroten (C:), mens ntoskrnl.exe og hal.dll er plassert i systemmappen, det vil si winnt\system32 eller windows\system32 avhengig av hvilken Windows-versjon du har.

  • Boot.ini
    Denne filen organiserer partisjonene i PCen og har instrukser om hvilken Windows-versjon som skal startes opp. Filen gir oppskriften for en eventuell oppstartsmeny, det vil si en liste over Windows-versjoner, i tilfelle det er installert flere enn én Windows-installasjon på PCen (multiboot).
  • Ntldr
    Ntldr (NT Loader) er et program som leser boot.ini-filen for instrukser, presenterer en eventuell oppstartsmeny og laster inn Windows.
  • Ntoskrnl.exe
    Ntoskrnl.exe er kjernen (kernel) i Windows som leser informasjon fra registeret (HKEY_LOCAL_MACHINE), og har blant annet ansvaret for å gjenkjenne maskinvare.
  • Hal.dll
    Hal.dll laster kjernen (kernel) i Windows. Hardware Abstruction Layer (HAL) er en teknologi som gjør at programmene i Windows kan kommunisere med datamaskinens maskinvare, uten direkte tilgang til maskinvaren. Dette reduserer konflikter.

Hvorfor endre boot.ini-filen?

Boot.ini-filen må endres hvis du setter en ny harddisk i PCen eller installerer ny Windows-versjon i tillegg til den som finnes i PCen fra før. Filen endres ofte automatisk i slike tilfeller, men ikke alltid.

En typisk feil i boot.ini-filen er at en instruks i filen peker på feil partisjon. Det kan være nødvendig å fjerne den aktuelle instruksen manuelt fra boot.ini-filen.

Du kan for eksempel få følgende feilmelding under oppstarten av Windows:

NTOSKRNL.EXE is missing

Endring i boot.ini-filen vil trolig fikse dette problemet.

Hvordan endre boot.ini-filen?

Før du gjør endringen i filen, bør du lage en sikkehetskopi av filen, for eksempel ved å gi den et nytt navn: boot.ini_gammel.

Boot.ini er i utgangspunktet skjult og ikke skrivbar, av sikkermessige grunner. Ikke bare fordi uvedkommende ikke skal kunne endre filen, men også for å forhindre at eieren av PCen gjør endringer ved et uhell. Du bør sette filattibuttene tilbake til originaltilstanden, når du er ferdig med eventuelle endringer, for å beskytte filen.

Du må altså endre en del filattributter til boot.ini-filen for å kunne endre filen. Dette kan du gjøre via menyvalget Verktøy, Mappealternativer og Vis i Utforsker:

image: Boot.ini


Gjør følgende endringer:

  • Sett en hak ved Vis skjulte filer og mapper
  • Fjern haken ved Skjul beskyttede operativsystemfiler

Høyreklikk deretter på boot.ini-filen i Utforsker og velg bort "Skrivebeskyttelse".

Når boot.ini er synlig og skrivbar, kan du endre filen med Notisblokk eller et annet tekstprogram. Pass på at filen lagres som ren tekst og ikke på et annet tekstformat som for eksempel DOC-format (Microsoft Word).

Hvis ikke Windows lar seg starte i det hele tatt, kan du starte opp PCen med en diskett, og dermed få tilgang til boot.ini-filen for å endre den. Dette er ikke noe problem hvis din Windows-versjon bruker FAT16 eller FAT32-filsystem, fordi da kan du starte opp PCen med en DOS-diskett og bruke attrib-kommandoen til å endre filattributtene til boot.ini-filen:

attrib -r -h -s boot.ini

-r betyr at filen blir skrivbar
-h betyr at filen blir synlig
-s betyr filen ikke lenger er en systemfil

Bruker du derimot filsystemet NTFS, må du bruke et tredjepartsprogram for å få tilgang til og kunne endre boot.ini-filen. Du kan for eksempel bruke NTFSDOS Prossional, som er en del av pakken Administrator's Pak fra Winternals Software. Denne pakken kan blant annet brukes til å reparere Windows som ikke kan startes opp på vanlig måte.

Hvilke endringer er aktuelle i boot.ini-filen?

Det kommer an på hva problemer er. Du bør uansett sette deg godt inn i problemstillingen, før du foretar noen endringer i boot.ini-filen. Hvis du mister kontrollen og Windows ikke lar seg starte, må du i verste fall reinstallere Windows.

Eksempler på endringer som kan være aktuelle i boot.ini:

  • Instruks for et operativsystem
    Instruksen ser slik ut, hvis du har kun Windows XP Home Edition i PCen din:

    [operation system]
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /fastdetect

    Hvis du har for eksempel fjernet én Windows-installasjon fra en PC med to Windows-installasjoner (dualboot), kan det være nødvendig å fjerne den instruksen som peker til den slettede Windows-installasjonen.

  • Partition-tall
    Tallet i parentesen ved partition(), angir tallet på partisjonen hvor Windows ligger. I følgende eksempel er Windows installert på den første partisjonen.

    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /fastdetect

    Dette tallet kan bli feil, hvis du har lagt inn eller fjernet en lagringsenhet i PCen.

Boot.ini eksempler

Dette er eksempler som skal illustrere hvordan en boot.ini-fil kan se ut.

  • Eksempel 1:
    Oppstart med kun ett Windows-alternativ, nemlig Windows XP Home Edition.

    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(1)\WINNT

    [operation system]
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /fastdetect

  • Eksempel 2:
    To Windows-versjoner i samme PC (dualboot): Windows 98 og Windows 2000.

    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(1)\WINNT

    [operation system]
    multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect
    multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows 98"

  • Eksempel 3
    Oppstart med kun ett Windows-alternativ, nemlig Windows XP Professional.

    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect

  • Eksempel 4
    Dette er samme som eksempel 3, men her er det lagt til en partisjon til som kjører Windows 2000 Professional.

    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

    [operating systems]
    multi(0)disk(1)rdisk(0)partition(1)\WINDOWS="Windows XP Professional" /fastdetect
    multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows 2000 Professional" /fastdetect

Beskrivelse av parametere i boot.ini-filen

  • timeout=X
    X er den tiden (i sekunder) bootmenyen står på skjermen. Dette er den tiden du har for å velge hvilken Windows som skal startes opp. Hvis ingenting blir valgt, vil default Windows-versjon startes.

    Hvis timeout=0 starter Windows umiddelbart.

    Hvis timeout=-1 (minus én), vil bootmenyen stå fast på skjermen, det vil si Windows vil ikke starte automatisk.

  • Default
    Definerer default-oppstart, det vil si den instruksen som gjelder hvis oppstarten går videre uten at brukeren foretar et valg fra en eventuell bootmeny.
  • multi(0)disk(0)rdisk(0)partition(1)
    Dette er en sti som definerer at datamaskinen har IDE harddisk, systemdisken er nummer 0 og systemfilene er på første partisjon.

    I følgende eksempel er Windows 2000 på den første og Windows 98 på den andre partisjonen:

    multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect
    multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows 98"

  • Multi(0)
    Betyr at PCen bruker IDE, ESDI eller SCSI disk(er). Tallet i parantesen er alltid 0. Multi() betyr at Windows bruker BIOS for å laste systemfilene. Hvis det står scsi() istedet for multi(), betyr det at en SCSI-driver brukes til å få tilgang til oppstart-partisjonen.
  • Disk(0)
    Tallet i parantesen er alltid 0 når multi() brukes. Hvis scsi() brukes, refererer det til at en fysisk disk brukes.
  • Rdisk(0)
    Betyr at systemdisken er nummer 0. Tallet er som regel 0, 1, 2 eller 3.
  • Partition(1)
    Tallet i parantesen forteller hvor systemfilene ligger. Er dette tallet feil, vil Windows ikke kunne starte.
  • /fastdetect
    Hvis dette parameteret er definert, vil ntdetect hoppe over gjenkjennelse av parallelle og serielle enheter.

Du finner informasjon om flere boot.ini-parametere på sysinternals.com og winguides.com og en veiledning for boot.ini-filen i Microsofts database artikler KB289022 og KB311578.