Ik wilde alle besturingssystemen kunnen booten zonder meerdere menu's te doorlopen. Ik weet dat ik NT bovenop win9x bovenop DOS kan installeren. Ik zou het NT menu moeten doorlopen en vervolgens het win9x menu om DOS te kunnen booten. Ik wilde deze besturingssystemen onmiddellijk kunnen booten.
Het zag ernaar uit dat dit een behoorlijke uitdaging zou zijn. Het probleem met Microsoft besturingssystemen is dat ze allen vanaf de primaire partitie willen booten. Hier komt GRUB ter sprake. Het kan primaire partities verbergen. Je kunt tot 3 partities gebruiken om Microsoft besturingssystemen te installeren. GRUB zal de andere 2 partities zodanig verbergen dat de andere besturingssystemen het niet zullen zien. Dit betekent dat je een andere partitie nodig zal hebben om gegevens tussen DOS, Win9x en Windows 2000 te delen. De 4e partitie wordt gebruikt als extended partitie.
Ik wilde ook een menusysteem en GRUB voorziet hierin op fraaie wijze.
Een andere mooie faciliteit van GRUB is dat het reiserfs ondersteunt zodat ik mijn /boot bestand niet op een aparte ext2 partitie hoef te houden.
Je hebt 3 diskettes nodig. Maak van de eerste diskette een DOS systeemdisk. Kopieer fdisk.exe en sys.exe naar deze diskette.
FORMAT /S A: COPY FDISK.EXE A: COPY SYS.EXE A:
Gebruik je tweede diskette om een Windows 98 rescuedisk te maken. Je zal spoedig de derde diskette voor GRUB gebruiken.
Installeer je favoriete Linux-distributie. Je zal fdisk moeten gebruiken om je harddisk te partitioneren. Bereken vooraf hoeveel diskruimte elk van je besturingssystemen in beslag zal nemen.
Zo partitioneerde ik mijn harddisk:
Device Boot Start End Blocks Id System /dev/hda1 1 6 48163+ 16 Hidden FAT16 /dev/hda2 7 19 104422+ 16 Hidden FAT16 /dev/hda3 20 593 4610655 1b Hidden Win95 FAT32 /dev/hda4 594 3737 25254180 5 Extended /dev/hda5 594 848 2048256 6 FAT16 /dev/hda6 849 2123 10241406 7 HPFS/NTFS /dev/hda7 2124 2140 136521 82 Linux swap /dev/hda8 2141 2523 3076416 83 Linux
Mijn eerste partitie is voor het booten van Windows 2000. 10MG zou hier ruim voldoende voor moeten zijn. Op deze partitie zullen alleen de bestanden staan die nodig zijn om NT te booten, zoals boot.ini, ntldr, ntdetect.com, enz... NT zal voorkomen op partitie 6 in mijn voorbeeld. Deze partitie is een Hidden FAT16.
De tweede partitie is voor DOS. Ik achtte 100M voldoende. Ook dit is een FAT16
De derde partitie is voor Win9x. Ik kende het 5G toe en maakte er voor de performance een FAT32 van.
Maak vervolgens de extended partitie aan van de rest van je harddisk. Dit komt tevoorschijn als partitie 4 onder fdisk.
Maak een partitie van 2GB aan. Deze partitie wordt gebruikt om gegevens tussen alle besturingssystemen te delen. Zorg dat het totaal van alle bovenstaande partities minder is dan 8GB. Dit is een beperking van DOS.
Maak vervolgens je Windows 2000 partitie aan. Ik gaf het 10G aangezien deze windows een opgeblazen varken is. Voor de snelheid maakte ik er een HPFS/NTFS partitie van.
Voeg dan je swappartitie en linuxpartitie toe. Zorg dat je geen aparte partitie voor /boot hebt. Het ziet er in GRUB beter uit als je /boot in de rootpartitie houdt.
Ga je gang nadat je linux hebt geïnstalleerd en formatteer de fat16 partities:
mkdosfs /dev/hda1 mkdosfs /dev/hda2 mkdosfs /dev/hda6
Zorg dat je de laatste versie van GRUB hebt. Ik gebruik versie 0.5.96.1. De versie die met mijn distributie werd geleverd was verouderd en bezorgde me heel wat ongerief. Je kunt de laatste versie downloaden vanaf http://www.fsf.org.
Nu zal je GRUB op de diskette gaan installeren. Je installeert het nog niet op de harddisk omdat Windows 2000 het zal overschrijven.
grub-install '(fd0)'
Maak voor GRUB de volgende menu.lst aan. Dit bestand komt voor in /boot/grub.
# # Voorbeeld van een configuratiebestand voor een bootmenu # # Boot automatisch na een minuut. timeout 60 # Boot standaard het besturingssysteem in het tweede record. default 1 # Val terug op het eerste record. fallback 0 title Windows 2000 unhide (hd0,0) hide (hd0,1) hide (hd0,2) rootnoverify (hd0,0) chainloader +1 makeactive # Voor het booten van Linux title Linux root (hd0,7) kernel /boot/vmlinuz-2.2.17 root=/dev/hda8 video=matrox:vesa:261 title Windows 98 hide (hd0,0) hide (hd0,1) unhide (hd0,2) rootnoverify (hd0,2) chainloader +1 makeactive title DOS 6.22 hide (hd0,0) unhide (hd0,1) hide (hd0,2) rootnoverify (hd0,1) chainloader +1 makeactive # Voor het booten van Linux title Linux (single user) root (hd0,7) kernel /boot/vmlinuz-2.2.17 root=/dev/hda8 video=matrox:vesa:261 single title Partition 2 (floppy) hide (hd0,0) unhide (hd0,1) hide (hd0,2) chainloader (fd0)+1 title Partition 3 (floppy) hide (hd0,0) hide (hd0,1) unhide (hd0,2) chainloader (fd0)+1
Controleer of je linux met de diskette kunt booten. Als je problemen ondervindt dan kun je via de opdrachtregel van GRUB uitzoeken wat er aan de hand is. GRUB is zeer goed gedocumenteerd, dus als je problemen ondervindt, kijk dan alsjeblieft in de documentatie.
Voor het installeren van Windows 2000 moest ik de eerste partitie initialiseren. Doe de DOS systeemdisk in het diskettestation en start je computer opnieuw op. Zodra je de DOS-prompt krijgt, doe je het volgende:
FDISK /MBR SYS C:
Nu kun je verdergaan en windows 2000 installeren. Op een bepaald moment zal Windows 2000 je vragen naar de partitie waarop je wilt dat het zal worden geïnstalleerd. De partitie die je met fdisk aanmaakte zal tevoorschijn komen als een beschadigde of ongeformatteerde partitie. Ga je gang en selecteer het.
Wijzig een bestand genaamd boot.ini dat te vinden zou moeten zijn op station C: om het Windows 2000 menu te verbergen.
[boot loader] timeout=0 default=multi(0)disk(0)rdisk(1)partition(1)\WINNT [operating systems] ...
Doe de GRUB disk in het diskettestation. Doe de DOS systeemdisk erin zodra je het menu ziet. Selecteer partition 2 (floppy) uit het menu. Druk op Enter. Hiermee zal vanaf de diskette worden geboot en zullen de partities 1 en 3 verborgen worden.
Start FDISK en controleer of station C: partitie 2 is. Installeer vervolgens DOS:
SYS C:
Doe de GRUB disk in het diskettestation. Doe de Windows 98 rescuedisk erin zodra je het menu ziet. Selecteer partition 3 (floppy) uit het menu. Druk op Enter. Hiermee zal vanaf de diskette worden geboot en zullen de partities 1 en 2 verborgen worden.
Start FDISK en controleer of station C: partitie 3 is. Installeer vervolgens Windows 98:
SYS C:
Test of alles functioneert vanuit GRUB:
Je zou alle 4 de besturingssystemen vanaf de GRUB diskette moeten kunnen booten.
Als alles er goed uit lijkt te zien dan kun je verder gaan en GRUB op je harddisk installeren. Typ vanuit Linux:
grub-install /dev/hda
Je zou nu vanuit het GRUB menu alle 4 de besturingssystemen moeten kunnen booten. Veel plezier!
Ik bemerkte dat deze links nuttig waren bij het instellen van mijn systeem.
Ik zou graag over je ervaringen willen vernemen (goed of slecht) met dit document. Mocht je instructies hebben voor het toevoegen van nog een ander OS stuur deze dan alsjeblieft naar me zodat ik ze toe kan voegen.