Howto:Installasjon av Linux ved bruk av Windows sin oppstartlaster

Fra BLUGwiki

Gå til: navigasjon, søk

En liten oppskrift på hvordan man får oppstartslasteren i Windows til å starte Linux.

Skrevet av Ketil Vestby.

Innhold

Kort forklaring

"Hvis alt annet feiler: prøv manualen!" - Hopp ned til oppskriften, følg den slavisk. Den er skrevet som en serie "besvergelser" fordi du ikke trenger å forstå hva som foregår.

Lang forklaring

Du er sannsynligvis den første som leser dette, men jeg vil gjerne ha en tilbakemelding på ting du syntes var bra og / eller dårlig med denne oppskriften.

Av og til feiler en Linux - installasjon på det at oppstartslasterne svikter. Dette skjer for eksempel ved at man bruker en maskin med en BIOS eller et hovedkort som Grub og Lilo ikke fungerer på, eller ved at man har en maskin med et proprietært filsystem (som WinXP eller 2000 sin utgave av NTFS) som ikke er støttet skikkelig i Linux.

Da kan det enkleste være å bruke Windows sin oppstartslaster, den er jo laget nettopp for å kunne startes med Windows sine filsystemer.

I tillegg finnes det maskiner som ikke kan bruke andre oppstartslastere, på samme måte som det finnes maskiner som ikke kan bruke den oppstartslasteren som finnes i Windows.

Oppskriften under fører deg gjennom en liten installasjon trinn for trinn. For å holde den så enkel som mulig er den laget for å fungere for alle versjoner av Windows, og de utgavene av Linux som har støtte for diskett med DOS filsystem (omtrent alle).

Den fører deg gjennom disse trinnene:

  1. Installere Linux slik at du får startet Windows
  2. Kopiere oppstartsdelen av Linux - partisjonen (rot - partisjonen) til fil
  3. Kopiere fila over til diskett, med alternativ måte hvis det første forsøket feiler
  4. Lage en sikkerhetskopi av konfigurasjonsfila til oppstartsbehandleren i Windows
  5. Kopiere oppstartsdelen av Linux - partisjonen til C - stasjonen
  6. Modifisere konfigurasjonsfila til Windows
  7. Sjekke at ting gikk bra
  8. Tilbakeføre modifikasjonene hvis det ikke gikk bra

Oppskriften

Fordi de som hopper direkte hit ikke er interessert i å forstå noe av oppskriften, har jeg brukt uttrykk som tilsvarer dette. Følg punktene slavisk og du skal komme trygt i havn ;-)

Installer Linux med installasjonsprogrammet på "vanlig måte", pass på at du lager en boot - disk, og at du legger oppstarts - delen på den partisjonen Linux skal ligge på (/dev/hda5 eller lignende), IKKE på /dev/hda!

Installer Windows "som vanlig", formater en diskett slik at denne er tom. Start maskinen på nytt med Linux oppstartsdisketten i, slik at den starter fra diskett.

Sett i den tomme, nyformaterte disketten og skriv de følgende besvergelsene (i konsoll):

dd if=den_partisjonen_du_har_Linux_på of=/bootsect.lnx

"Den_partisjonen_du_har_Linux_på" må du bytte ut med den partisjonen du har Linux på, for eksempel /dev/hda5.

mcopy /bootsect.lnx a:

Hvis du får feilmelding her så betyr det bare at du må bruke tre besvergelser til:

mkdir /kopi
mount /dev/fd0 /kopi
cp /bootsect.lnx /kopi/
umount /kopi

Dette er fordi det kan feile på det at du ikke har mcopy inne. Jeg har opplevd dette på små distroer. Disse har vanligvis et såpass enkelt innhold i bootsektoren at det får plass på en diskett. Unntaket er enkelte av de som er basert på RedHat 8 og 9, her kan det hende diskettstasjonen din ikke klarer å lagre alt på disketten.

Reboot maskinen slik at du starter opp Windows. Logg inn som systemadministrator og kopier bootsect.lnx fra disketten til c:\.

Skriv disse besvergelsene fra konsoll:

attrib -s -h -r c:\boot.ini
copy c:\boot.ini c:\boot.000

Åpne fila c:\boot.ini med notisblokk, og legg inn disse besvergelsene i slutten av fila, hvis det ikke ligger noe tilsvarende der fra før. Hvis det ligger noe tilsvarende så har du mulighet til å leke deg litt: Lag et sett oppstartsdisketter, endre bit for bit og se hva som skjer. Skulle alt skjære seg så har du laget en kopi av det opprinnelige oppsettet. Litt lengre ned her så viser jeg deg hvordan du kan tilbakeføre denne sånn at du får systemet opp igjen.

[boot loader]
timeout="30"
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT="Micosoft Windows 2000 professional" /fastdetect
c:\bootsect.lnx="Linux"

Det siste du må gjøre er å lagre filen og skrive inn neste besvergelse fra konsoll:

attrib +s +h +r c:\boot.ini

Dett var dett, du har nå lagt inn Linux som oppstartsvalg i Windows sin oppstartsmeny. Lag et sett oppstartsdisketter slik at du får startet opp fra Windows om alt feiler, og reboot maskinen.

Hvis dette feiler

Så er det heldigvis enkelt å tilbakestille innstillingene. Følg oppskriften nedenfor og du skal være berget. Start først maskinen i Windows. Skriv inn disse besvergelsene fra konsoll:

attrib -s -h -r c:\boot.ini
copy c:\boot.000 c:\boot.ini
attrib +s +h +r c:\boot.ini

Start deretter maskinen på nytt

Dette betyr besvergelsene

Så du er blant de som ikke vil holdes i middelaldermørke, men forstå hva du gjør? - Supert!

Linux

  • dd kopierer fra noe til noe. dd if=... of=... betyr kort og greit at du skal kopiere if (in-file) til of (out-file). Du brukte denne for å kopiere selve partisjonstabellen med oppstartsinfo og alt til en fil.
  • mcopy kopierer fila over på en DOS - partisjon, du brukte den til å kopiere over på det som i DOS - verdenen er A - stasjonen, disketten. Forskjellen mellom mcopy og copy i Linux er at mcopy behandler EOF - merket, det som varsler hvor filslutt er, litt annerledes enn copy - kommandoen gjør. Dette er fordi de forskjellige systemene har forskjellige EOF - merker
  • mount monterer fast noe til en katalog. Linux legger vanligvis all lagring til filsystemet i et hurtigbuffer først, og venter med å iverksette selve lagringen til maskinen blir ledig (eller det har godt et halvt minutt). Derfor bruker du også kommandoen umount for å "avmontere" før du tar ut disketten. Hvis ikke så blir ikke fila kopiert skikkelig, rester (eller hele) blir liggende i hukommelsen på maskinen.
  • mkdir lager en katalog, et directory, i en Linux - partisjon. Jeg har vært borti gamle floppy - baserte Linuxdistribusjoner som ikke lagde korrekte kataloger på disketter med DOS filsystem, derfor bruker du bare denne som en reserve i tilfelle du ikke har mcopy-programmet.

Windows

  • attrib endrer "attributtene" til en fil. S betyr at det er en systemfil (System-attributtet slås på med +s, og av med -s). H betyr at fila er skjult (Hidden). R betyr at fila er beskyttet mot endringer (Read only).
  • copy betyr at fila skal kopieres. Syntaksen er copy [fra] [til].

Referanser

Denne manualen er skrevet ved hjelp av disse kildene:

Personlige verktøy