Guida a Grub: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
Nessun cambiamento nella dimensione ,  6 set 2005
m
Riga 1: Riga 1:
{{Debianized}}
{{Debianized}}
== Introduzione ==
== Introduzione ==


Questa � una guida generica (non specifica per Debian) su '''Grub''' che
Questa � una guida generica su grub che
comprende argomenti quali l'installazione e la configurazione da zero
comprende argomenti quali l'installazione e la configurazione da zero
di grub, trattati in modo semplice (si spera) in modo da non spaventare
di grub, trattati in modo semplice (si spera) in modo da non spaventare
i principianti. La guida � rivolta quindi a tutti coloro i quali per
i principianti. La guida � rivolta quindi a tutti coloro i quali per
necessit� o diletto vogliano imparare ad usare questo
necessit� o diletto vogliano imparare ad usare questo
versatile [[boot loader]].
versatile bootloader.


== Perch� Grub ==
== Perch� Grub ==
Riga 24: Riga 23:
sicuri di non sbagliare il percorsi o i nomi dei file. In questo modo � facile fare velocemente molte prove con kernel o
sicuri di non sbagliare il percorsi o i nomi dei file. In questo modo � facile fare velocemente molte prove con kernel o
parametri di boot diversi, al volo, senza dover modificare alcun file.
parametri di boot diversi, al volo, senza dover modificare alcun file.
Per confronto, con lilo (altro [[boot loader]] diffuso), per modificare un
Per confronto, con lilo (altro bootloader diffuso), per modificare un
parametro di boot o fare partire un nuovo kernel (anche solo per prova)
parametro di boot o fare partire un nuovo kernel (anche solo per prova)
� necessario avviare il sitema, modificare
� necessario avviare il sitema, modificare
<tt>lilo.conf</tt>, eseguire il comado lilo e riavviare. Con '''Grub''' basta invece scrivere le modifiche al boot: se c'� un errore ed il kernel non si
lilo.conf, eseguire il comado lilo e riavviare. Con '''Grub''' basta invece scrivere le modifiche al boot e se c'� un errore ed il kernel non si
carica basta resettare il sistema e provare di nuovo. Trovati i
carica basta resettare il sistema e provare di nuovo. Trovati i
parametri giusti si possono salvare in '''<tt>/boot/grub/menu.lst</tt>''' in modo che non sia pi� necessario inserirli a mano.
parametri giusti si possono salvare in '''<tt>/boot/grub/menu.lst</tt>''' in modo che non sia pi� necessario inserirli a mano.
Riga 33: Riga 32:
== Installazione di Grub ==
== Installazione di Grub ==


Normalmente '''Grub''' � gi� installato in Debian. Se per� si �
Nomalmente '''Grub''' � gi� installato in Debian. Se per� si �
installato, per ultimo, un S.O. (come MS-Windows) che ignora la presenza di altri
installato un S.O. (come MS-Windows) che ignora la presenza di altri
sistemi sul disco e vuole monopolizzare il nostro pc, ci si trova nella
sistemi sul disco e vuole monopolizzare il nostro pc, ci si trova nella
necessit� di installare nuovamente '''Grub''' per riappropriarci della libert� di scegliere. Pu� anche succedere di aver provato un altro boot loader e di voler ritornare a '''Grub''': anche in questo caso basta seguire quanto segue.
necessit� di installare nuovamente '''Grub''' per riappropriarci della libert� di scegliere. Pu� anche succedere di aver provato un altro boot loader e di voler ritornare a '''Grub''': anche in questo caso basta seguire quanto segue.


Per usare '''Grub''' � necessario installarlo nel [[MBR]] (in realt� � anche possibile [[Guida_a_Grub#Installare_Grub_su_floppy|installarlo solo in un floppy]]) con il seguente comando:
Per usare '''Grub''' � necessario installarlo nel "Master Boot Record - Il primo settore dell'hard disk" (MBR) (in realt� � anche possibile installarlo solo in un floppy) con il seguente comando:


<pre>
<pre>
# grub-install --no-floppy /dev/hda
# grub-install --root-directory=/boot /dev/hda
</pre>
</pre>


in questo modo ogni altro [[boot loader]] verr� sovrascritto e all'avvio apparir� grub che permetter� di avviare ogni sistema presente su hard disk. Non � necessario avere tanti [[boot loader]] anche se si installano tante distribuzioni,
ma attenzione: ogni altro boot loader verr� eliminato. Non �
necessario avere tanti boot loader anche se si installano tante distribuzioni,
ne basta uno che le fa partire tutte.
ne basta uno che le fa partire tutte.
 
Il "primo pezzo di grub" (detto
Se si � installato windows, gli altri S.O. non saranno pi� avviabili. Come si fa allora a eseguire il precedente comando per ripristinare grub? Basta usare un livecd per avviare il sistema, non � neanche necessario che ci sia grub in tale cd. Dopo l'avvio, monteremo la partizione di root del sistema linux installato su hard disk:
stage1) risiede nel MBR (Master Boot Record - Il primo settore dell'hard disk), il "secondo pezzo di grub" (stage2) ed i file di configurazione risiedono nella '''partizione di root di grub''' che � <tt>/boot</tt> in questo caso (da non confondere con la '''partizione di root del sistema /'''). Il menu iniziale del '''Grub''' � configurato nel file <tt>/boot/grub/menu.lst</tt>, basta modificarlo ed all'avvio '''Grub''' legger� la nuova configurazione.
<pre>
# mkdir /mnt/root
# mount /dev/hda3 /mnt/root
</pre>
 
dove si � fatta l'ipotesi che sia <tt>/dev/hda3</tt> la partizione di root. Ora con <tt>chroot</tt> si pu� cambiare al volo la partizione di root del nostro livecd:
 
<pre>
# chroot /mnt/root
</pre>
 
Adesso abbiamo sotto di noi la root del sistema installato su disco. Montiamo anche la partizione di boot, se questa � posta in una partizione separata. A questo punto possiamo eseguire <tt>grub-install</tt> come visto prima per ripristinare grub. Se si vuole si pu� anche generare automaticamente un menu di avvio con il [[Guida_a_Grub#Usare_update-grub|comando <tt>update-grub</tt>]].
 
Vediamo ora di capire un poco meglio quali sono i vari componenti di grub.
 
Il "primo pezzo di grub" (detto stage1) risiede nel [[MBR]], il "secondo pezzo di grub" (stage2) ed i file di configurazione risiedono nella '''partizione di root di grub''': questa sar� la partizione montata in <tt>/boot</tt> se si ha una partizione separata per <tt>/boot</tt>, altrimenti sar� la '''partizione di root del sistema''' (montata in /). La ''cartella'' in cui risiede lo stage2 e tutti i file di configurazione di grub � in ogni caso <tt>/boot/grub/</tt>.
 
Il menu iniziale del '''Grub''' � configurato nel file <tt>/boot/grub/menu.lst</tt>, basta modificarlo ed all'avvio '''Grub''' legger� la nuova configurazione. Il [[Guida_a_Grub#Usare_update-grub|comando <tt>update-grub</tt>]] genera automaticamente questo appunto questo file, anche se con alcune limitazioni (per maggiori informazioni vedere la sezione [[Guida_a_Grub#Usare_update-grub|<tt>'''update-grub'''</tt>]]).
 
Dopo l'installazione di grub, lo stage1 rester� sempre immutato e punter� allo stage2. Lo stage2, caricher� i file di configurazione che potranno essere modificati a piacimento senza mai dover modificare il settore di avvio ([[MBR]]).


== Far partire il sistema principale ==
== Far partire il sistema principale ==
Riga 79: Riga 59:


fate attenzione che le partizioni '''Grub''' le numera partendo da 0 quindi il numero della partizione � 1 in meno rispetto al numero che ha sotto linux.
fate attenzione che le partizioni '''Grub''' le numera partendo da 0 quindi il numero della partizione � 1 in meno rispetto al numero che ha sotto linux.
''Ricordate che con la tastiera italiana, all'avvio, le parentesi si fanno con ''shift+0'' e ''shift+'' mentre lo slash con - ed il segno di uguale con .''


Se fosse '''/dev/hda1''' dovremmo dare: '''root (hd0,0)''', chiaro?
Se fosse '''/dev/hda1''' dovremmo dare: '''root (hd0,0)''', chiaro?
{{Box | Nota |Ricordate che con la tastiera italiana, all'avvio, le parentesi si fanno con <big><tt>shift+0</tt></big> e <big><tt>shift+9</tt></big> mentre lo slash (<big><tt>/</tt></big>) con il tasto <big><tt>-</tt></big> ed il segno di uguale con .}}


Ora carichiamo il kernel. Poniamo che il file sia '''/boot/vmlinuz-2.6.6s26-mio-kernel'''. Supponiamo che la ''partizione di root del kernel'' (cio� proprio la root del sistema) sia '''/dev/hda4''', scriveremo nel prompt di grub (Linea di comando di grub - Appare al boot premendo il tasto 'e' seguito da 'c') come secondo comando:
Ora carichiamo il kernel. Poniamo che il file sia '''/boot/vmlinuz-2.6.6s26-mio-kernel'''. Supponiamo che la ''partizione di root del kernel'' (cio� proprio la root del sistema) sia '''/dev/hda4''', scriveremo nel prompt di grub (Linea di comando di grub - Appare al boot premendo il tasto 'e' seguito da 'c') come secondo comando:
Riga 89: Riga 69:
</pre>
</pre>


vedete? Partendo dalla ''root di grub'', che � '''/boot''' sotto linux, il file del kernel � semplicemente in '''/'''. In ogni caso � qui che l'autocompletamento (premendo <tt>TAB</tt>, lo sapete no?) gioca il suo ruolo migliore, e permette di scegliere il file corretto. Gli ultimi due parametri sono:
vedete? Partendo dalla ''root di grub'', che � '''/boot''' sotto linux, il file del kernel � semplicemente in '''/'''. In ogni caso � qu� che l'autocompletamento (premendo ''TAB'', lo sapete no?) gioca il suo ruolo migliore, e permette di scegliere il file corretto. Gli ultimi due parametri sono:


* '''ro''': accede inizialmente alle partizioni in sola lettura. E' buona norma inserirlo sempre.
* '''ro''': accede inizialmente alle partizioni in sola lettura. E' buona norma inserirlo sempre.
Riga 95: Riga 75:


A questo punto basta dare il comando '''boot''' per fare partire (si spera) il sistema.
A questo punto basta dare il comando '''boot''' per fare partire (si spera) il sistema.


== Far partire un secondo sistema ==
== Far partire un secondo sistema ==
Riga 127: Riga 108:
a seconda di dove si trova l'immagine (si trova sempre nella stessa partizione/directory del suo kernel).
a seconda di dove si trova l'immagine (si trova sempre nella stessa partizione/directory del suo kernel).


{{Warningbox|Un kernel partir� solo con
http://www.ubuntulinux.org/wiki/IconWarning.png '''Attenzione:''' Un kernel partir� solo con
la sua immagine initrd, se provate ad usare immagini intrd di altri
la sua immagine initrd, se provate ad usare immagini intrd di altri
kernel il sistema non partir� dando un ''Kernel Panic''. Analogamente se cercate di fare partire un kernel che necessita di initrd, senza initrd il sistema andr� ancora in ''Kernel Panic''.}}
kernel il sistema non partir� dando un ''Kernel Panic''. Analogamente se cercate di fare partire un kernel che necessita di initrd, senza initrd il sistema andr� ancora in ''Kernel Panic''.


== Configurare il Men� di grub ==
== Configurare il Men� di grub ==
1 760

contributi

Menu di navigazione