Linux+Win9x+Grub HOWTO

Joel Rosen

Vertaald door: Ellen Bokhorst

Deze HOWTO zal je vertellen hoe je de GRUB bootloader gebruikt om je computer om te zetten in een Windows + Linux dual bootmachine, zonder dat dit van invloed is op je huidige Linux installatie.

Inhoudsopgave

1. Introductie............................................................................................................................................................1 2. Benodigdheden .....................................................................................................................................................1 3. Procedure .............................................................................................................................................................2

1. Introductie

1.1. Waarom zou je deze methode gebruiken?

Ik ben een grote fan van zaken die niets met Microsoft te maken hebben, dus toen ik mijn nieuwe computer kreeg, liet ik het leveren met Linux voorgeïnstalleerd. Het is een geweldige desktopmachine, maar ik miste mijn Windows spellen nogal erg en de GIMP is het toch niet helemaal. Dus uiteindelijk gaf ik toe en besloot ik er een dual boot machine van te maken. Toen ik zocht naar instructies hoe ik dit kon bewerkstelligen, was het enige wat ik vond, aanwijzingen hoe Linux te installeren als je reeds Windows hebt geïnstalleerd en hoe je kunt booten met Loadlin. Omdat Loadlin vanuit DOS draait, vereist de Loadlin methode om van je systeem een dual bootmachine te maken helaas dat Windows op de eerste partitie van je eerste harddisk is geïnstalleerd, omdat Windows gelooft dat het ’t middelpunt van het universum is en alle andere besturingssystemen moeten zich daar maar naar schikken. Dit is een probleem wanneer je Linux reeds op die partitie hebt geïnstalleerd en je dit systeem niet wilt verwijderen om Windows te kunnen installeren.

Hier komt GNU GRUB, de GRand Unified Booloader bij kijken. Het verschilt in die zin van bootloaders zoals LILO dat het tegen Windows kan liegen en Windows kan laten geloven dat het op de eerste partitie is geïnstalleerd ook als dit niet zo is. Dus je kunt je huidige Linux systeem laten waar het is en Windows daarnaast installeren.

1.2. Copyright en Licentie

Copyright (c) 2002 Joel Rosen. Het is toegestaan dit document te kopiëren, distribueren en/of aanpassen onder de voorwaarden van de GNU Free Documentatie Licentie, versie 1.1 of enige latere versie gepubliceerd door de Free Software Foundation; zonder Invariant Sections, zonder Front-Cover Teksten en zonder Back-Cover teksten. Een kopie van de licentie is hier (http://www.gnu.org/copyleft/fdl.html) te vinden.

2. Benodigdheden

2.1. Wat zijn de benodigdheden?

Je zult het volgende nodig hebben:

• Een computer met een werkende installatie van Linux.

• Voldoende vrije diskruimte voor je nieuwe Windows partitie.

• Een partitie-editor zoals GNU Parted (http://www.gnu.org/software/parted/).

• GRUB (http://www.gnu.org/software/grub/) rpm of broncode.

• Een Windows/DOS bootdisk met CDROM ondersteuning en een CD met daarop de Windows 9x installatie, of een opstartbare Windows 9x installatie-CD.

• (Aanbevolen) Een LInux bootdisk.

3. Procedure

3.1. Aanmaken van de Windows partitie

Als je reeds een lege partitie of disk hebt voor je Windows installatie, dan kun je deze sectie overslaan. Anders zul je een partitie-editor moeten gebruiken om je disk te defragmenteren en een nieuwe partitie voor Windows aan te maken. Ik maakte gebruik van GNU Parted (http://www.gnu.org/software/parted/) voor mijn installatie; ook sfdisk zou moeten werken. Maak GEEN gebruik van fdisk, je gegevens zullen niet behouden blijven. En denk erom, dit proces is niet gegarandeerd, dus zorg dat je een backup maakt van alle belangrijke bestanden voordat je aan de slag gaat.

Voor mijn installatie zag mijn partitietabel er zo uit:

Device     Start  End       System
/dev/hda1   1   3       Linux
/dev/hda2   4   1222       Extended
/dev/hda5   4   36       Linux swap
/dev/hda6   37   1222       Linux

/dev/hda1 is mijn /boot partitie (je hebt wellicht geen aparte bootpartitie voor Linux), /dev/hda2 is een extended partitie met twee logische drives, /dev/hda5 en /dev/hda6, met mijn Linux swappartitie en een Linux installatiepartitie.

Start als root je partitie-editor. Verklein je Linux partitie tot zover als je besluit het te maken. (zorg dat de omvang niet kleiner is dan de hoeveelheid gegevens op je disk.) Het programma zal een defragmentatie uitvoeren wat een tijdje zal duren en vervolgens de partitietabel wijzigen. Pas de omvang dienovereenkomstig aan van de extended partitie met je Linux partitie. Je zou nu voldoende ongebruikte ruimte op je disk moeten hebben waarop je een nieuwe primaire Windows partitie aan kan maken. Ga je gang en maak de partitie aan met een Win95 FAT32 (LBA) bestandssysteem. Nu zou je partitietabel er ongeveer zo uit moeten zien:

Device      Start     End      System
/dev/hda1    1      3      Linux

/dev/hda2    4      905      Extended
/dev/hda3    906     1222     Win95 FAT32 (LBA)
/dev/hda5    4      36      Linux swap
/dev/hda6    37      905      Linux

Ik raad je aan op dit moment fdisk uit te voeren en alle partitie-informatie op een stuk papier te schrijven. Als je een fout maakt bij de installatie, dan zal Windows maar al te graag naar eigen goeddunken je partitietabel overschrijven, en je zult in geval van nood moeten weten hoe je partities waren ingedeeld.

3.2. GRUB installeren

3.2.1. Installatie

Je hebt ergens op je disk of een RPM of broncode package nodig van GRUB (http://www.gnu.org/software/grub/). Doorloop de van toepassing zijnde installatieprocedure voor je systeem. GRUB moet nu geïnstalleerd zijn, maar niet geladen. Start als root:

# /sbin/grub-install /dev/hda

Hiermee zal GRUB in de master boot record van je disk worden geladen. Nu moet je /boot/grub/grub.conf bewerken om het bootmenu van GRUB te configureren:

3.2.2. Bewerken van grub.conf

default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Linux (2.4.7-10)
 root (hd0,0)
 kernel /vmlinuz-2.4.7-10 ro root=/dev/hda6
 initrd /initrd-2.4.7-10.img
title Windows 98
 map (hd0,0) (hd0,2)
 map (hd0,2) (hd0,0)
 rootnoverify (hd0,2)
 chainloader +1
title DOS Boot Disk
 map (hd0,0) (hd0,2)
 map (hd0,2) (hd0,0)
 chainloader (fd0)+1

Laten we het doorlopen en bekijken wat dit betekent.

"default=0" en "timeout=10" zullen ervoor zorgen dat Linux na 10 seconden boot als je geen keuze maakt. "splashimage" spreekt voor zichzelf en het is niet zo belangrijk.

"title" duidt op elke bootinstelling en de tekst die daarop volgt is wat in je opstartmenu zal verschijnen. "root" geeft aan op welke partitie je Linux kernelimage is te vinden (dit hoeft niet je werkelijke root (/) partitie te zijn). Dus, "root (hd0,0)" geeft GRUB te kennen dat de kernel zich bevindt op de eerste partitie van /dev/hda. Je kunt zien dat GRUB een grappig nummeringssysteem heeft, 0-3 voor primaire partities en 4+ voor logische partities. De volgende regel vertelt GRUB waar het de kernel kan vinden en waar je feitelijke rootpartitie met je Linux systeem is. "initrd" geeft aan waar je init ramdisk is te vinden. Denk eraan dat deze paar regels er waarschijnlijk iets anders uit zullen zien als je geen aparte /boot partitie hebt. Kijk in de GRUB info page als je meer hulp nodig hebt.

De "map" regels onder de Windows 98 sectie zijn essentieel voor het werkend krijgen van je installatie. Dit zijn de magische regels die Windows om de tuin leiden dat het gelooft dat het op de eerste partitie op de eerste disk is geïnstalleerd. Als je de Windows partitie niet herindeelt naar (hd0,0), dan zal Windows je partitietabel ruïneren en zul je niet kunnen booten.

"rootnoverify" vertelt GRUB te booten vanaf de Windows partitie, maar geen poging te ondernemen het te mounten, en "chainloader +1" vertelt GRUB over te schakelen naar de bootloader van Windows waarmee Windows zal worden gestart.

De "DOS boot disk" sectie is nodig als je van plan bent van diskette te booten om de Windows installatie te starten, maar het zal ook van pas komen na de installatie als je om wat voor reden ook ooit een DOS bootdisk wilt gebruiken. Als je Windows installatie-CD opstartbaar is, dan heb je een "Windows boot disk" sectie nodig die overschakelt naar hoe je CDROM-device wordt genoemd.

Sla nu het bestand grub.conf op en verlaat de teksteditor. In tegenstelling tot LILO, hoeft bij GRUB het uitvoerbare bestand niet te worden uitgevoerd nadat je de bootconfiguratie hebt aangepast. Met je emergency Linux bootdisk bij de hand, probeer je nu je computer te rebooten. Wanneer het systeem opkomt, zou je het GRUB menu met de drie bootopties te zien moeten krijgen. Selecteer Linux. Hopelijk zal Linux zoals gewoonlijk booten en is GRUB juist geïnstalleerd. Als dit niet zo is, heb je gelukkig nog een Linux bootdisk zodat je in Linux kunt booten en grub.conf kunt corrigeren. Zodra je GRUB zover hebt dat je er Linux mee kunt booten, is het tijd om Windows te installeren.

3.3. Windows installeren

Verwijder alle diskettes en CD’s uit je computer en reboot. Boot je computer NIET met de installatiemedia reeds in de drive. Als je dat doet, zal je BIOS de Windows installatie direct booten en krijgt GRUB de kans niet zijn magische werk te doen. Wanneer het GRUB menu tevoorschijn komt, doe je de diskette of CD in het station en selecteer je de DOS bootdisk of Windows installatie CD boot, afhankelijk van je installatiemethode. De Windows installatie zou de partitie die je ervoor hebt aangemaakt op het C: station moeten zien. Ga je gang en installeer Windows.

Dat was het. Je computer is nu ingesteld als een dual bootmachine.