Beheren van Meerdere Besturingssystemen HOWTO

Robert W. Schultz,
Vertaald door: Ellen Bokhorst, bokkie@nl.linux.org

v0.4, 17 feb 2000


In deze HOWTO worden de procedures voor gebruik van verwijderbare harddisks behandeld om meerdere alternatieve besturingssystemen te installeren en beheren, terwijl een enkele vaste disk permanent in het systeem blijft en het primaire besturingssysteem beschermt. Het is zeer schaalbaar en biedt een goede gradatie aan bescherming en een stabiele diskomgeving voor het primaire besturingssysteem.

1. Introductie

1.1 Copyright

Copyright (c) 2000 door Robert W. Schultz.

Je kunt dit document gerust in ieder gewenst formaat kopiëren en distribueren (het verkopen of weggeven). Je wordt verzocht correcties en/of opmerkingen door te sturen naar de beheerder van het document. Je mag er een afgeleid werkstuk van maken en het distribueren op voorwaarde dat je:

1.Dit afgeleide werkstuk (in het meest geschikte formaat zoals sgml) naar de LDP opstuurt (Linux Documentatie Project) of iets dergelijks zodat het naar het Internet gepost kan worden. Als het de LDP niet is, laat de LDP dan weten waar het beschikbaar is.

2. Licentieer het afgeleide werkstuk met dezelfde licentie of gebruik GPL. Voeg een copyrightmelding in en op z'n minst een verwijzing naar de gebruikte licentie.

3. Geef krediet aan vorige auteurs en mensen die voor een belangrijk deel hebben bijgedragen aan het document.

Mocht je overwegen een afgeleid werk anders dan een vertaling te maken, dan verzoek ik je je plannen met de huidige beheerder te bespreken.

1.2 Nieuwe versies van deze HOWTO

Nieuwe versies van de Beheren van Meerdere Besturingssystemen HOWTO zullen voor download en/of om door te bladeren op LDP mirrorsites beschikbaar zijn. Zie http://metalab.unc.edu/LDP/mirrors.html. voor een lijst met mirrorsites.

Er zijn diverse formaten beschikbaar. Als je slechts snel de datum van de laatste versie wilt controleren, kijk dan op

http://www.linuxdoc.org/HOWTO/MultiOS-HOWTO.html

en vergelijk het met deze versie: v0.4, 17 februari 2000

1.3 Feedback

Stuur vragen, opmerkingen of suggesties alsjeblieft naar mailto:rwschul@smart.net (Robert W. Schultz). Ik ben graag bereid anderen te helpen met problemen die direct gerelateerd zijn aan deze HOWTO en zal me bezig houden met eventuele suggesties aangaande wijzigingen/ aanpassingen en/of verbeteringen. Deze HOWTO zal echter zonder inbreng van lezers niet in belangrijke mate worden verbeterd, aangezien ik mijn systeem naar tevredenheid heb ingesteld.

2. Opzet en doelen:

De opzet van deze HOWTO is een methode te beschrijven meerdere besturingssystemen op een enkel computersysteem te beheren. Het is bedoeld voor Linux gebruikers die een basiskennis van zowel Linux als LILO installaties hebben. Niets dat hierin staat, is echter zo heel erg ingewikkeld. De hoeveelheid tijd in aanmerking genomen die het in beslag neemt een aantal besturingssystemen te installeren, kan het relatief veel tijd in beslag nemen.

Het is in die zin anders dan andere methoden dat meerdere besturingssystemen op de bootdisk er niet voor nodig zijn. In plaats daarvan wordt gebruik gemaakt van een vaste interne disk met een enkel primair besturingssysteem en een selectie aan verwijderbare disks met één of meer besturingssystemen op iedere disk. Als je beslist twee, drie of vier verschillende besturingssystemen nodig hebt op een enkele disk en tracht ze met elkaar overweg te laten kunnen, dan is deze HOWTO niet voor jou bedoeld.

De specifieke doelen zijn:

* - Een primaire/operationele disk die eenmaal geconfigueerd en geïnstalleerd zelden wordt gewijzigd. Hiermee wordt niet het herpartitioneren of op andere wijze veranderen van de disk bedoeld.

* - Makkelijke selectie van meerdere alternatieve besturingssystemen tijdens de systeemstart zonder meer dan één of twee menu-selecties te hoeven doorlopen.

* - Het is niet nodig de BIOS, LILO of enige andere configuratie te benaderen wanneer een O/S eenmaal is geïnstalleerd.

* - Het eenvoudig toevoegen/verwijderen van besturingssystemen al naar gelang de behoeften van dat moment.

* - Goedkoop en schaalbaar om in de loop der tijd meer besturingssystemen en versies mogelijk te maken.

Ik denk dat de eerste drie vereisten me wonder wel gelukt zijn. Je kunt je eigen mening vormen over de laatste twee.

3. Achtergrond:

Zelfs al wordt Linux steeds gebruiksvriendelijker en breder geaccepteerd, de meesten onder ons hebben de toegang tot andere besturingssystemen nog nodig. Ik maak 75% van de tijd gebruik van Linux, maar ik heb nog steeds een Windowssysteem nodig voor die paar applicaties waar ik onder Linux nog geen alternatief voor heb gevonden. Mijn vrouw gebruikt op het werk MS-Office en wil hier thuis ook mee kunnen werken. Andere mensen willen slechts voor de lol, een training, of om bij te blijven in hun werk toegang kunnen hebben tot andere O/S'sen.

Ik ben geneigd met nieuwe O/S'sen net zo om te gaan als met nieuwe spellen; ik doe er in feite niets productiefs mee, maar het installeren en ze leren beheren is net zo uitdagend en interessant voor me als Quake of SimCity. Bovendien zorgt het ervoor dat ik, als computerwetenschapper, bij blijf in de ontwikkelende technologie en heeft het me geholpen bij het oplossen van menig probleem op het werk. In ieder geval geloof ik dat het gebruik van meerdere besturingssystemen, voor nieuwe Linux gebruikers, computerprofessionals, en degenen die gewoon van het ene naar het andere besturingssysteem proberen te migreren, het eerder een norm is dan een uitzondering.

4. Systeembenodigdheden:

BIOS - Iedere bios waarmee een automatische identificatie van de diskdrive geometrie mogelijk is en je de keuze geeft de reeks devices om van te booten te selecteren zou moeten werken. Ik bouwde met succes systemen gebaseerd op zowel de PhoenixBIOS 4.0 als de AMI Plug en Play Flash BIOS.

DISKS - Een aan Linux toegewezen interne disk. (eerste disk) Een verwijderbare drivebehuizing, met ieder aantal drives. (tweede disk)

Aangezien veel van deze HOWTO met disks heeft te maken, zal ik van nu af aan gewoonlijk gebruik maken van de termen "eerste disk" en "tweede disk". De eerste disk is de disk die in beginsel wordt benaderd wanneer de computer wordt aangezet, in het algemeen bekend als de bootdisk. LILO is in de MBR geïnstalleerd en het is toegewezen aan een enkel besturingssysteem, in het bijzonder Linux. De tweede disk is een verwijderbare disk met één of meer alternatieve besturingssystemen die wel of geen bootloader in de MBR of elders hebben.

Er zijn geen andere hardware/firmware vereisten. Enige andere vereisten zouden moeten zijn opgelegd door het specifieke O/S. Solaris 7 bijvoorbeeld zal op een oude 90MHz computer niet goed kunnen draaien ook al zou je het kunnen installeren. De hierin beschreven configuratie en methodologie zouden echter evengoed kunnen werken ongeacht de snelheid van de CPU of andere geïnstalleerde randapparaten.

Besturingssystemen - Ik heb dit proces met Linux getest (Redhat en Suse), Solaris 7, BeOS, Win 98 en zelfs met MSDOS 6.22. Ik zie geen enkele reden waarom het niet met Win 95, O/S 2 of FreeBSD zou werken. Ik ben niet bekend met Windows NT of 2000 dus ik weet dan ook niet hoe die op een dergelijke soort setup zouden reageren.

Boot loader - Ik maakte op de eerste disk gebruik van LILO en op de tweede disk(s) van BeOS bootman. Ik gebruikte LILO op de eerste disk omdat het de enige bootloader was die het me mogelijk maakte de MBR op de tweede disk te selecteren als een acceptabele bootpartitie. Iedere relatieve robuuste bootloader zou op de tweede disk moeten werken.

5. Hoe het werkt (een scenario):

Voorafgaande aan het aanzetten van het systeem, doe ik een disk die is voorgeladen met een besturingssysteem in de verwijderbare drive. Wanneer ik de computer aanzet, wordt ik gepresenteerd op de LILO prompt (door het indrukken van <tab>) met "Linux" en "Disk2" als opties. Linux is de standaard en zou als ik niets deed automatisch worden opgestart. Wanneer geselecteerd, boot het disk2 óf direct in het enkele O/S dat is opgeslagen op de tweede disk óf presenteert het me op een tweede bootmenu als er zich meer dan één O/S op die disk bevindt. Als ik de computer uitzet, de tweede disk vervang door een andere en de computer weer aanzet, krijg ik nog steeds het initiële Linux/Disk 2 menu en als ik disk2 selecteer krijg ik een nieuw menu dat van toepassing is op de nieuw ingevoegde disk. Eenmaal geïnstalleerd hoef ik de LILO configuratie op de eerste disk nooit meer te veranderen. Ik hoef de BIOS instelling waarmee ik aangaf waarvanaf te booten voor de tweede disk nooit meer te wijzigen en ik hoef nooit meer dan twee menuselecties te doorlopen om mijn geselecteerde O/S werkend en draaiend te krijgen.

6. De installatie:

Er zijn drie te onderscheiden onderdelen in de installatie, als eerste het bouwen van het primaire O/S op een eigen toegewezen drive. Ten tweede het bouwen van een tweede disk met welk alternatief O/S je dan ook uitkoos. En als laatste het herconfigureren van de BIOS en LILO om ondersteuning te bieden aan beide disks.

6.1 Installeren van het primaire besturingssysteem

Installatie van het primaire/operationele O/S is tamelijk eenvoudig. Behandel het systeem alsof het een systeem met een enkele disk is, dat aan Linux is toegewezen. Raadpleeg de documentatie die met je distributie werd meegeleverd of zie de http://www.linuxdoc.org/HOWTO/Installation-HOWTO.html voor details over het installeren van Linux.

Omdat dit uiteindelijk een installatie is die uit meerdere disks bestaat, moeten er een paar stappen worden ondernomen om de installatieroutines om de tuin te leiden door ze tijdens het installatieproces te laten denken dat het een systeem is met een enkele disk.

Verwijder als eerste de verwijderbare harddisk en zorg ervoor dat de overblijvende drive in de BIOS (na de diskette) wordt geïdentificeerd als het secundaire bootdevice. Het installatieprogramma van het besturingssysteem zou slechts één disk mogen zien, en dat is de disk waarop je het gaat installeren. Op die manier is het geen vraagstuk waar het zal worden geïnstalleerd. Bovendien zal het alles installeren zoals van toepassing is op een systeem met enkele disk.

Geef het installatieprogramma op, wanneer daarom wordt gevraagd, de gehele disk voor het besturingssysteem te gebruiken. Ik accepteerde de standaard RedHat partitionering en installeerde de algemene LILO in de MBR.

Zodra de installatie compleet is, herstart je het systeem ter bevestiging dat je systeem naar behoren werkt. Vanaf dit punt zou je een volledig functionele computer moeten hebben die direct in Linux boot.

6.2 Alternatieve besturingssystemen installeren

Nu je een volledig functioneel systeem hebt, kun je verder gaan met het opbouwen van een tweede disk met de alternatieve besturingssystemen.

Selecteer één of twee besturingssystemen voor de tweede disk. Ik koos voor mijn initiële testsituatie zonder reden voor Windows 98 en BeOS. Ik partitioneerde een 8GB drive in twee 4GB primaire partities en installeerde Windows 98 op de eerste partitie en BeOS op de tweede.

Doe hetzelfde met deze installatie als je deed met de eerste. Deactiveer de eerste disk in de BIOS zo dat dit installatieprogramma het zelfs niet zal zien. Dit is heel belangrijk. Als je de eerste disk fysiek kunt verwijderen of deactiveren, doe dit dan! Hiermee zal je primaire systeem veilig worden gesteld voor enige fouten van jouw kant of bovenmatig hebberige besturingssystemen die alle disks over willen nemen die ze gedurende de tweede installatie zien. Als je ergens in de toekomst besluit een andere verwijderbare disk te creëren, zorg er dan voor dat je deze stap herhaalt.

Zodra dit klaar is, installeer je de besturingssystemen naar keuze net als of je de installatie uit zou voeren op een systeem met een enkele disk.

Als je slechts één besturingssysteem op de tweede disk hebt, plug dan gewoon de installatiedisk erin en laat het zijn werk doen. Windows 95 of 98 of zo ongeveer elk ander besturingssysteem, inclusief een tweede Linux, zou op deze wijze prima moeten installeren. Maak het voor Windows 9x mogelijk naar de MBR te schrijven. Selecteer bij het installeren van Linux de MBR als lokatie om LILO te installeren.

Ik besloot twee besturingssystemen op de tweede disk te installeren zodat ik de functionaliteit van overlappende bootloaders kon bevestigen.

Ik installeerde Windows 98 als eerste omdat het automatisch de MBR overschrijft en het zou elke bootloadercode hebben overschreven die ik eventueel daar zou hebben geplaatst. Vervolgens installeerde ik BeOS op de tweede partitie en draaide bootman, de BeOS bootloader. Daarmee bouwde ik een bootmenu voor de tweede disk en overschreef doelbewust de Windows 98 MBR.

Bootman was niet essentieel, ik zou net zo goed iedere andere op de MBR gebaseerde bootloader hebben kunnen gebruiken, maar het was beschikbaar en het werkt nogal goed.

Herstart het systeem regelmatig om jezelf ervan te verzekeren dat alles naar behoren werkt zoals dat het doet op een systeem met een enkele disk. Ik herstartte het systeem na iedere O/S installatie om er zeker van te zijn dat het goed werkte en ook dat het bootloader menu naar behoren werkte.

6.3 Uiteindelijke BIOS en LILO configuratie:

Herconfigureer de BIOS zodanig dat het wederom de eerste disk als de bootdisk herkent (sluit het fysiek weer aan als je de verbinding ervan met het systeem eerder verbrak) en zo dat het ook de tweede disk herkent. Hoe je dit doet is erg systeemspecifiek en afhankelijk van je BIOS en of je een SCSI/IDE of IDE/IDE setup hebt. Ik heb geen SCSI/SCSI setup geprobeerd omdat SCSI-disks en verwijderbare frames heel wat duurder zijn dan IDE-disks en frames. Ik wilde performance voor mijn primaire O/S, maar kon goedkope drives voor de andere besturingssystemen accepteren.

Stel het type van de tweede disk in op "Auto" of "Automatic". Hiermee wordt de BIOS gedwongen het type disk tijdens de systeemstart dynamisch vast te stellen. Het is mij met succes gelukt een oude 512MB disk, een 4GB, een 8GB en zelfs een 100MB IDE Zipdisk als de tweede disk te gebruiken. Allen werden door de BIOS automatisch herkend.

Herstart het systeem en ga terug naar Linux. Zelfs al zijn er nu ten minste twee besturingssystemen geïnstalleerd, deze LILO is alleen bekend met de oorspronkelijke Linux en zou er automatisch in moeten booten. Bekijk het bootproces en je zou een melding moeten zien dat een disk automatisch wordt geïdentificeerd. Controleer zodra geboot met dmesg voor de zekerheid dat Linux de tweede disk herkent.

Zodra je hiermee klaar bent, moet je LILO op de eerste disk herconfigureren om het van de tweede disk op de hoogte te brengen. Hier zijn twee verschillende lilo.conf bestanden, één voor SCSI/IDE en een andere voor een IDE/IDE systeem. Beiden hebben een aantal sterke en zwakke kanten...

# lilo.conf bestand voor een interne SCSI-disk en een verwijderbare disk
# geconfigureerd als een master op de primaire IDE-connectie

disk = /dev/sda         #  Deze vier regels zijn noodzakelijk om 
   bios = 0x80          #  de SCSI heringedeeld te krijgen als de
disk = /dev/hda         #  primaire drive zelfs als het in de BIOS als het
   bios = 0x81          #  bootdevice is geselecteerd. Dit is wellicht een
                    #  specifiek probleem van de BIOS.   
   
# Zonder deze regels krijg je van LILO de volgende foutmeldingen:
#  
#  LILO version 21, Copyright 1992-1998 Werner Almesberger
#
# ading boot sector from /dev/sda
# Warning: /dev/sda is not on the first disk
# en LILO blijft of hangen bij LI of blijft eindeloze "01 "'en over het scherm
# herhalen

boot=/dev/sda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.2.12-20smp
   label=Linux
   root=/dev/sda1
   initrd=/boot/initrd-2.2.12-20smp.img
   read-only
other = /dev/hda
# other = /dev/hda is het sleutelelement. In plaats van lilo door te
# verwijzen naar een specifieke partitie, wordt het doorgestuurd naar
# de MBR op de tweede disk. Zo hoeft LILO niet te weten over de tweede
# disk en kunnen we deze tweede disk door een andere vervangen omdat
# LILO ongeacht welke specifieke disk is geïnstalleerd altijd naar
# dezelfde plaats gaat. LILO was de enige bootloader
# die ik kon vinden die dit deed.
   label = Disk2
   map-drive = 0x80
      to = 0x81
   map-drive = 0x81
      to = 0x80
# De map-drive regels zijn nodig om de tweede disk te laten denken dat het
# in werkelijkheid de bootdisk is


# lilo.conf bestand voor een systeem met twee IDE-drives. Beiden zijn ingesteld
# als master, /dev/hda op de primaire connector en /dev/hdc op de secundaire.
# /dev/hdb is een CDROM slave aangesloten op de primaire IDE connector.
# disk = /dev/hda       # Deze regels zijn voor de IDE/IDE installatie niet nodig
#    bios = 0x80        # omdat de BIOS al op de hoogte is van de volgorde
# disk = /dev/hdc       
#    bios = 0x81
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.2.5-15
        label=linux
        root=/dev/hda4
        read-only
other = /dev/hdc
# other = /dev/hdc is weer de sleutel. Hiermee wordt LILO gewoon doorgestuurd
# naar de MBR van de tweede disk. Wat daar dan ook is, dat krijgt de controle.
   label = Disk2
   map-drive = 0x80
      to = 0x81
   map-drive = 0x81
      to = 0x80

De /dev, boot, map en image regels zijn specifiek voor het systeem en de jouwe zullen waarschijnlijk anders zijn dan die van mij. De regels in je initiële /etc/lilo.conf bestand zouden je een accurate leidraad voor je systeem moeten geven. Ik kopieerde het "Linux" record vanuit het oorspronkelijke bij de installatie gegenereerde lilo.conf bestand direct in het nieuwe lilo.conf. Hiermee zou je in "Linux" moeten kunnen booten en lilo.conf kunnen aanpassen zelfs als het "Disk2" record totaal mislukt.

Tenslotte start je lilo -vvv op zodat je zeker weet dat het er mee eens is wat je probeert te doen.

7. Kosten en weetjes:

7.1 Kosten

Ik trof een frame aan en 1 drager voor een verwijderbare drive mount voor $20.00. Het is de "SNT MOBILE RACK". Disks kosten me niets omdat ik verscheidene oude of kleine IDE drives had liggen die over waren van het upgraden, enz. Zelfs als je ze moet kopen, zijn 2GB IDE-drives goedkoop.

7.2 Weetjes

1. Zodra je hebt besloten dat je verwijderbare drive een master of slave zal zijn, controleer dan of de jumper juist geplaatst is voordat je het vastmaakt in zijn behuizing. Als je deze stap vergeet, kan het een tijdje duren eer je bootproblemen terug herleidt naar een onjuiste jumperinstelling.

2. Zorg ervoor dat de O/S installatieroutines ALLEEN de drive waarop ze installeren kunnen zien. RedHat weigerde me LILO te laten installeren naar de SCSI MBR toen het de IDE-drive kon zien. Dus om naar een interne SCSI drive te kunnen installeren, moest ik de IDE drive fysiek verwijderen. Om naar de IDE-drive te installeren moest ik de SCSI-ondersteuning in de BIOS deactiveren.

3. Als een O/S installatieroutine je vertelt dat het AL je drives gaat repartitioneren en ALLES gaat overschrijven, neem dit dan aan.

4. Een IDE kabel is heel gemakkelijk achterstevoren te installeren.

5. Ik teste alleen een IDE master/master setup. Ik ben er niet zeker van hoe een master/slave zou kunnen werken.

6. Het installeren van de verwijderbare diskframe vereist het openen van de computerbehuizing. Als je je hier niet comfortabel bij voelt haal er dan een vriend bij om je te helpen.

7. Als je de verwijderbare disk in de BIOS instelt op een specifiek disktype werkt het prima totdat je het door een andere disk vervangt van een ander type. Je krijgt dan foutmeldingen of waarschuwingen en wellicht boot het systeem dan niet.

8. Plan alles van te voren

9. Met een kleine wijziging in de BIOS, wordt de tweede disk je bootdisk. Dit betekent dat je een volledig functioneel O/S beschikbaar kunt hebben op een disk voor noodgevallen/hersteloperaties.