Dubbla operativsystem
Slackware.SE Wiki
7.3 Dual Booting
Många användare sätter upp sina datorer för att boota Slackware Linux och ett annat operativsystem. Vi kommer att beskriva flera dual boot-scenarior här nedan ifall du har problem att sätta upp ditt system.
7.3.1 Windows
Att sätta upp en dator med både MS Windows och Linux är förmodligen det mest vanliga dual boot scenariot. Det finns ett antal sätt du kan göra iordning dual boot på, den här sektionen täcker två sätt.
Ofta när man sätter upp ett dual boot system utarbetar man en perfekt plan för hur det ska gå till, men klantar till installationsordningen. Det är väldigt viktigt att förstå att operatisystem behöver installeras i en viss ordning för att en dual boot ska fungera. Linux erbjuder alltid kontroll över det om något blir skrivet till MBR (master boot record), därför är det alltid klokt att installera Linux sist. Windows bör alltid installeras först eftersom det alltid skriver sin boot till MBR och därför skriver över det Linux har lagt där.
7.3.1.1 Using LILO (använda LILO)
De flesta kommer nog att använda LILO att välja mellan Linux och Windows. Som vi talade om här ovan, så bör du alltså installera Windows först och sen Linux.
Vi säger att du har en IDE-hårddisk på 80 GB som din enda disk i ditt system. Du vill ha halva utrymmet till Windows och andra halvan till Linux. Du kommer att få problem när du försöker att boota upp Linux
20GB Windows boot (C:) 1GB Linux root (/) 19GB Linux /usr (/usr)
Du kommer att behöva avsätta adekvat utrymme för en Linux swap partition. Den oskrivna regeln säger att du bör använda dubbelt så mycket utrymme som du har RAM-minne, så om du har 64MB RAM-minne så behöver du alltså 128 MB swappartition. Tillräckligt med swaputrymme är heta diskusionsämnen på många IRC-kanaler och Usenet. Det finns inte någon enda riktig väg att utföra detta på. Men håller du dig till regeln här ovan så bör det räcka.
När du lagt upp partitionerna så kan du fortsätta med att installera Windows. Och efter att du fått det att fungera så installerar du Linux. Installationen av LILO behöver lite extra uppmärksamhet. Du ska då använda expert mode när du installerar LILO.
Starta en ny LILO-konfiguration, Du ska installera till Master Boot Record så att den kan användas för att välja mellan de två operativsystemen. Från menyn lägg till din Linux och Windows (eller DOS) partition. När det är klart kan du installera LILO.
Starta om datorn. Nu bör LILO laddas och kommer att visa en meny som låter dig välja mellan de operativsystemen du har installerat. Välj namnet på det OS du vill ladda (dessa fick du välja när du upprättade LILO).
LILO är en bra konfigurerbar bootladdare. Det är inte begränsat att bara boota till Linux eller DOS. Den kan boota det mesta. Mansidorna för lilo(8) och lilo.conf(5) ger dig mera detaljerad information.
Men om inte LILO fungerar då? Det finns tillfällen då LILO helt enkelt inte fungerar på en speciell maskin: Turligt nog finns det ett annat sätt att dual boot'a Linux och Windows.
7.3.1.2 använda LOADLIN
Denna metod kan användas om inte LILO fungerar på ditt system, eller om du inte vill installera LILO. Metoden är idealisk för användare som behöver installera om Windows ofta. Varje gång du installerar om Windows så kommer den att skriva över MBR och där ligger ju LILO-installationen. Med LOADLIN har du inte dessa problem. Den största nackdelen är att du bara kan använda LOADLIN för att boota Linux.
Med LOADLIN kan du installera operativsystemen i den ordningen du har lust med. Var försiktig med att installera saker till MBR, det vill du inte göra. LOADLIN litar på att Windows partitionen är bootbar. Så under Slackwareinstallationen så hoppar du över LILO installationen.
Efter att du installerat operativsystemen, kopiera då loadlinX.zip (där X är versionsnumret, typ 16a) från root's hemkatalog till din Windowspartition. Kopiera också din kernelavbildning (image) till Windowspartitionen. Notera att du behöver vara i Linux för att utföra detta. Exemplet här visar hur du gör.
# mkdir /win # mount -t vfat /dev/hda1 /win # mkdir /win/linux # cd /root # cp loadlin* /win/linux # cp /boot/vmlinuz /win/linux # cd /win/linuz # unzip loadlin16a.zip
Det kommer att skapa katalogen c:\linux på din Windowspartition (vi antar att det är /dev/hda1) och kopierar över de nödvändiga sakerna för LOADLIN. När du har gjort det så behöver du boota om till Windows för att sätta upp en bootmeny.
När du sedan är i Windows, starta då en DOS-prompt. Det första vi måste vara säkra på att att systemet inte är satt att boota upp i det grafiska gränssnittet.
C:\> cd \ C:\> attrib -r -a -s -h MSDOS.SYS C:\> edit MSDOS.SYS
Lägg till denna raden i filen.
BootGUI=0
Nu sparar du filen och avslutar editorn. Sen ska vi modifiera C:\AUTOEXEC.BAT så att vi kan lägga till en bootmeny. Följande exempel visar hur ett bootmenyblock ska se ut i AUTOEXEC.BAT:
cls echo System Boot Menu echo. echo 1 - Linux echo 2 - Windows echo. choice /c:12 "Selection? -> " if errorlevel 2 goto WIN if errorlevel 1 goto LINUX :LINUX cls echo "Starting Linux..." cd \linux loadlin c:\linux\vmlinuz root=/dev/hda2 ro goto END :WIN cls echo "Starting Windows..." win goto END :END
Huvudnyckeln är dem som kör LOADLIN. Vi talar om för kärnan att ladda Linux rootpartition, och att vi vill montera den till en början bara med läsrättigheter.
Verktygen för dessa två metoder följer med Slackware Linux. Det finns flertalet andra bootladdare på marknaden, men dessa du läst om räcker gott och väl till de flesta dual boot installationer
7.3.1.3 Deprecated Windows NT Hack
Dessa är den sista vanliga dual boot situationen. Föregående versioner av LILO kunde inte boota upp Windows NT, utan att det krävdes att Linuxanvändare hackade NTLDR, vilket orsakade mer problem än dual boot mellan Windows 9x och Linux. Förstå att dessa följande instruktioner är skarpt ogillade. LILO har konnat boota Windows NT/2000/XP/2003 i flera år. Men om du använder en äldre maskin så kanske du behöver använda just detta hack.
1. Install Windows NT 2. Install Linux, making sure LILO is installed to the superblock of the Linux partition 3. Get the first 512 bytes of the Linux root partition and store it on the Windows NT partition 4. Edit C:\BOOT.INI under Windows NT to add a Linux option
Att installera Windows NT borde vara lika lätt som en Linuxinstallation. Härifrån blir det lite krångligare. Att få de första 512 byte till Linuxpartitionen är lättare än det låter. Du behöver vara i Linux för att åstadkomma detta. Vi antar att din Linux partition är på /dev/hda2, använd detta kommando:
# dd if=/dev/hda2 of=/tmp/bootsect.lnx bs=1 count=512
Så det var det, nu behöver du kopiera bootsect.lnx till Windows NT-partitionen. Det är här vi dyker på ett annat problem. Linux har inte stabilt stöd för att skriva i NTFS filsystem. Om du installerade Win NT och formatterade din disk i NTFS, så behöver du kopiera den här filen till en FAT-formatterad diskett och sen läsa ifrån den i Windows NT. Men om du formaterade disken i FAT, så kan du helt enkelt montera den i Linux och kopiera över filen. På något sätt måste du få över /tmp/bootsect.lnd från Linux partitionen till C:\BOOTSECT.LNX på din NT partition.
Sista steger är att lägga till ett menyval i Windows NT's boot meny, i Windows NT öppna en kommando prompt.
C:\WINNT> cd \ C:\> attrib -r -a -s -h boot.ini C:\> edit boot.ini
Lägg till den här raden i slutet av filen:
C:\bootsect.lnx="Slackware Linux"
Spara ändringarna och avsluta editorn. När du nu bootar om Windows NT, så kommer du att ha ett Linuxval på menyn. Och väljer du det så bootar såklart Linux upp
7.3.2 Linux
Ja folk gör faktiskt så här. Det här är definitivt det enklaste dual boot senariot. Du kan med enkelhet använda LILO och lägga till flera entryn till /etc/lilo.conf. Allt du behöver göra är att göra det.
Klart även det här, skumma igenom någon vänlig själ.
Delvis korrigerat av swiperII
--Dartanjang 13 juli 2006 kl.20.18 (CEST)
