Differenze tra le versioni di "GRUB 2"

Da Wiki :: openmamba.
Jump to navigation Jump to search
Riga 90: Riga 90:
 
Per aggiungere una voce personalizzata non è consigliato modificare direttamente il file di configurazione ''/boot/grub/grub.cfg'' in quanto questo file viene ricreato ogni volta che si esegue ''update-grub''.
 
Per aggiungere una voce personalizzata non è consigliato modificare direttamente il file di configurazione ''/boot/grub/grub.cfg'' in quanto questo file viene ricreato ogni volta che si esegue ''update-grub''.
  
E' possibile invece creare un proprio script di configurazione nella directory /etc/grub.d chiamato, ad esempio, ''/etc/grub.d/25-local''. Questo meccanismo è stato previsto dagli sviluppatori di grub 2 ed ha il vantaggio di essere conforme alle specifiche FHS (Filesystem Hierarchy Standard) e di rendere la configurazione modulare, cosa che risulta molto comoda nella gestione della distribuzione.
+
E' possibile invece creare un proprio script di configurazione nella directory /etc/grub.d chiamato 30-multiboot. Questo meccanismo è stato previsto dagli sviluppatori di grub 2 ed ha il vantaggio di essere conforme alle specifiche FHS (Filesystem Hierarchy Standard) e di rendere la configurazione modulare, cosa che risulta molto comoda nella gestione della distribuzione.
 +
In pratica lo script crea le voci necessarie a "collegare" il grub2 di Openmamba con il grub1 del altro sistema operativo gnu/linux.
  
Ad esempio, il file ''/etc/grub.d/25-local'' potrebbe avere il seguente contenuto allo scopo di configurare l'avvio di un altro sistema Linux nella partizione ''/dev/hda1'' in cui è installato grub (versione 1):
+
Creiamo il file con:
 +
<pre>
 +
sudo touch /etc/grub.d/30-multiboot
 +
</pre>
 +
 
 +
Editialomo con:
 +
<pre>
 +
sudo kwrite /etc/grub.d/30-multiboot
 +
</pre>
 +
 
 +
e aggiungiamo il contenuto sottoriportato:
 
<pre>
 
<pre>
 
cat << _EOF
 
cat << _EOF
menuentry
+
menuentry "Otherlinux" {
title OtherLinux
+
set root=(hd0,0)
root (hd0,1)
+
chainloader +1
configfile /boot/grub/menu.lst
 
 
}
 
}
 
_EOF
 
_EOF
 +
</pre>
 +
 +
Ovviamente  al posto di "Otherlinux" metteremo il nome della distrò; mentre al posto di (hd0,0) va inserita la partizione esatta.
 +
Esempio; se abbiamo installato Ubuntu  in /dev/hda3  (o /dev/sda3) andremo a sostituire "Otherlinux" con "Ubuntu 8.04"  e (hd0,0)  con (hd0,3).
 +
Altro esempio; se invece abbiamo installato Mepis su di un'altro hd ide o sata (dev/hdb1 o /dev/sdb1) indicheremo "Mepis 7.0" e (hd1,1)
 +
 +
Dopo aver salvato il file bisogna renderlo eseguibile,così:
 +
 +
<pre>
 +
sudo chmod +x /etc/grub.d/30-multiboot
 +
</pre>
 +
 +
Per verificare che il file 30-multiboot sia eseguibile possiamo lanciare il comando ls
 +
 +
<pre>
 +
sudo ls /etc/grub.d
 +
</pre>
  
 +
Se al risultato il colore del file chiamato "30-multiboot" e verde vuol dire che è tutto ok.
 +
Adesso manca solo di applicare le modofiche eseguendo:
 +
 +
<pre>
 +
sudo update-grub
 
</pre>
 
</pre>
  
Dopo aver creato il file, la modifica si applica eseguendo
+
Se tutto è andato bene troveremo la nuova voce nel file /boot/grub/grub.cfg e quindi al riavvio del pc nel menu di avvio; essa sarà mantenuta anche dopo gli aggiornamenti di sistema.
sudo update-grub
+
 
 +
N.B:
 +
 
 +
1)lo script fa si che all'avvio ci si "colleghi" al grub1 dell'altro sistema gnu/linux installato sulla nostra macchina, quindi il grub della distrò in questine va installato nella propria partizione root.
  
e sarà mantenuta anche dopo gli aggiornamenti di sistema.
+
2)In caso il comando sudo non dovesse funzionare, potete sempre, prima loggarvi  come root (su - vostrapassdiroot) e poi dare i vari comandi senza "sudo".

Versione delle 13:20, 1 mag 2008

GRUB 2 è un Multiboot boot loader. E' stato derivato da GRUB (GRand Unified Bootloader), che è stato originariamente progettato e sviluppato da Erich Stefan Boleyn. Brevemente, il boot loader è il primo programma software che viene eseguito quando un computer si avvia. E' responsabile del caricamento e trasferimento del controllo al sistema operativo, prima che sia quest'ultimo a prendere il controllo ed inizializzare il resto del sistema.

Configurazione

La configurazione di GRUB 2 in openmamba avviene modificando il file

/etc/sysconfig/grub

il cui contenuto predefinito è:

#
# grub2 configuration file
#
#
# Uncomment the following lines to configure other systems (chainloaded)
# to appear in grub2 boot menu.
#
GRUB_OTHER_TITLES=("Windows 98")
GRUB_OTHER_DEVICES=(/dev/hda3)

# Define an alternative command line for linux entries
#
#GRUB_CMDLINE_LINUX="resume2= video=uvesafb:1024x768-32,ywrap,mtrr:3 quiet splas
h=silent,fadein console=tty1"

# Define default menu entry
#
GRUB_DEFAULT=1

# Define boot menu timeout before loading default menu entry
#
GRUB_TIMEOUT=1

# Definitions for serial console
#
#GRUB_TERMINAL=
#GRUB_SERIAL_COMMAND=

#Apply changes with:
#
# update-grub

Le modifiche effettuare a questo file si applicano eseguendo

/usr/sbin/update-grub

che genera il vero e proprio file di configurazione utilizzato da grub:

/boot/grub/grub.cfg

Nota: si sconsiglia di modificare quest'ultimo file in quanto viene riscritto ad ogni aggiornamento di versione del kernel. Il modo corretto per applicare modifiche a questo file avviene utilizzando update-grub.

Avvio di un sistema operativo non Linux

Per configurare l'avvio di un sistema operativo non Linux (ad esempio una versione di Windows), occorre identificare la partizione in cui si trova il sistema così come viene identificato da Linux, ad esempio:

/dev/hda1

indica la prima partizione del primo hard disk IDE. Possiamo a questo punto aggiungere le seguenti righe di configurazione al file /etc/sysconfig/grub:

GRUB_OTHER_TITLES=("Windows 98")
GRUB_OTHER_DEVICES=(/dev/hda1)

Il seguente esempio mostra un caso in cui siano configurati più sistemi alternativi:

GRUB_OTHER_TITLES=("Windows 98" "FreeBSD")
GRUB_OTHER_DEVICES=(/dev/hda1 /dev/hda4)

Come impostare il sistema di avvio predefinito

Normalmente GRUB avvia un sistema predefinito se, trascorso un tempo di 5 secondi dalla comparsa del menù di avvio, l'utente non ha interagito con la tastiera. Per impostare un sistema predefinito diverso dal primo (indicato con il numero 0) aggiungi (o scommenta) la seguente riga in /etc/sysconfig/grub:

GRUB_DEFAULT=1

In questo esempio si avvierà il sistema presente nella seconda voce del menù di avvio.

Come modificare il timeout del menù di avvio

Per modificare il timeout del menù di avvio, imposta la seguente riga in /etc/sysconfig/grub:

GRUB_TIMEOUT=30

Questo esempio imposta il timeout a 30 secondi.

Come aggiungere delle voci personalizzate nel menù di avvio

Per aggiungere una voce personalizzata non è consigliato modificare direttamente il file di configurazione /boot/grub/grub.cfg in quanto questo file viene ricreato ogni volta che si esegue update-grub.

E' possibile invece creare un proprio script di configurazione nella directory /etc/grub.d chiamato 30-multiboot. Questo meccanismo è stato previsto dagli sviluppatori di grub 2 ed ha il vantaggio di essere conforme alle specifiche FHS (Filesystem Hierarchy Standard) e di rendere la configurazione modulare, cosa che risulta molto comoda nella gestione della distribuzione. In pratica lo script crea le voci necessarie a "collegare" il grub2 di Openmamba con il grub1 del altro sistema operativo gnu/linux.

Creiamo il file con:

sudo touch /etc/grub.d/30-multiboot

Editialomo con:

sudo kwrite /etc/grub.d/30-multiboot

e aggiungiamo il contenuto sottoriportato:

cat << _EOF
menuentry "Otherlinux" {
set root=(hd0,0)
chainloader +1
}
_EOF

Ovviamente al posto di "Otherlinux" metteremo il nome della distrò; mentre al posto di (hd0,0) va inserita la partizione esatta. Esempio; se abbiamo installato Ubuntu in /dev/hda3 (o /dev/sda3) andremo a sostituire "Otherlinux" con "Ubuntu 8.04" e (hd0,0) con (hd0,3). Altro esempio; se invece abbiamo installato Mepis su di un'altro hd ide o sata (dev/hdb1 o /dev/sdb1) indicheremo "Mepis 7.0" e (hd1,1)

Dopo aver salvato il file bisogna renderlo eseguibile,così:

sudo chmod +x /etc/grub.d/30-multiboot

Per verificare che il file 30-multiboot sia eseguibile possiamo lanciare il comando ls

sudo ls /etc/grub.d

Se al risultato il colore del file chiamato "30-multiboot" e verde vuol dire che è tutto ok. Adesso manca solo di applicare le modofiche eseguendo:

sudo update-grub

Se tutto è andato bene troveremo la nuova voce nel file /boot/grub/grub.cfg e quindi al riavvio del pc nel menu di avvio; essa sarà mantenuta anche dopo gli aggiornamenti di sistema.

N.B:

1)lo script fa si che all'avvio ci si "colleghi" al grub1 dell'altro sistema gnu/linux installato sulla nostra macchina, quindi il grub della distrò in questine va installato nella propria partizione root.

2)In caso il comando sudo non dovesse funzionare, potete sempre, prima loggarvi come root (su - vostrapassdiroot) e poi dare i vari comandi senza "sudo".