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 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.
Je hebt ergens op je disk of een RPM of broncode package nodig van 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:
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.
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.