---------------------------------------------------------------------------- GRUB Multiboot Mini-HOWTO ---------------------------------------------------------------------------- Author: paolopal (Paolo Palmieri) Version: 1.0 Release: December 28, 2001 Language: Italiano ---------------------------------------------------------------------------- Questo documento descrive come installare e avviare Microsoft Windows9x (Win9x), Microsoft Windows2000 (Win2000), MS-DOS (Dos) e Linux (Linux) utilizzando il programma GRUB. ---------------------------------------------------------------------------- 1. Introduzione ---------------------------------------------------------------------------- Lo scopo e' quello di effettuare l'avvio di piu' Sistemi Operativi sullo stesso Personal Computer utilizzando un unico menu' di accesso. Tipicamente e' possibile installare Win2000 dopo aver installato Win9x, che a sua volta e' stato installato dopo il Dos: per avviare una sessione Dos bisogna passare prima per il menu' di Win2000 e poi per il menu' di Win9x. Si vuole di seguito descrivere come sia possibile avviare direttamente i singoli Sistemi Operativi e come sia anche possibile farli convivere con Linux. Il problema dei Sistemi Operativi di Microsoft e' che essi vogliono tutti partire dalla partizione primaria. Questo e' cio' di cui GRUB e' capace: esso puo' sistematicamente nascondere partizioni primarie. E' possibile utilizzare fino a 3 partizioni per installare i Sistemi Operativi di Microsoft, GRUB provvedera' a nascondere le altre due partizioni affinche' i Sistemi Operativi non le vedano. Questo significa che bisogna avere a disposizione un'altra partizione per condividere i dati tra Dos, Win9x, Win2000 e Linux. La quarta partizione e' utilizzata per la partizione estesa. Inoltre, GRUB fornisce sia un semplice sistema a menu' che la possibilita' di non dover creare una partizione ext2 esplicitamente dedicata ai file di /boot. ---------------------------------------------------------------------------- 2. Procedura d'Installazione ---------------------------------------------------------------------------- 2.1. Preparazione dei dischetti di avvio Si devono preparare 3 dischetti; il primo deve essere un disco di avvio Dos. Copiare fdisk.exe e sys.exe su questo dischetto: FORMAT /S A: COPY FDISK.EXE A: COPY SYS.EXE A: Utilizzare il secondo floppy per fare un dischetto di Emergenza per Windows 9x. Preservare il terzo dischetto per l'utilizzo come GRUB boot disk. 2.2. Installazione di Linux Installare la distribuzione preferita di Linux. Bisogna utilizzare fdisk per partizionare il proprio hard disk. Calcolare preventivamente l'ammontare di spazio sull'hard disk da destinare ai diversi Sistemi Operativi che si vuole installare. Di seguito e' riportato come ho partizionato i miei hard disk: Dispositivo Avvio Inizio Fine Blocchi Id Sistema /dev/hda1 * 1 6 48195 16 FAT16 Nascosto /dev/hda2 7 19 104422+ 16 FAT16 Nascosto /dev/hda3 20 280 2096451 1b Win95 FAT32 Nascosto /dev/hda4 281 1582 10458315 f Win95 Ext'd (LBA) /dev/hda5 281 800 4176868+ 7 HPFS/NTFS /dev/hda6 801 1582 6281383+ b Win95 FAT32 Dispositivo Avvio Inizio Fine Blocchi Id Sistema /dev/hdc1 * 1 504 3810208+ 83 Linux /dev/hdc2 505 557 400680 82 Linux swap Il dispositivo /dev/hda (HDA) e' un hard disk montato sul controller primario master EIDE e il dispositivo /dev/hdc (HDC) e' un hard disk montato sul controller secondario master EIDE. E' lo stesso se si dispone di un solo hard disk: Dispositivo Avvio Inizio Fine Blocchi Id Sistema /dev/hda1 * 1 6 48195 16 FAT16 Nascosto . . . . . . . . . . . . /dev/hda7 1583 2086 3810208+ 83 Linux /dev/hda8 2087 2139 400680 82 Linux swap La prima partizione serve per l'avvio di Win2000: 48MB sono piu' che sufficienti per questo. Questa partizione conterra' solamente i file necessari per l'avvio di Win2000 come boot.ini, ntldr, ntdetect.com, etc... Win2000 risiedera', nel mio esempio, nella partizione 5. Questa partizione e' di tipo FAT16 Nascosto. La seconda partizione serve per il Dos: ho ritenuto 104MB sufficienti. Anche questa partizione e' di tipo FAT16 Nascosto. La terza partizione e' per Win9x. Ho dato ad essa 2,1GB e l'ho resa Win95 FAT32 per ottenere migliori performance e minor dimensione dei cluster. La partizione successiva e' una partizione estesa che occupa il resto del disco rigido, l'ho resa Win95 Ext'd (LBA) al fine di ottenere le migliori prestazioni possibili. Viene mostrata da fdisk come partizione 4. La quinta partizione e' di Win2000, le ho dato 4,2GB poiche' Win2000 e' affamato di risorse. L'ho resa una partizione HPFS/NTFS per migliorare la velocita' e la sicurezza. La partizione successiva ha una dimensione di 6,3GB. Questa partizione e' utilizzata per condividere i dati tra i diversi Sistemi Operativi, l'ho resa Win95 FAT32 per ottenere migliori performance e minor dimensione dei cluster. NOTA: Se si vuole utilizzare questa partizione dal Dos bisogna invertire la partizione 5 con la partizione 6. Assicurarsi, inoltre, che la somma delle dimensioni delle prime 5 partizioni sia inferiore a 8GB. Questa e' una limitazione del Dos. Ad esempio: Dispositivo Avvio Inizio Fine Blocchi Id Sistema . . . . . . . . . . . . /dev/hda4 281 1582 10458315 5 Esteso /dev/hda5 281 541 2096451 6 FAT16 /dev/hda6 542 1582 8361864 7 HPFS/NTFS Aggiungere infine le partizioni di Linux e Linux swap. Assicurarsi di non avere una partizione separata per /boot. Le cose sembrano migliori in GRUB se viene posto /boot nella partizione di root di linux. Una volta installato Linux formattare le partizioni FAT16: mkdosfs /dev/hda1 mkdosfs /dev/hda2 2.3. Installazione di GRUB Assicurarsi di disporre dell'ultima versione di GRUB. Io ho utilizzato la versione 0.90. E' possibile scaricare l'ultima versione dal sito . Adesso e' possibile installare GRUB sul dischetto. Non installare ancora GRUB sull'hard disk, poiche' la successiva installazione di Win2000 lo sovrascriverebbe: mke2fs /dev/fd0 mkdir /mnt/floppy mount -t ext2 /dev/fd0 /mnt/floppy grub-install --root-directory=/mnt/floppy '(fd0)' Creare sul dischetto il seguente file 'grub.conf' per GRUB. Porre questo file nella directory 'mnt/floppy/boot/grub': # # File di esempio per la configurazione del menu' di boot # by paolopal (28/12/2001) # # PP: Avvio automatico dopo 30 secondi. timeout 30 # PP: Per default, avvia la terza voce di menu'. default 2 # PP: Ripiega sulla prima voce di menu'. fallback 0 # PP: Per avviare Linux title RED HAT LINUX72 (2.4.7-10) root (hd1,0) kernel /boot/vmlinuz-2.4.7-10 ro root=/dev/hdc1 hdd=ide-scsi initrd /boot/initrd-2.4.7-10.img # PP: Per avviare DOS62 title DOS62 hide (hd0,0) unhide (hd0,1) hide (hd0,2) rootnoverify (hd0,1) chainloader +1 makeactive # PP: Per avviare Win98 title WIN98 hide (hd0,0) hide (hd0,1) unhide (hd0,2) rootnoverify (hd0,2) chainloader +1 makeactive # PP: Per avviare Win2000 title WIN2000 unhide (hd0,0) hide (hd0,1) hide (hd0,2) rootnoverify (hd0,0) chainloader +1 makeactive Assicurarsi di riuscire ad avviare Linux dal dischetto. Se si hanno problemi passare alla linea di comando di GRUB e verificare cosa non e' andato bene. GRUB e' molto ben documentato, cosi' per ogni problema dare uno sguardo alla documentazione. 2.4. Installazione di Win2000 Bisogna inizializzare la prima partizione prima di installare Win2000. Inserire il dischetto di avvio di GRUB e riavviare il proprio computer. Quando viene presentato il menu di GRUB inserire il dischetto di avvio di Dos. Selezionare dal menu' la voce 'WIN2000' e premere Invio: il sistema partira' dal dischetto di avvio nascondendo le partizioni 2 e 3. Una volta che viene presentato il prompt di Dos eseguire FDISK e verificare che il drive C: coincida con la partizione 1. Proseguire con i comandi: FDISK /MBR SYS C: Adesso e' possibile proseguire con l'installazione di Win2000. A questo punto Win2000 chiedera' di selezionare la partizione sulla quale si desidera effettuare l'installazione. La partizione creata in precedenza con fdisk verra' mostrata come danneggiata o non formattata. Proseguire selezionandola. Se si vuole nascondere il menu' di avvio di Win2000 editare il file chiamato 'boot.ini' che dovrebbe essere sul drive C:. Cambiare il valore del timeout da 30 a 0: [boot loader] timeout=0 default=multi(0)disk(0)rdisk(0)partition(4)\WINNT [operating systems] ... 2.5. Installazione di Dos Bisogna inizializzare la seconda partizione prima di installare Dos. Inserire il dischetto di avvio di GRUB e riavviare il proprio computer. Quando viene presentato il menu di GRUB inserire il dischetto di avvio di Dos. Selezionare dal menu' la voce 'DOS62' e premere Invio: il sistema partira' dal dischetto di avvio nascondendo le partizioni 1 e 3. Una volta che viene presentato il prompt di Dos eseguire FDISK e verificare che il drive C: coincida con la partizione 2. Proseguire con i comandi: FDISK /MBR SYS C: Adesso e' possibile proseguire con l'installazione di Dos. 2.6. Installazione di Win9x Bisogna inizializzare la terza partizione prima di installare Win9x. Inserire il dischetto di avvio di GRUB e riavviare il proprio computer. Quando viene presentato il menu di GRUB inserire il dischetto di Emergenza per Windows 9x. Selezionare dal menu' la voce 'WIN98' e premere Invio: il sistema partira' dal dischetto di avvio nascondendo le partizioni 1 e 2. Eseguire FDISK e verificare che il drive C: coincida con la partizione 3. Proseguire con i comandi: FDISK /MBR SYS C: Adesso e' possibile proseguire con l'installazione di Win9x. 2.7. Conclusione Verificare che ogni cosa funzioni con GRUB: 1. Prima di tutto deve essere possibile avviare i 4 Sistemi Operativi utilizzando il dischetto di avvio di GRUB. 2. Se tutto sembra funzionare correttamente, si puo' proseguire con la installazione di GRUB sul proprio disco rigido. Da una console linux eseguire il comando: grub-install /dev/hda e copiare il file '/boot/grub/grub.conf' dal dischetto nella directory '/boot/grub' della partizione HDA/HDC di Linux. Adesso e' possibile avviare i 4 Sistemi Operativi usando il menu' di GRUB. ---------------------------------------------------------------------------- 3. Riferimenti ---------------------------------------------------------------------------- Di seguito alcuni link utili per la configurazione del sistema: GNU GRUB Multiboot with GRUB Mini-HOWTO ---------------------------------------------------------------------------- 4. Feedback ---------------------------------------------------------------------------- Qualsiasi commento sul documento e/o istruzione per aggiungere altri Sistemi Operativi e' benvenuto. ---------------------------------------------------------------------------- (CC) Some Rights Reserved ---------------------------------------------------------------------------- This work is licensed under a Creative Commons License (Attribution-NonCommercial-NoDerivs 2.0) ----------------------------------------------------------------------------