NT OS Loader + Linux mini-HOWTO Bernd Reichert , Svensk översättning Jim Heikkinen v1.11, 2 September 1997 (översatt 8 Augusti 1998) 1. Inledning Detta dokument beskriver hur Windows NTs boot loader används för att starta Linux. Beskrivningen har testats med Windows NT 4.0 WS och Linux 2.0. 2. Hur fungerar NTs OS loader? NT OS loader föredrar att det andra operativsystemets bootsektor finns tillgängligt som en fil. OS loader läser filen och startar det valda operativsystemet, dvs antingen Windows NT i olika lägen eller andra operativsystem. 3. Tips om installation av Windows NT och Linux på samma dator 3.1. Windows NT-installation Försök att installera Windows NT först. Om du vill använda NTFS på din Windows NT-partition, tänk på att dagens produktionsversioner av Linux inte kan läsa NTFS-partitioner. En alfadrivrutin som kan läsa NTFS- partitioner finns tillgänglig på http://www.informatik.hu- berlin.de/~loewis/ntfs. För att utbyta data mellan Windows NT och Linux kan du skapa en separat FAT-partition eller använda DOS- formaterade disketter. 3.2. Partitionering Det finns en annan Mini-howto som rekommenderar att man inte använder NTs "Disk Administrator" för att skapa Linux swap- och rootpartitioner. Det duger dock för att kontrollera det fria utrymmet. Även i denna Mini-howto rekommenderas att man istället använder Linux fdisk. 3.3. Linuxinstallation Starta Linux från disketter och skapa swap- och rootpartitionerna. Fdisk ser NTFS-partitionen som en HPFS-partition, detta är helt i sin ordning. Starta om igen från disketterna och installera Linux som du vill. Om du under installationen föreslås att montera HPFS-partitionen: Ignorera det. 3.4. Lilo När installationen når Lilo-sektionen, ange din Linux-rootpartition som startenhet. Detta pga att Master Boot Record (MBR) på din hårddisk kontrolleras av Windows NT. Detta innebär att root-värdet och boot- värdet i /etc/lilo.conf har samma värde. Om du har en IDE-hårddisk och din Linuxpartition är hårddiskens andra partition så ser /etc/lilo.conf ut så här: boot=/dev/hda2 Om du har två hårddiskar och Linux på den första partitionen på den andra hårddisken ser /etc/lilo.conf ut så här: boot=/dev/hdb1 Kör Lilo med en kernel som passar ditt system. Testa kerneln genom att starta från diskett om du är osäker. Om du inte kan starta Windows NT nu har du ett problem. Förhoppningsvis har du inte glömt att skapa en reparationsdiskett. 4. Bootpart Det finns ett NT-program kallat Bootpart skrivet av G. Vollant med vilket du kan åstadkomma samma resultat som i följande två punkter. Bootpart finns på http://ourworld.compuserve.com/homepages/gvollant/bootpart.htm. Om du vill veta hur saker och ting hänger ihop, följ punkt 5 och 6. 5. Linuxdelen Innan NT-delen är klar måste du starta från disketter. Nu skall du kopiera bootsektorn från rootpartitionen i Linux. Om du har /dev/hda2 som Linuxpartition kan du köra dd som nedan: # dd if=/dev/hda2 of=/bootsect.lnx bs=512 count=1 Om bootsect.lnx är större än 512 bytes är det något fel. Kopiera bootsect.lnx till en DOS-formaterad diskett om det är så du brukar flytta filer till din NTFS-partition. Du kan kopiera den så här: # mcopy /bootsect.lnx a: eller så här: # mount -t msdos /dev/fd0 /mnt # copy /bootsect.lnx /mnt # umount /mnt 6. Windows NT-delen Kopiera filen från disketten till C:\\bootsect.lnx. Hur man gör det finns det ingen anledning att beskriva. c:\\boot.ini är för Windows NT vad lilo.conf är för Linux. Ta bort systemattributet och skrivskyddet från filen innan du ändrar den med: C:\attrib -s -r c:\boot.ini Redigera nu boot.ini med en texteditor, t ex notepad, enligt följande: [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINNT [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation ... multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation ... C:\BOOTSECT.LNX="Linux" I ovanstående exempel är den sista raden den enda skillnaden mot den ursprungliga filen. Efter att du sparat filen kan du återställa system- och skrivskyddsattributen för boot.ini med: C:\attrib +s +r c:\boot.ini Nu kommer du, efter omstart av Windows NT, att se följande: OS Loader V4.00 Please select the operating system to start: Windows NT Workstation Version 4.0 Windows NT Workstation Version 4.0 [VGA mode] Linux Välj Linux och... LILO loading zImage .... 7. Kan behöva upprepas Varje gång bootsektorn på din Linuxpartition ändras måste du kopiera bootsect.lnx till C:\BOOTSECT.LNX på nytt. Detta inträffar t ex när du installerar en ny kernel med Lilo. Detta innebär att den här tekniken för start av operativsystem inte är så lämplig för ofta återkommande kerneltester. 8. Problemlösning Om det inte fungerar som väntat, prova att starta med diskett. Med /dev/hdb1 som Linuxpartition ser /etc/lilo.conf ut som följer: root=/dev/hdb1 boot=/dev/fd0 Kör Lilo med en diskett i.. Försök nu att starta från disketten Om Linux på /dev/hdb1 inte startar nu, kommer inte heller Windows NTs OS loader att kunna starta det. Ser du massa 01 01 01 01 går det inte att komma åt din rootdisk. Kontrollera i bios att alla dina hårddiskar finns med där. Om du lyckas starta Linux från diskett, kan du kopiera bootsektorn på nytt med: # dd if=/dev/fd0 of=/bootsect.lnx bs=512 count=1 Behåll disketten som nöddiskett om din Windows NT-installation skulle sluta fungera. 9. Referenser · The Linux+WindowsNT mini-HOWTO · The FAQ for FreeBSD 2.X 10. Tillkännagivanden · Tack till Xiaoming Yi för tipset om att procedurerna fungerar även med andra hårddiskar än den första. · Tack till Frank Dennler för diskettricket. 11. Feedback Alla kommentarer är välkomna.