Diario delle Revisioni | ||
---|---|---|
Revisione v1.0 | 2002-01-10 | Revisionato da: jr |
Initial release. |
Questo HOWTO dirà come usare il bootloader GRUB per trasformare il proprio computer in una macchina con un dual boot Windows + Linux, senza influenzare l'attuale installazione di Linux.
Traduzione a cura di Claudio Cattazzo, <claudio@linux.it>
.
Sono un grande appassionato delle cose che non sono Microsoft, così quando ho ricevuto il mio nuovo computer l'ho avuto con Linux preinstallato. È una fantastica macchina desktop, ma mi mancano terribilmente i miei giochi di Windows e GIMP non è il massimo. Così ho finalmente ceduto ed ho deciso di rendere la macchina dual boot. Quando ho cercato istruzioni su come fare ciò, tutto quello che ho trovato sono state indicazioni su come installare Linux se si ha già Windows installato e come avviare con Loadlin. Sfortunatamente, poiché Loadlin funziona sotto DOS, il metodo di Loadlin di rendere il proprio sistema dual boot richiede che si abbia Windows installato sulla prima partizione del primo hard disk, a causa del fatto che Windows crede di essere il centro dell'universo e che tutti gli altri sistemi operativi dovrebbero ruotargli attorno. Questo è un problema se si ha già Linux su quella partizione e non si vuole distruggere il proprio sistema per installare Windows.
Qui è dove GNU GRUB, il GRand Unified Bootloader serve. Differisce da bootloader come LILO in quanto può mentire a Windows e fargli credere di essere installato sulla prima partizione anche se non lo è. Così si può tenere l'attuale sistema Linux dov'è ed installare Windows a fianco.
Copyright (c) 2002 Joel Rosen. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with the no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license may be found here.
Si avrà bisogno di:
Un computer con un'installazione di Linux funzionante.
Abbastanza spazio libero su disco per la nuova partizione di Windows.
Un editor di partizioni come GNU Parted.
GRUB in rpm o sorgente.
Un disco di avvio di Windows/DOS con il supporto per il CDROM ed un CD con installato Windows 9x, o un CD avviabile di installazione di Windows.
(Consigliato) Un disco di avvio di Linux.
Se si ha già una partizione libera o un disco per la propria installazione di Windows, si può saltare questa sezione. Altrimenti, si avrà bisogno di lanciare un editor di partizioni per deframmentare il proprio disco e creare una nuova partizione per Windows. Io ho usato GNU Parted per la mia installazione; dovrebbe funzionare anche sfdisk. NON si usi fdisk, non preserverà i propri dati. E si noti che questo processo non è garantito, ci si assicuri di fare backup dei file importanti prima di iniziare.
Ecco come la mia tabella delle partizioni appariva prima dell'installazione:
Device Start End System /dev/hda1 1 3 Linux /dev/hda2 4 1222 Extended /dev/hda5 4 36 Linux swap /dev/hda6 37 1222 Linux |
/dev/hda1 è la mia partizione /boot (si può o non si può avere una partizione di boot separata per Linux), /dev/hda2 è una partizione estesa che contiene due drive logici, /dev/hda5 e /dev/hda6, che contengono la mia partizione swap di Linux e la partizione di installazione di Linux.
Da root, si lanci il proprio editor di partizioni. Si ridimensioni la propria partizione Linux rendendola quando piccola si vuole. (Ci si assicuri che la dimensione non sia più piccola della quantità di dati sul proprio disco.) Il programma deframmenterà per un bel po' e poi cambierà la tabella delle partizioni. Si ridimensioni la partizione estesa che contiene la propria partizione Linux di conseguenza. Si dovrebbe ora avere abbastanza spazio inutilizzato sul proprio disco nel quale creare una nuova partizione primaria di Windows. Si prosegua e si crei la partizione con un filesystem Win95 FAT32 (LBA). Ora la propria tabella delle partizioni dovrebbe apparire come qualcosa di simile:
Device Start End System /dev/hda1 1 3 Linux /dev/hda2 4 905 Extended /dev/hda3 906 1222 Win95 FAT32 (LBA) /dev/hda5 4 36 Linux swap /dev/hda6 37 905 Linux |
Consiglio fortemente di eseguire a questo punto fdisk e di scriversi tutte le informazioni sulle partizioni su un pezzo di carta. Se si commette un errore nella propria installazione, Windows sarà estremamente contento di riscrivere la tabella delle partizioni a suo piacimento ed in caso di emergenza ci sarà bisogno di sapere come sono le proprie partizioni.
Si dovrebbe avere un RPM o un pacchetto sorgente di GRUB da qualche parte sul proprio disco. Si prosegua lungo la procedura di installazione appropriata per il proprio sistema. Ora GRUB dovrebbe essere installato ma non caricato. Da root si esegua:
# /sbin/grub-install /dev/hda |
Questo caricherà GRUB nel master boot record del proprio disco. Ora c'è bisogno di modificare /boot/grub/grub.conf per configurare il menu d'avvio di GRUB:
default=0 timeout=10 splashimage=(hd0,0)/grub/splash.xpm.gz title Red Hat Linux (2.4.7-10) root (hd0,0) kernel /vmlinuz-2.4.7-10 ro root=/dev/hda6 initrd /initrd-2.4.7-10.img title Windows 98 map (hd0,0) (hd0,2) map (hd0,2) (hd0,0) rootnoverify (hd0,2) chainloader +1 title DOS Boot Disk map (hd0,0) (hd0,2) map (hd0,2) (hd0,0) chainloader (fd0)+1 |
Proseguiamo e vediamo cosa significa.
"default=0" e "timeout=10" faranno avviare Linux entro 10 secondi se non è stato toccato niente. "splashimage" è autoesplicativo e non molto importante.
"title" denota ogni impostazione di boot ed il testo che segue è quello che apparirà nel proprio menu all'avvio. "root" specifica quale partizione contiene la propria immagine del kernel Linux (questo potrebbe o no essere la propria partizione di root (/) attuale). Quindi, "root (hd0,0)" dice a GRUB che il kernel è sulla prima partizione di /dev/hda. Si può notare che GRUB ha un sistema di numerazione curioso, 0-3 per le partizioni primarie e 4+ per le partizioni logiche. La riga seguente dice a GRUB solo dove trovare il kernel e dov'è l'attuale partizione di root con il sistema Linux. "initrd" dice dov'è situata la propria immagine init del ramdisk. Si noti che queste poche righe probabilmente saranno alquanto differenti se non si ha una partizione /boot separata. Si veda la pagina info di GRUB se si necessita di maggiore aiuto.
Le righe "map" sotto la sezione di Windows 98 sono essenziali per far funzionare la propria installazione. Sono le righe magiche che ingannano Windows nel fargli credere di essere installato sulla prima partizione del primo disco. Se non si mappa la partizione di Windows come (hd0,0), Windows distruggerà la propria tabella delle partizioni e non si sarà in grado di avviare nulla.
"rootnoverify" dice a GRUB di avviare dalla partizione di Windows, ma di non tentare di montarla, e "chainloader +1" dice a GRUB di agganciarsi al bootloader di Windows che avvierà Windows.
La sezione "DOS boot disk" è necessaria se si andrà ad avviare da floppy per iniziare l'installazione di Windows, ma verrà utile anche dopo averlo installato se si vuole usare un disco di avvio DOS per qualsiasi ragione. Se il proprio CD di installazione di Windows è avviabile, si avrà bisogno di avere una sezione "Windows boot disk" che si aggancia al proprio device CDROM.
Ora si salvi grub.conf e si esca dal proprio editor di testo. Al contrario di LILO, GRUB non richiede che venga lanciato un eseguibile dopo che si è modificata la configurazione di boot. Ora, con il disco di avvio di Linux di emergenza a portata di mano, si provi a riavviare il computer. Quando il sistema parte si dovrebbe vedere il menu di GRUB con le tre opzioni di avvio. Si selezioni Linux. Con buone speranze, Linux si avvierà come al solito e GRUB sarà installato correttamente. Se così non fosse, si ha fortunatamente un disco di avvio di Linux così si può avviare Linux e correggere il proprio grub.conf. Una volta che si ha GRUB che avvia Linux con successo, è tempo di installare Windows.
Si rimuovano tutti i dischetti ed i CD dal proprio computer e si riavvii. NON si avvii il proprio computer con dispositivi di installazione già nel drive. Se lo si fa, il proprio BIOS avvierà l'installazione di Windows direttamente e GRUB non avrà la possibilità di effettuare la sua magia. Quando compare il menu di GRUB, si inserisca il floppy o il CD e si selezioni il disco di avvio DOS o il CD di installazione di Windows, a seconda del proprio sistema di installazione. L'installazione di Windows dovrebbe vedere la partizione che è stata fatta per lui sul drive C:. Si prosegua e si installi Windows.
Ecco. Ora il proprio computer è impostato come una macchina in dual boot.