NT OS Loader + Linux mini-HOWTO

Bernd Reichert, <[email protected]>, Vertaald door Ellen Bokhorst, <[email protected]>

v1.11, 2 September 1997


Dit document beschrijft het gebruik van de Windows NT bootloader om Linux op te starten. Deze procedures zijn getest met Windows NT 4.0 WS en Linux 2.0.

1. Hoe werkt de NT OS Loader

De NT OS loader verwacht dat de bootsector van de andere besturingssystemen beschikbaar is als een bestand. Het leest dit bestand en start het geselecteerde besturingssysteem, b.v. Windows NT in verschillende Modes of enig ander OS.

2. Tips voor het installeren van Windows NT en Linux op hetzelfde Systeem

2.1 Windows NT installatie

Probeer eerst Windows NT te installeren. Als je NTFS voor je Windows NT-partitie wilt gebruiken, houd dan in gedachten dat de huidige productieversie van Linux de NTFS-partities niet kan benaderen. Een alpha-driver die NTFS-Partities kan lezen is beschikbaar bij http://www.informatik.hu-berlin.de/~loewis/ntfs. Je kunt een aparte FAT-Partitie aanmaken om gegevens uit te wisselen of je moet DOS-geformatteerde diskettes gebruiken.

2.2 Partitioneren

Een andere Mini-howto raadt aan om niet de #Disk Administrator" van NT te gebruiken voor het aanmaken van de Linux swap- en rootpartities. Het volstaat hier om te vrije ruimte te bekijken. Ik raad je ook aan om op een later tijdstip de fdisk van Linux te gebruiken.

2.3 Linux installatie

Boot linux nu vanaf diskettes, maak de swap- en root-partitie aan. Fdisk gaat ervan uit dat de ntfs-partitie een HPFS-partitie is. Dit is normaal. Boot nogmaals vanaf diskettes en installeer Linux zoals je dat wilt.

Voor het geval de installatie-procedure voorstelt om de gevonden HPFS partitie te mounten: Negeer dit dan.

2.4 Lilo

Als je bij de Lilo-sectie aankomt, geef je Linux-root-partitie dan op als je boot-device omdat Windows NT de eigenaar is van de Master Boot Record (MBR) van je harddisk. Dit betekent dat de root-entry en de boot-entry in je /etc/lilo.conf dezelfde waarde hebben. Als je een IDE-harddisk hebt en je Linux-partitie is de tweede partitie ziet het boot-gedeelte in /etc/lilo.conf er ongeveer zo uit:

boot=/dev/hda2

Als je twee disks hebt en Linux komt voor op de eerste partitie van je tweede disk, dan ziet het boot-gedeelte in /etc/lilo.conf er ongeveer als volgt uit:

boot=/dev/hdb1

Start lilo op met een kernel die overeenkomt met je systeem. Controleer de kernel door eerst vanaf een diskette op te starten als je niet zeker van je zaak bent.

Als je Windows NT nu niet kunt booten, heb je een probleem. Ik hoop dat je onlangs een repair-disk hebt aangemaakt.

3. Bootpart

Er bestaat een NT-programma met de naam bootpart geschreven door G. Vollant die de taken in de volgende twee punten voor je kan doen. Bootpart is beschikbaar bij http://ourworld.compuserve.com/homepages/gvollant/bootpart.htm.

Gebruik de procedures zoals beschreven in punt 5 en 6, als je wilt weten hoe de dingen met elkaar samenwerken.

4. Het Linux-deel van het werk

Je moet vanaf diskettes booten totdat het NT-deel is aangepast.

Nu moet je de bootsector vanaf je Linux-root-Partitie onttrekken. Met /dev/hda2 als je linux-partitie, is het dd-commando:

# dd if=/dev/hda2 of=/bootsect.lnx bs=512 count=1

Er is iets niet in orde als je bootsect.lnx groter is dan 512 bytes.

Kopieer nu het bestand bootsect.lnx naar een DOS-geformatteerde diskette als dit je manier is om bestanden naar de NTFS-Windows-partitie over te brengen.

Je kunt het kopieëren met

# mcopy /bootsect.lnx a:

of met

# mount -t msdos /dev/fd0 /mnt
# copy /bootsect.lnx /mnt
# umount /mnt

5. Het Windows NT gedeelte van het werk

Kopieer het bestand vanaf de diskette naar C:\\bootsect.lnx. Ik vertel je niet hoe je dat doet.

Wat lilo.conf voor Linux is, is c:\\boot.ini voor Windows NT. Verwijder het systeem- en het alleen-lezen-kenmerk voordat je het kunt wijzigen met:

C:\attrib -s -r c:\boot.ini 

Wijzig nu als volgt het bestand boot.ini met een editor, bijvoorbeeld met notepad:

[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"

Alleen de laatste regel is in dit voorbeeld toegevoegd. Herstel de kenmerken, nadat je boot.ini hebt opgeslagen, met:

C:\attrib +s +r c:\boot.ini 

Na het afsluiten en weer opnieuw opstarten van Windows NT zou je het volgende te zien moeten krijgen:

  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

Selecteer Linux en zie

  LILO loading zImage ....

6. Doe het nogeens

Iedere keer als de bootsector van je linux-partitie is aangepast, moet er een nieuwe kopie van bootsect.lnx naar C:\BOOTSECT.LNX worden overgezet. Dit gebeurt bijvoorbeeld als je een nieuwe kernel met lilo installeert. Zoals je kunt zien is een dergelijk systeem niet ideaal voor het testen van experimentele kernels.

7. Probleemoplossing

Als iets niet naar verwachting werkte, controleer de opstartbaarheid met een diskette. Met /dev/hdb1 als je Linux-partitie, staan de volgende gegevens in /etc/lilo.conf:

root=/dev/hdb1
boot=/dev/fd0

Start lilo op met een diskette in de drive. Probeer nu vanaf de diskette te booten. Als Linux op /dev/hdb1 niet kan worden gestart, zal het met de NT OS loader ook niet lukken om op te starten. Als je een boel 01 01 01 01 ziet, is je root-disk niet toegankelijk. Controleer of al je disks in de bios bekend zijn.

Als de diskette je Linux-partitie boot, je kunt je boot-sector onttrekken voor de NT OS loader met:

# dd if=/dev/fd0 of=/bootsect.lnx bs=512 count=1

Je kunt deze diskette bewaren als je rescue-diskette, voor het geval je Windows NT installatie het begeeft.

8. Referenties

9. Erkennningen

10. Feedback

Commentaar is welkom.