Managing Multiple Operating Systems HOWTO

Robert W. Schultz v0.4, 17 Febbraio 2000

Questo HOWTO tratta le procedure per l’utilizzo di dischi fissi removibili allo scopo di installare e gestire più sistemi operativi, fra loro alternativi, mantenendo nel contempo un singolo disco fisso che permanentemente contenga e protegga il sistema operativo primario. Il tutto è decisamente scalabile e offre al sistema operativo primario un buon grado di protezione e un ambiente di dischi stabile. Traduzione a cura di Angelo Tata Ildp at Siena Linux User Group .

Indice

1 Introduzione 1 1.1 Copyright . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Nuove versioni di questo HOWTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Intento e scopi: 2

3 Contesto: 3

4 Requisiti di sistema: 3

5 Come funziona (uno scenario): 4

6 L’installazione: 4 6.1 Installare il sistema operativo primario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 6.2 Installare sistemi operativi alternativi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 6.3 Configurazione finale del BIOS e di LILO: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

7 Costo e suggerimenti: 7 7.1 Costo: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7.2 Suggerimenti: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1 Introduzione

1.1 Copyright

Copyright (c) 2000 by Robert W. Schultz. Please freely copy and distribute (sell or give away) this document in any format. It’s requested that corrections and/or comments be forwarded to the document maintainer. You may create a derivative work and distribute it provided that you:

1.Send your derivative work (in the most suitable format such as sgml) to the LDP (Linux Documentation Project) or the like for posting on the Internet. If not the LDP, then let the LDP know where it is available.

2.License the derivative work with this same license or use GPL. Include a copyright notice and at least a pointer to the license used.

3.Give due credit to previous authors and major contributors.

If you’re considering making a derived work other than a translation, it’s requested that you discuss your plans with the current maintainer.

1.2 Nuove versioni di questo HOWTO

Nuove versioni del Managing Multiple Operating Systems HOWTO saranno disponibili per la consultazione e/o lo scaricamento sui mirror di LDP. Per una lista dei mirror vedi:

http://metalab.unc.edu/LDP/mirrors.html .

Sono disponibili vari formati. Se volete soltanto controllare velocemente la data dell’ultima versione date un’occhiata a

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

e confrontatelo con questa versione: v0.4, 17 Febbraio 2000.

1.3 Feedback

Inviate per favore domande, commenti e suggerimenti a (Robert W. Schultz). Sono più che disposto ad aiutare chiunque abbia problemi direttamente collegati con questo HOWTO e gradirò qualunque suggerimento riguardante cambiamenti/modifiche e/o miglioramenti. Tuttavia, avendo configurato il mio sistema in maniera per me soddisfacente, questo HOWTO non sarà significativamente migliorato senza suggerimenti da parte dei lettori.

2 Intento e scopi:

L’intento di questo HOWTO è di descrivere una metodologia per la gestione di più sistemi operativi su di un singolo computer. È mirato a quegli utenti di Linux che hanno una minima familiarità con l’installazione sia di Linux che di LILO. Non c’è niente di particolarmente complesso qui ma, considerando il tempo necessario ad installare un qualunque sistema operativo, il tutto può essere piuttosto lungo.

E’ diverso da altri metodi nel fatto che non richiede la presenza di più sistemi operativi sul disco di avvio. Usa invece un disco fisso interno contenente un singolo sistema operativo primario e un insieme di dischi removibili con uno o più sistemi operativi installati su ciascuno di essi. Se dovete assolutamente avere due, tre o quattro sistemi operativi differenti su un solo disco e state tentando di farli convivere, questo HOWTO non è per voi.

I suoi obiettivi specifici sono:

* - Un disco primario/operativo che una volta configurato ed installato viene modificato di rado. Si intende con questo il non doverlo ripartizionare o modificare in qualche altro modo.

* - Selezione immediata, all’avvio, tra più sistemi operativi alternativi senza dover effettuare più di una o due scelte da menu.

* - Nessun bisogno di modificare il BIOS, LILO o qualunque altra configurazione per accedere ad un sistema operativo una volta che è installato.

* - Semplice aggiunta/rimozione di sistemi operativi a seconda delle necessità contingenti.

* - Sistema scalabile ed economico che consente di avere un numero crescente di sistemi operativi, o versioni differenti, man mano che passa il tempo.

Credo di aver soddisfatto a meraviglia i primi tre requisiti. Siete liberi di formarvi le vostre opinioni sugli ultimi due.

3 Contesto:

Anche se Linux sta diventando sempre più user-friendly e sta venendo ampiamente accettato, molti di noi hanno ancora bisogno di aver accesso ad altri sistemi operativi. Io uso Linux il 75% del tempo ma ho ancora bisogno di usare Win 9x per quelle poche applicazioni per le quali non ho trovato alternative accettabili in Linux. Mia moglie usa MS Office al lavoro e vuole poterlo usare a casa. Altre persone vogliono poter utilizzare S/O alternativi solo per divertimento, per far pratica, o per tenersi aggiornati col proprio lavoro.

Tendo a trattare nuovi S/O come si farebbe con un gioco; in effetti non li uso per alcunchè di produttivo, ma installarli e imparare a controllarli è per me altrettanto stimolante di Quake o SimCity. Inoltre, essendo un informatico, mi tiene aggiornato sull’evoluzione della tecnologia e al lavoro mi ha aiutato a risolvere un mucchio di problemi. Ad ogni modo, per nuovi utenti Linux, professionisti dell’informatica, e coloro che stanno semplicemente provando a migrare da un sistema operativo ad un altro, credo che l’utilizzo di più sistemi operativi sia la norma piuttosto che l’eccezione.

4 Requisiti di sistema:

BIOS - Qualunque BIOS che consenta l’identificazione automatica della geometria di un disco e permetta di selezionare la sequenza di dispositivi da cui avviare dovrebbe andar bene. Ho messo in piedi sistemi basati sia su PhoenixBIOS 4.0 che su AMI Plug and Play Flash BIOS.

DISCHI - Un disco fisso interno dedicato a Linux. (primo disco) Un supporto per dischi removibili, con un qualunque numero di dischi. (secondo disco)

Dal momendo che gran parte di questo HOWTO ha a che fare con dischi, da qui in poi userò in genere i termini primo disco e secondo disco. Il primo disco è quello cui si accede inizialmente all’accensione della macchina, comunemente noto come disco di avvio. Ha LILO installato nel MBR ed è dedicato ad un unico sistema operativo, specificamente Linux. Il secondo disco è un disco removibile che contiene uno o più sistemi operativi alternativi che possono o meno avere un boot loader nel MBR o altrove.

Non ci sono altri requisiti hardware/firmware. Qualunque altro requisito sarebbe imposto dal particolare sistema operativo. Ad esempio, anche se potreste riuscire ad installarlo, Solaris 7 non girerà bene su un vecchio computer a 90Mhz! La configurazione e la metodologia qui descritte dovrebbero comunque funzionare bene a prescindere dalla velocità della CPU o da altre periferiche installate.

Sistemi operativi - Ho sperimentato questo processo con Linux (Redhat e Suse), Solaris 7, BeOS, Win 98 e persino MSDOS 6.22. Non vedo alcun motivo per cui non dovrebbe funzionare con Win 95, O/S 2, o FreeBSD. Non ho familiarità con Windows NT o 2000 per cui non so come reagirebbero a questo tipo di configurazione.

Boot loader: Ho usato LILO sul primo disco e bootman del BeOS sugli altri dischi. Ho usato LILO sul primo disco perché era l’unico boot loader che mi consentiva di selezionare l’MBR del secondo disco come partizione di avvio valida. Qualunque boot loader relativamente efficace dovrebbe funzionare sul secondo disco.

5 Come funziona (uno scenario):

Prima dell’accensione, inserisco un disco nel secondo drive, con un sistema operativo precaricato. Quando accendo la macchina, mi viene presentato il prompt del LILO (e premendo <tab>) con Linux e Disk2 come opzioni. Linux è l’opzione di default e partirebbe automaticamente se io non facessi niente. Quando viene selezionata, l’opzione Disk2 avvia direttamente il singolo S/O presente sul secondo disco o mi presenta un secondo menu di avvio se c’è più di un S/O su quel disco. Se spengo tutto, sostituisco il secondo disco con un altro e riaccendo, mi viene presentato ancora il menu iniziale Linux/Disk2 e, se seleziono Disk2, un nuovo menu a seconda del nuovo disco inserito. Una volta installato, non ho mai bisogno di modificare la configurazione del LILO sul primo disco, non ho mai bisogno di modificare le impostazioni del BIOS per avviare dal secondo disco e non devo mai selezionare da più di due menu per far partire il S/O da me selezionato.

6 L’installazione:

L’installazione consta di tre parti distinte, delle quali la prima è l’installazione e configurazione del S/O primario sul suo drive dedicato. La seconda è la configurazione, su un altro disco, del sistema operativo alternativo che avete scelto. Infine, bisogna riconfigurare il BIOS e LILO affinchè supportino entrambi i dischi.

6.1 Installare il sistema operativo primario

L’installazione del S/O primario/operativo è abbastanza immediata. Trattate il sistema come se fosse un sistema a drive singolo dedicato a Linux. Fate riferimento alla documentazione allegata alla vostra distribuzione oppure a

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

per i dettagli sull’installazione di Linux.

Dal momento che questa è, in definitiva, un’installazione a più dischi, ci sono alcuni passi che bisogna fare per indurre le routine di installazione a credere, durante il processo di installazione, che sia un sistema con un unico disco.

In primo luogo, togliete il disco removibile e accertatevi che l’altro disco sia identificato dal BIOS come disco di avvio secondario (dopo il floppy). Il programma di installazione del sistema operativo dovrebbe vedere un solo disco, quello che state usando per l’installazione. In questo modo, non ci sono dubbi riguardo a dove venga installato. Inoltre installerà tutto in maniera appropriata per un sistema con un unico disco.

Quando vi verrà richiesto, fate usare al programma di installazione l’intero disco per il vostro sistema operativo. Io ho accettato le opzioni di partizionamento di default della RedHat e ho installato il LILO generico nel MBR.

Una volta completata l’installazione, spegnete e riavviate il computer per avere conferma che il vostro sistema funzioni. A questo punto dovreste avere una macchina pienamente funzionante su cui si avvia direttamente Linux.

6.2 Installare sistemi operativi alternativi

Ora che avete un sistema pienamente operativo, potete andare avanti nella configurazione di un secondo disco col vostro sistema operativo alternativo.

Scegliete uno o due sistemi operativi da installare sul secondo disco. Per il mio test iniziale ho scelto, per nessuna ragione particolare, Windows 98 e BeOS . Ho diviso un disco da 8 Gb in due partizioni primarie da 4 Gb e ho installato Windows 98 nella prima partizione e BeOS nella seconda.

Portate avanti questa installazione esattamente come avete fatto per la prima. Disabilitate il primo disco dal BIOS così che il programma di installazione non lo veda nemmeno. Questo è molto importante. Se potete rimuovere fisicamente il primo disco, o disconnetterlo, fatelo! Durante la seconda installazione questo metterà il vostro sistema primario al riparo da ogni vostro errore e da sistemi operativi eccessivamente avidi che richiedano il controllo di tutti i dischi che vedono. Se in futuro deciderete di configurare un altro disco removibile ricordatevi di ripetere questo passaggio.

Fatto questo, installate i sistemi operativi che avete scelto come se fosse un sistema con un unico disco.

Se state installando sul secondo disco un solo sistema operativo, è sufficiente inserire il disco di installazione e lasciarlo fare. Windows 95 o 98 o praticamente qualunque altro sistema operativo, incluso Linux, dovrebbero portare a buon fine l’installazione così. Consentite a Windows 9x di scrivere nel MBR. Se state installando Linux, scegliete di installare LILO nel MBR.

Io ho deciso di installare due sistemi operativi sul secondo disco così da poter verificare la funzionalità dell’avere più boot loader uno dopo l’altro.

Ho installato prima Windows 98, perché sovrascrive automaticamente il MBR e avrebbe sovrascritto qualunque boot loader ci avessi installato. Poi ho installato BeOS nella seconda partizione e ho lanciato bootman, il boot loader del BeOS. L’ho usato per costruire un menu di avvio per il secondo disco ed ho intenzionalmente sovrascritto il MBR impostato da Windows 98.

Non era essenziale usare bootman, avrei potuto utilizzare qualunque boot loader che si installasse nel MBR, ma era disponibile e funziona piuttosto bene.

Riavviate di frequente per accertarvi che tutto funzioni a dovere come sistema a disco singolo. Personalmente ho riavviato dopo l’installazione di ciascun S/O per essere sicuro che funzionasse, e anche per verificare il funzionamento del menu di avvio del boot loader.

6.3 Configurazione finale del BIOS e di LILO:

Successivamente riconfigurate il BIOS in maniera che riconosca nuovamente il primo disco come disco di avvio (ricollegatelo fisicamente se prima l’avevate disconnesso) e fate in modo che riconosca il secondo disco. Il modo in cui effettuare queste operazioni dipende molto dal vostro sistema, dal BIOS e dal fatto che abbiate una configurazione SCSI/IDE o IDE/IDE. Non ho provato una configurazione SCSI/SCSI perché i dischi SCSI e i supporti per dischi SCSI removibili sono decisamente più costosi dei corrispondenti IDE. Volevo una certa performance per il mio sistema operativo primario ma potevo accettare scelte più a buon mercato per gli altri.

Assicuratevi che per il secondo disco il tipo di disco sia Auto o Automatico. In questo modo il BIOS sarà forzato a determinare dinamicamente il tipo di disco al momento dell’avvio. Sono riuscito a utilizzare con successo come secondo disco un vecchio disco da 512 Mb, uno da 4 Gb, uno da 8 Gb e persino uno Zip IDE da 100 Mb. Tutti riconosciuti automaticamente dal BIOS.

Riavviate il sistema e tornate a Linux. A questo punto, nonostante ci siano almeno due sistemi operativi installati, questo LILO è configurato solo per il Linux originale e dovrebbe avviarlo automaticamente. Osservate il processo di avvio e dovreste vedere un messaggio riguardante l’identificazione automatica di un disco. Una volta avviato, verificate con dmesg che Linux abbia riconosciuto il secondo disco.

Fatto questo dovete riconfigurare LILO sul primo disco per rendergli nota la presenza del secondo disco. Qui di seguito ci sono due differenti file lilo.conf, uno per un sistema SCSI/IDE e l’altro per un IDE/IDE. Ciascuno ha i suoi punti di forza e le sue debolezze...

# lilo.conf per un disco interno SCSI e un disco removibile
# configurato come master sul connettore IDE primario
disk = /dev/sda         #  Queste quattro linee sono necessarie
   bios = 0x80          #  per far si' che il disco SCSI venga
disk = /dev/hda         #  identificato come drive primario anche
   bios = 0x81          #  se è selezionato nel BIOS come dispositivo
                                        #  di avvio. Questo potrebbe essere un
                                        #  problema specifico del BIOS.
# Senza queste righe il LILO darà gli errori seguenti:
#
#  LILO version 21, Copyright 1992-1998 Werner Almesberger
#
# ading boot sector from /dev/sda
# Warning: /dev/sda is not on the first disk
# E LILO si blocca a LI oppure scrive a oltranza "01 " sullo schermo
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 è l'elemento chiave. Invece di reindirizzare LILO ad una
# partizione specifica, lo rimanda al MBR del secondo disco.
# In questo modo, LILO non ha bisogno di sapere nulla del secondo disco e,
# dal momento che punterà sempre allo stesso posto a prescindere dal disco
# installato, possiamo rimpiazzarlo con un altro. LILO è l'unico boot manager
# da me trovato in grado di far questo.
   label = Disk2
   map-drive = 0x80
      to = 0x81
   map-drive = 0x81
      to = 0x80
# Le righe con la dicitura map-drive sono necessarie per far credere
# al secondo disco di essere effettivamente il disco di avvio.

# lilo.conf per un sistema con due dischi IDE.  Entrambi sono configurati come master,
# /dev/hda sul connettore primario e /dev/hdc su quello secondario.
# /dev/hdb è un CDROM configurato come slave sul connettore IDE primario.
# disk = /dev/hda       # Queste linee non sono necessarie
#    bios = 0x80        # per un'installazione IDE/IDE perché il BIOS

# disk = /dev/hdc       # sa già in che ordine sono i dischi
#    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 è nuovamente la chiave. Rimanda LILO al MBR
# del secondo disco. Viene passato il controllo a qualunque cosa sia lì.
   label = Disk2
   map-drive = 0x80
      to = 0x81
   map-drive = 0x81
      to = 0x80

Le voci /dev, boot, map e image sono specifiche per ciascun sistema e probabilmente le vostre saranno diverse dalle mie. Le voci nel vostro /etc/lilo.conf di partenza dovrebbero fornirvi una guida accurata per il vostro sistema. Personalmente ho copiato la voce Linux dal file lilo.conf originale, generato dall’installazione, direttamente nel nuovo lilo.conf. Questo dovrebbe permettervi di avviare il sistema con Linux e modificare lilo.conf anche nel caso in cui la voce Disk2 non funzioni per niente.

Infine, eseguite il comando lilo -vvv per accertarvi che non vi siano errori in quello che state cercando di fare.

7 Costo e suggerimenti:

7.1 Costo:

Ho trovato un supporto per dischi removibili e una guida a 20$. E’ il SNT MOBILE RACK. I dischi non mi sono costati nulla perché avevo diversi vecchi o piccoli dischi IDE in giro, in seguito a aggiornamenti, e così via. Anche se dovete acquistarli, i dischi da 2 Gb sono a buon mercato.

7.2 Suggerimenti:

1. Una volta che decidete se il vostro disco removibile dev’essere configurato come master o come slave, impostate correttamente i ponticelli prima di fissarlo al suo supporto. Se ve ne dimenticate, far risalire eventuali problemi di avvio a un errata impostazione dei ponticelli può richiedere diverso tempo.

2. Accertatevi che le routine di installazione di un S/O possano vedere SOLO il drive sul quale stanno eseguendo l’installazione. La RedHat si è rifiutata di lasciarmi installare LILO nel MBR SCSI se poteva vedere il drive IDE. Per cui, al fine di effettuare l’installazione su un drive SCSI interno, ho dovuto rimuovere fisicamente l’IDE. Per effettuare l’installazione su di un IDE, ho dovuto disabilitare nel BIOS il supporto SCSI.

3. Se il programma di installazione di un S/O vi dice che sta per ripartizionare TUTTI i vostri drive sovrascrivendo TUTTO, credeteci.

4. E’ molto facile collegare un cavo IDE a rovescio.

5. Ho sperimentato unicamente una configurazione IDE master/master. Non sono sicuro di come funzionerebbe una configurazione master/slave.

6. Installare il supporto per il disco removibile richiede l’apertura del case del computer. Se non siete pratici di questo, trovate un amico che vi aiuti.

7. Se impostate nel BIOS il disco removibile a uno specifico tipo di disco funzionerà a dovere finché non lo rimpiazzate con un disco di tipo diverso. A questo punto avrete messaggi d’errore o avvertimenti e il sistema potrebbe non avviarsi.

8. Pianificate ogni cosa in anticipo.

9. Con una rapida modifica nel BIOS, il secondo disco diventa il vostro disco d’avvio. Questo significa che potete avere un S/O pienamente funzionante da usare come disco di emergenza/ripristino.