Multiboot con GRUB Mini-HOWTO

Ivan Kanis, [1]ivank@juliva.com

   v1.0, 2001-01-15
     _________________________________________________________________

   Questo documento descrive come installare Windows 98, Windows 2000,
   DOS e Linux utilizzando GRUB. Traduzione a cura di [2]Luca Mayer.
   Revisione a cura di Simone Stevanin (simone at pluto.it)
     _________________________________________________________________

1. [3]Perché?

2. [4]Procedura di installazione

     * 2.1 [5]Preparare i floppy di avvio
     * 2.2 [6]Installare Linux
     * 2.3 [7]Installare GRUB
     * 2.4 [8]Installare Windows 2000:
     * 2.5 [9]Installare DOS
     * 2.6 [10]Installare Windows 98
     * 2.7 [11]Il tocco finale

3. [12]Riferimenti

4. [13]Commenti
     _________________________________________________________________

1. [14]Perché?

   Volevo essere in grado di avviare tutti i sistemi operativi senza
   dover attraversare molteplici menu. Sapevo di poter installare NT
   sopra Win9x e quest'ultimo sopra DOS. Al fine di avviare DOS, però,
   avrei dovuto passare attraverso il menu di NT e poi attraverso quello
   di Win9x. Volevo essere in grado di avviare tutti questi sistemi
   operativi in una volta sola.

   Questo è risultato essere una sfida. Il problema con sistemi operativi
   Microsoft è che richiedono di essere avviati da una partizione
   primaria. GRUB entra in gioco a questo punto. Esso infatti può
   nascondere le partizioni primarie. Si possono usare fino a 3
   partizioni per installare sistemi operativi Microsoft: GRUB nasconderà
   le altre 2 partizioni in modo che i sistemi operativi non possano
   vederle. Allo stesso tempo però, questo implica che avrete bisogno di
   un'altra partizione per condividere i dati tra DOS, Win9x e Windows
   2000. La quarta partizione sarà utilizzata come partizione estesa.

   Volevo anche un sistema basato su menu e GRUB ne fornisce uno carino.

   Un'altra caratteristica apprezzabile di GRUB è che supporta Reiserfs e
   quindi non è necessario mantenere i file della directory /boot in una
   partizione ext2 separata.

2. [15]Procedura di installazione

2.1 [16]Preparare i floppy di avvio

   Sono necessari 3 floppy disk. Trasformate il primo floppy in un disco
   di avvio di DOS. Copiate fdisk.exe e sys.exe su questo floppy.


FORMAT /S A:
COPY FDISK.EXE A:
COPY SYS.EXE A:

   Utilizzate il secondo floppy per creare un disco di emergenza di
   Windows 98. Il terzo disco verrà utilizzato per GRUB.

2.2 [17]Installare Linux

   Installate la vostra distribuzione Linux preferita. Durante questa
   operazione avrete bisogno di utilizzare fdisk per partizionare il
   vostro disco fisso: calcolate in anticipo quanto spazio su disco verrà
   occupato da ogni sistema operativo.

   Io ho partizionato il mio disco fisso come segue:


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

   La prima partizione verrà utilizzata per avviare Windows 2000. 10 MB
   dovrebbero essere più che sufficienti per far ciò. Questa partizione
   dovrà contenere solo i file necessari per avviare NT come boot.ini,
   ntldr, ntdetect.com, etc. NT risiederà, nel mio esempio, nella
   partizione 6. Questa partizione è di tipo Hidden FAT16.

   La seconda partizione conterrà DOS. Ritengo 100 MB sufficienti. Anche
   questa è di tipo FAT16.

   La terza partizione è per Win9x. Ha una dimensione di 5 GB e è di tipo
   FAT32 per migliorare le performance.

   Successivamente, create la partizione estesa con tutto lo spazio
   rimanente del vostro disco fisso. Questa verrà mostrata da fdisk come
   la partizione 4.

   Create una partizione di 2 GB. Questa partizione verrà utilizzata per
   condividere i dati tra tutti i sistemi operativi. Verificate che la
   somma di tutte le partizioni sopra citate sia inferiore agli 8 GB.
   Questa è una limitazione del DOS.

   Create poi la vostra partizione Windows 2000. Nell'esempio èdi 10 GB
   dato che questa versione di Windows richiede molto spazio. Per ragioni
   di velocità ho creato questa partizione di tipo HPFS/NTFS.

   Successivamente, aggiungete le vostre partizioni di swap e di Linux.
   Assicuratevi di non avere una partizione separata per /boot. Le cose
   in GRUB vanno meglio se mantenete /boot nella partizione root.

   Dopo aver installato Linux continuate formattando le partizioni FAT16:


mkdosfs /dev/hda1
mkdosfs /dev/hda2
mkdosfs /dev/hda6

2.3 [18]Installare GRUB

   Assicuratevi di avere l'ultima versione di GRUB. Nel mio caso sto
   utilizzando la versione 0.5.96.1. La versione fornita con la mia
   distribuzione è datata e mi ha dato molti problemi. L'ultima versione
   può essere scaricata da http://www.fsf.org.

   Ora dovete installare GRUB sul floppy disk. Non dovete installarlo sul
   vostro disco fisso perchè Windows 2000 lo sovrascriverebbe.


grub-install '(fd0)'

   Create il file menu.lst per GRUB. Questo file si trova in /boot/grub.


#
# Sample boot menu configuration file
#

# Boot automatically after a minute.
timeout 60

# By default, boot the second entry.
default 1

# Fallback to the first entry.
fallback 0

title Windows 2000
unhide (hd0,0)
hide (hd0,1)
hide (hd0,2)
rootnoverify (hd0,0)
chainloader +1
makeactive

# For booting 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

# For booting 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

   Verificate di poter avviare Linux con il floppy disk. Se avete dei
   problemi, potete entrare nella linea di comando di GRUB e verificare
   cosa sta succedendo. GRUB è ha una buona documentazione, se siete in
   difficoltà potete consultarla.

2.4 [19]Installare Windows 2000:

   Ho dovuto inizializzare la prima partizione prima di installare
   Windows 2000. Inserite il disco di avvio di DOS e riavviate il vostro
   computer. Dopo aver ottenuto il prompt di DOS, digitate quanto segue:


FDISK /MBR
SYS C:

   Ora potete proseguire ed installare Windows 2000. Ad un certo punto
   Windows 2000 vi chiederà su quale partizione volete che sia
   installato. La partizione che avete creato con fdisk potrebbe essere
   mostrata come danneggiata o non formattata. Continuate e
   selezionatela.

   Per nascondere il menu di Windows 2000, modificate il file chiamato
   boot.ini che dovrebbe trovarsi nel disco C:. Cambiate il valore di
   timeout da 30 a 0.


[boot loader]
timeout=0
default=multi(0)disk(0)rdisk(1)partition(1)\WINNT
[operating systems]
...

2.5 [20]Installare DOS

   Inserite il disco di GRUB. Quando compare il menu, inserite il disco
   di avvio di DOS. Selezionate la partizione 2 (floppy) nel menu.
   Premete enter. Questo avvierà il floppy disk e nasconderà la
   partizione 1 e 3.

   Eseguite FDISK e verificate che il drive C: corrisponde alla
   partizione 2. Fatto ciò installate DOS:


SYS C:

2.6 [21]Installare Windows 98

   Inserite il disco di GRUB. Alla visualizzazione del menu inserite il
   disco di emergenza di Windows 98. Selezionate la partizione 3 (floppy)
   nel menu. Premete enter. Questo avvierà il floppy disk e nasconderà le
   partizioni 1 e 2.

   Eseguite FDISK e verificate che il disco C: corrisponda alla
   partizione 3. Fatto ciò installate Windows 98:


SYS C:

2.7 [22]Il tocco finale

   Verificate che tutto funzioni correttamente da GRUB.

   Dovreste essere in grado di avviare tutti e 4 i sistemi operativi dal
   floppy disk di GRUB.

   Se tutto sembra corretto, potete procedere ed installare GRUB sul
   vostro disco fisso. Da Linux digitate:


grub-install /dev/hda

   Ora dovreste essere in grado di avviare tutti e 4 i sistemi operativi
   dal menu di GRUB. Buon divertimento!

3. [23]Riferimenti

   Ho trovato questi link molto utili durante la configurazione del mio
   sistema.
     * [24]GNU GRUB
     * [25]The Linux-DOS-Win95-OS2 mini-HOWTO

4. [26]Commenti

   Mi piacerebbe che mi comunicaste la vostra esperienza (buona o
   cattiva) con questo documento. Se avete suggerimenti per l'aggiunta di
   altri SO, per favore inviateli a [27]me in modo che possa aggiungerli
   al documento.