
Vertaald door Fred van Lieshout
Aansprakelijkheid: Dit document is beschikbaar "zoals die is" zonder garanties.
Gebruik op eigen risico. In geen geval ben ik aansprakelijk voor enige schade die
voortvloeit uit het gebruik van dit werk.
Deze HOWTO is van toepassing als:
-
Op de machine Windows al geïnstalleerd is en je Linux
als tweede besturingssysteem installeert, en
-
Je de Windows opstartsoftware (NTLDR) op de MBR (Master Boot Record) wilt laten staan.
Dit geeft je de mogelijkeid om Windows zonder bijkomstigheden te starten. 'ik' heb gehoord
dat Windows 2000/Windows XP of anti-virus software kan klagen als de MBR niet de Windows
opstartsoftware bevat.
Je kan GRUB of LILO gebruiken om Windows 2000/Windows XP en Linux op te starten.
Beide werken prima, maar van wat 'ik' heb gehoord, is GRUB eenvoudiger in het gebruik, daar
LILO vereist dat je /sbin/lilo steeds
moet uitvoeren als je een andere kernel hebt gebouwd of als je
/etc/lilo.conf hebt gewijzigd.
Vereisten voor /boot Partitie
De locatie van de Linux /boot partitie op de harde schijf is kritiek i.v.m. de
BIOS 1024 cylinder limiet.
Het BIOS (Basic Input/Output System) van oudere systemen kan de harde schijf niet voorbij
cylinder 1024 benaderen, op de meeste schijven is dit ~8.5 GB. Een eenvoudige manier om de
BIOS 1024 limiet te omzeilen is door de /boot partitie binnen de eerste 1024 cylinders
(~8.5 GB) van de harde schijf te plaatsen. Als je meerdere harde schijven hebt, dan moet
/boot op dezelfde harde schijf staan als waar de Windows opstart software (NTLDR)
staat op de MBR (meestal de eerste schijf).
Hier zijn wat opties waar je de /boot partitie kan plaatsen:
-
(Wat 'ik' deed) Verklein de Windows partitie zodanig dat er 50 MB vrije
diskruimte is aan het begin van de harde schijf en voldoende ruimte (voor
Linux) achter de Windows partitie. Je kan de Linux /boot
partitie dan in de eerste 50 MB plaatsen en zo problemen met de 1024-cylinder
limiet voorkomen.
-
Verklein de Windows partitie zodat deze niet voorbij de 1024 cylinder grens
(~8.5 GB) komt en plaats de /boot partitie
direkt na de Windows partitie.
-
Gebruik LBA
(Logical Block Addressing). LBA staat het toe op te starten voorbij de 1024 cylinder grens.
Om LBA te kunnen gebruiken, moet het BIOS dat ondersteunen. Daarbij, voor LILO, moet je een
vlag toevoegen om LBA ondersteuning in te schakelen.
GRUB ondersteunt LBA
standaard "uit-de-doos".
Om de Windows partitie te verkleinen zonder deze te beschadigen, kan je het gratis
programma fips gebruiken (fips
ondersteunt (nog) geen NTFS partities). Een ander mogelijkheid is het commerciele
produkt Partition Magic.
Het heeft een eenvoudig te gebruiken GUI (Grafische Gebruikers Interface). Helaas
heeft het hulpprogramma dat bij Red Hat 7.2 zit, Disk Druid, geen ondersteuning voor
het wijzigen van de grootte van bestaande partities. Zodra de Windows partitie is
aangepast, kan je Disk Druid tijdens de Red Hat installatie gebruiken om de partities
voor Linux op te zetten.
Dual-Boot opzetten
Hier volgen de stappen voor het opzetten van dual-boot met GRUB; ik heb dit uitgezocht
door te kijken naar
een vergelijkbare procedure voor LILO. Ik heb geverifieerd dat dit werkt voor Windows 2000
en Windows XP en het zou ook moeten werken voor Windows NT (alle 3 de besturingssystemen gebruiken
dezelfde architectuur voor het opstarten).
-
Installeer GRUB op de eerste sector sector van de /boot partitie.
INSTALLEER GRUB NIET OP DE MBR!.
Als je de Red Hat installatie uitvoert,
voor het "Boot Loader Installation" scherm:
-
Selecteer "Use GRUB as the boot loader"
-
Selecteer Install Boot Loader record on "...First sector of
boot partition".
-
Na het afronden van de Red Hat installatie, herstart naar Linux.
Als je geen opstart diskette hebt, probeer
opstarten in linux hulp mode
Als je Linux al hebt geïnstalleerd:
-
Voer het volgende commando uit (b.v. er van uit gaande dat
/boot is /dev/hda2):
grub-install /dev/hda2
Als je niet weet welke
partitie
/boot bevat, voer het
df commando uit en bekijk het resultaat.
-
Pas /etc/grub.conf aan en zorg ervoor dat er een ingang is
voor jouw versie van Windows. Ter vergelijking, hier is mijn versie
van de /etc/grub.conf.
-
Determineer welke partitie /boot partitie bevat door het df
commando uit te voeren. Je ziet uitvoer vergelijkbare met deze:
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hda3 8665372 1639580 6585612 20% /
/dev/hda2 46636 5959 38269 14% /boot
/dev/hda6 513776 189504 324272 37% /osshare
none 256624 0 256624 0% /dev/shm
Uit deze uitvoer kunnen we opmaken dat /boot op /dev/hda2 staat.
-
Maak een kopie van de Linux opstart sector op een diskette of op een FAT32 partitie.
We noemen de kopie linux.bin.
Om een kopie op een diskette te maken:
-
Monteer (Engels: "mount") de diskette besturingseenheid als dat niet al gedaan
is (er van uit gaande dat /mnt/floppy bestaat):
mount -t msdos /dev/fd0 /mnt/floppy
-
Voer het volgende commando uit:
dd if=/dev/hda2 of=/mnt/floppy/linux.bin bs=512 count=1
Vervang het pad na de if= parameter (de invoer) met de partitie
zoals gevonden in stap 1. B.v., zet if= op /dev/hda2.
Om een kopie te maken naar een FAT32 (vfat) partitie:
-
Monteer (Engels: "mount") de FAT32 partitie als dat niet al gedaan is. Als deze niet
voorkwam in de df lijst,dan was deze nog niet gemonteerd. Volg de
stappen 3a-3c voor het monteren van een FAT32 partitie over de "Share Partitions HOWTO" (Engels).
-
Voer het volgende command uit:
dd if=/dev/hda2 of=/osshare/linux.bin bs=512 count=1
Vervang het pad na de if= parameter (de invoer) met de partitie zoals gevonden
in stap 1. B.v., zet if= op /dev/hda2. Vervang het pad na
de of= parameter (the uitvoer) met wat van toepassing is voor jouw systeem.
Het voorbeeld (of=/osshare/linux.bin) is voor het kopiëren naar een FAT32
partitie genaamd osshare.
-
Start Windows op
-
Kopieër het linux.bin bestand naar C:\
-
Start notepad en wijzig C:\boot.ini. N.B het C:\boot.ini bestand
is een verborgen systeembestand, dus het is waarschijnlijk niet zichtbaar in Windows
Explorer. Om dit bestand te wijzigen, probeer: Start->Uitvoeren en voer in:
notepad C:\boot.ini. Voeg de volgende regel toe aan het einde:
c:\linux.bin="Linux"
Als je C: bestandssysteem NTFS is (niet FAT32), dan moet je C:\boot.ini
wijzigen als gebruiker met 'Administrator' rechten.
Om
C:\boot.ini te kunnen wijzigen,
kan je:
-
Explorer gebruiken:
-
Ga naar Extra->Map opties->Weergave en selecteer
Toon verborgen bestanden en deselecteer Verberg beveiligde bestanden
(Aanbevolen)
-
Klik met de rechtermuisknop op C:\boot.ini kies Eigenschappen
en deselecteer Alleen lezen. Nu kan je het bestand wijzigen.
-
Zet de instellingen terug op hun oorspronkelijke waardes na het wijzigen van het bestand.
-
Of via de commando regel:
-
Maak het bestand schrijfbaar:
attrib -R -S -H C:\boot.ini
-
Na het wijzigen van het bestand:
attrib +R +S +H C:\boot.ini
Ter vergelijking, hier is een kopie van mijn
boot.ini bestand.
-
Herstart. Het moet nu mogelijk zijn om te kiezen tussen Windows of Linux.
Selecteren van Linux zal GRUB doen starten.
Probleemoplosser
-
Als ik Linux selecteer in het opstartmenu, dan bevriest "GRUB" (of de "L" in het geval van LILO)
-
Verzeker je ervan dan je een juist linux.bin bestand hebt
gemaakt met het dd command. Als je zeker weet dat je het
commando juist hebt uitgevoerd, dan kan het probleem zijn dat de
/boot partitie voorbij de 1024 cylinder grens ligt en het
BIOS er niet bij kan. Tijdens het opstarten van het systeem,
somt de Windows opstart software de keuzes van boot.ini op.
Als je Linux kiest laadt de opstart software het 512-byte grote
linux.bin bestand en het BIOS probeert de /boot
partitie te benaderen om GRUB te starten. Sommige BIOS implementaties
kunnen alleen de eerste 1024 cylinders van de harde schijf benaderen,
wat overeenkomt met ~8.5 GB. Hoe los je dit op?
Plaats de /boot partitie voor
cylinder 1024; d.w.z. binnen de eerste ~8.5 GB.
-
Als ik Linux selecteer in het opstartmenu , krijg ik een foutmelding:
"Windows XP could not load: The file hal.dll (windows/system32/)
is missing or corrupt. Please reinstall.
-
Dit wordt over het algemeen veroorzaakt door een fout in het
boot.ini bestand.
Erkenningen
Ik hoop dat je inhoud van deze pagina nuttig vond (en accuraat). Please email the author with feedback or questions (in english).
Als je een vertaling van deze pagina wilt maken, lees dan de translation policy.
Copyright © 2002 Ed B. Park