Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Cestino/Grub/Legacy"
Differenze tra le versioni 1 e 69 (in 68 versioni)
Versione 1 del 28/05/2005 21.45.00
Dimensione: 24609
Autore: adsl-213-190-44-43
Commento: imported from the old wiki
Versione 69 del 29/10/2009 11.51.54
Dimensione: 15224
Autore: LeoIannacone
Commento: Link a legacy
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
= ItalianGuidaGrub =

= Guida a GRUB =

== Indice ==
 * Introduzione
 * Perché Grub
 * Installazione di Grub
 * Far partire il sistema principale (Linux)
 * Far partire un secondo sistema (Linux)
 * Configurare il Menù di grub
 * Avviare altri sistemi operativi
 * Installare Grub su floppy
 * Usare update-grub
 * Impostare una password
 * Riconoscimento modalità video
 * Usare una splashimage
 * Note finali

== Introduzione ==

GRand Unified Bootloader (Grub) è il bootloader
di default Ubuntu. La procedura di installazione è in genere in grado
di riconoscere gli altri sistemi presenti ed inserirli nel menu
iniziale. In alcuni casi particolari tuttavia, l'installer può non
trovare i parametri corretti oppure si vuole semplicemente modificare
il comoportamento di default. In questi casi questa guida può tornare
utile.

Questa è una guida generica su grub (non specifica per Ubuntu) che
comprende argomenti quali l'installazione e la configurazione da zero
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
necessità o diletto vogliano imparare ad usare questo
versatile bootloader.

== Perché Grub ==

La ragione per cui consiglio anche ai newbie '''Grub''' è la
caratteristica, unica, di poter scrivere da zero o modificare, in fase di boot, i comandi per fare
partire un kernel, il tutto con
l'ausilio dell'autocompletamento. Adesso provo a spiegarmi meglio.

Se '''Grub''' è installato, al boot comparirà il classico menù con le voci per ogni sistema operativo installato. A questo punto premendo "'''e'''" si entra in modalità editing e si possono modificare le voci del menu iniziale oppure si possono inserire i comandi per
fare partire un altro kernel non presente nel menu. '''Grub'''
può leggere le varie
partizioni e visualizzare i nomi dei file, e grazie
all'autocompletamento si è
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.
Per confronto, con lilo (altro bootloader diffuso), per modificare un
parametro di boot o fare partire un nuovo kernel (anche solo per prova)
è necessario avviare il sitema, modificare
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
parametri giusti si possono salvare in '''{{{/boot/grub/menu.lst}}}''' in modo che non sia più necessario inserirli a mano.

== Installazione di Grub ==

Nomalmente '''Grub''' è già installato in Ubuntu. Se però si è
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
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 "Master Boot Record - Il primo settore dell'hard disk" (MBR) (in realtà è anche possibile installarlo solo in un floppy) con il seguente comando:

{{{
# grub-install --root-directory=/boot /dev/hda
}}}

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.
Il "primo pezzo di grub" (detto
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 è {{{/boot}}} in questo caso (da non confondere con la '''partizione di root del sistema /'''). Il menu iniziale del '''Grub''' è configurato nel file {{{/boot/grub/menu.lst}}}, basta modificarlo ed all'avvio '''Grub''' leggerà la nuova configurazione.

== Far partire il sistema principale ==

Chiameremo sistema principale il sistema sotto il quale avete installato '''Grub'''. Vediamo i comandi necessari per fare partire un kernel, questi possono essere inseriti interattivamente all'avvio di '''Grub'''. Successivamente vedremo come inserirli in '''/boot/grub/menu.lst''' per creare una voce nel menu di grub.

Innanzi tutto dobbiamo dire a '''Grub''' qual'è la '''sua''' partizione di root, che è {{{/boot}}} (ci siamo?). Ma in che partizione è '''/boot'''? E' la partizione montata in '''/boot''' quando avete dato '''grub-install'''. Controllate il file '''/etc/fstab''' per vedere qual'è. Se fosse '''/dev/hda3''', dovremmo scrivere al prompt di grub (Linea di comando di grub - Appare al boot premendo il tasto 'e' seguito da 'c')
## page was renamed from AmministrazioneSistema/Grub
## page was renamed from Grub
## page was renamed from GuidaGrub
#format wiki
#LANGUAGE it
[[BR]]
[[Indice(depth=1)]]

[[Include(StrumentiWiki/GuideConsigliate)]]

[[VersioniSupportate(jaunty intrepid hardy )]]

= Introduzione =

'''GRUB''' ('''''G'''rand '''U'''nified '''B'''ootloader'') è il ''boot loader'' predefinito di '''Ubuntu''', viene avviato subito dopo le operazioni POST del BIOS e si preoccupa di scegliere e avviare un sistema operativo fra quelli presenti nel computer oppure avviare in cascata un secondo boot loader. In genere '''GRUB''' riconosce automaticamente i sistemi operativi presenti e li inserisce nel menù iniziale. È possibile personalizzare o modificare la configurazione, modificare l'elenco dei sistemi operativi, il tempo di avvio e molti altri aspetti.

= Installazione =

== Installazione predefinita ==

'''GRUB''' viene automaticamente installato e posizionato nel primo settore del MBR in modo da essere il ''boot loader'' primario durante la fase di avvio.

== Installazione su floppy ==

L'installando '''GRUB''' su un floppy si avrà la possibilità di avviare qualsiasi sistema anche in caso di MBR danneggiato. Per installare '''GRUB''' su un floppy è necessario inserire un dischetto vuoto nel lettore, dunque digitare i seguenti comandi in una finestra di terminale:
{{{
sudo mke2fs /dev/fd0
sudo mount -t ext2 /dev/fd0 /mnt
sudo grub-install --root-directory=/mnt fd0
sudo umount /mnt
}}}

Sostituire la dicitura «/dev/fd0» con una adatta alla propria configurazione.

= Ripristino =

Quando si installa un sistema operativo come Windows che va a cancellare e sovrascrivere l'MBR ignorando completamente altri sistemi operativi presenti nel computer, '''GRUB''' non sarà più il ''boot loader'' principale del sistema e all'avvio del computer verrà avviato Windows e non più Linux. Per ripristinare '''GRUB''' come boot loader predefinito, consultare la [:../Ripristino:relativa guida].

[[Anchor(avvio)]]
= Avvio =

Per poter modificare le opzioni di '''GRUB''' o scegliere un kernel diverso da avviare, è sufficiente premere il tasto «'''Esc'''». Sono messi a disposizione dell'utente dei tasti per accedere in modo rapido alla configurazione oppure alla riga di comando.

||<style="background-color:#F6D358;":>'''Tasti di scelta rapida''' ||<style="background-color:#F6D358;":>'''Funzione''' ||
||<style="text-align:center">«'''c'''» || Accede alla riga di comando della console di '''GRUB'''. ||
||<style="text-align:center">«'''e'''» || Apre un editor dove è possibile modificare la voce del menù selezionata. ||
||<style="text-align:center">«'''b'''» || Avvia il sistema sulla riga selezionata. ||
||<style="text-align:center">«'''o'''» || Crea una nuova riga. ||
||<style="text-align:center">«'''d'''» || Elimina la riga selezionata. ||
= Configurazione =

Tutti i file di configurazione di '''GRUB''' sono contenuti nella cartella `/boot`. Tutte le modifiche dovranno essere apportate al file `/boot/grub/menu.lst`.

Seguirà un elenco di possibili modifiche che si possono effettuare a '''GRUB'''. Tutte le modifiche dovranno essere effettuate con un [:Ufficio/EditorDiTesto:editor di testo] e con i [:AmministrazioneSistema/Sudo:privilegi di amministratore] al file `/boot/grub/menu.lst`.

== Tempo di selezione ==

'''GRUB''' è in grado di avviare automaticamente un sistema operativo predefinito qualora entro un certo lasso di tempo non venga premuto alcun tasto. Per aumentare il tempo a disposizione, modificare il valore del parametro «timeout»:
{{{
timeout 3
}}}

== Scelta del kernel predefinito ==

'''GRUB''' dopo un lasso di tempo avvia automaticamente il primo sistema operativo presente nel suo file di configurazione. Per cambiare l'ordine dei kernel presenti nel file di configurazione, modificare il valore del parametro «Default»:
{{{
Default 0
}}}

== Visibilità del menù ==

Ubuntu nasconde in modo predefinito il menù d'avvio di '''GRUB'''. Per rendere visibile il menù, premere il tasto «'''Esc'''» alla schermata '''Press ESC to enter the menu...'''. Per far apparire sempre il menù all'avvio cercare la seguente stringa nel file di configurazione:
{{{
hiddenmenu
}}}

Modificarla come nel seguente esempio:
{{{
#hiddenmenu
}}}

== Personalizzare le voci ==

Per modificare una voce di menù, modificare il parametro «title» relativo al kernel scelto inserendo il testo desiderato.

== Aggiungere un sistema operativo all'elenco ==

=== Aggiungere un kernel ===

Il primo parametro da aggiungere è «'''title'''» che permette di inserire la voce del menù relativa al sistema operativo che verrà visualizzato nel menù:
{{{
title Ubuntu Hardy Heron
}}}

Successivamente inserire il parametro «root» che permette di impostare il disco fisso e la partizione in cui si trova l'immagine del kernel. Se, per esempio, il disco si trova in `/dev/sda3`, l'istruzione da impostare nel file di configurazione di '''GRUB''' è la seguente:
Linea 86: Linea 100:
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.

http://www.ubuntulinux.org/wiki/IconWarning3.png 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?

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:
{{{
kernel /vmlinuz-2.6.6s26-mio-kernel root=/dev/hda4 ro vga=791
}}}

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.
 * '''vga=791''': fa partire il sistema in ''frame buffer'' (console ad alta risoluzione). Per maggiore informazione leggete più avanti il capitolo dedicato.

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


== Far partire un secondo sistema ==

Se avete il kernel di una seconda distro sempre nella partizione di boot '''/dev/hda3''' basta cambiare il nome del file del kernel e l'optione '''root=/dev/hda4''' per indicare la corretta ''partizione di root della seconda distro''.
Se invece il file del kernel della seconda distro risiede in un'altra
partizione che non sia la boot della prima distro (potrebbe essere una
seconda partizione di boot creata dalla seconda distro o direttamente
la partizione di root della seconda distro), basta indicare il percorso
completo a grub. Supponiamo che la partizione contenete l'altro kernel
sia '''/dev/hda7''' e che questa sia la root della seconda distro, per caricare il kernel scriveremo:
{{{
kernel (hd0,6)/boot/vmlinuz-2.6.6-altra-distro root=/dev/hda7 ro vga=791
}}}

ovviamente avvelendoci il più possibile dell'autocompletamento per
facilitare le cose. Notate come in questo caso abbiamo inserito '''/boot''' perchè un c'è una partizione di boot ma essa è una sotto-directory di root ovvero '''(hd0,6)''' ('''/dev/hda7''' in gergo linux).

Se avete un kernel che usa l'initrd (di solito tutti i kernel
ufficiali delle distro, ma io sconsiglio di usare l'initrd se invece vi
ricompilate il kernel) prima di dare il comando '''boot''' dovrete caricare anche l'immagine del ramdisk. Ovvero scrivere (dopo aver caricato il kernel) il seguente comando nel prompt di grub (Linea di comando di grub - Appare al boot premendo il tasto 'e' seguito da 'c')
{{{
initrd /initrd.img-2.6.6-s26-mio-kernel
}}}

oppure

{{{
initrd (hd0,6)/initrd.img-2.6.6-altra-distro
}}}

a seconda di dove si trova l'immagine (si trova sempre nella stessa partizione/directory del suo kernel).

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
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 ==

Il menu di grub si imposta tramite il file '''/boot/grub/menu.lst'''.
L'intestazione di questo file può contenere molti comandi, ma noi
vedremo solo un esempio semplicissimo ma pienamente sufficiente ai
nostri scopi:
{{{
default 0
timeout 5
color light-gray/blue yellow/blue
}}}

Inserendo queste righe all'inizio del '''menu.lst''' diremo a grub
che all'avvio dovrà attendere 5 secondi (timeout) e dopo di che
scegliere il primo kernel dell'elenco (il numero 0, ricordate che Grub
inizia a contare da zero?). Il menù sarà presentato con i colori
indicati, secondo il seguente schema: caretteri/sfondo rispettivamente
per il testo normale e per il testo evidenziato.

Adesso, inseriamo i blocchi per i vari kernel. Come visto per fare partire un kernel servono tre comandi: ''root, kernel, boot'' (oppure nel caso ci sia l'initrd ''root, kernel, initrd, boot''). Nel '''menu.lst''' bisogna inserire in più soltanto un primo comando ('''title''')
che specifica il nome che apparira all'avvio per quel kernel nel menù
del grub. In pratica, usando gli esempi precedenti dei due kernel,
dovremmo avere un '''menu.lst''' del genere:
{{{
default 0
timeout 5
color light-gray/blue yellow/blue

title Prima Distribuzione (puoi scrivere quello che vuoi)
root (hd0,2)
kernel /vmlinuz-2.6.6s26-mio-kernel root=/dev/hda4 ro vga=791
boot

title Seconda Distribuzione (puoi scrivere quello che vuoi)
root (hd0,2)
kernel (hd0,6)/boot/vmlinuz-2.6.6-altra-distro root=/dev/hda7 ro vga=791
boot
}}}

Seguendo questo schema portrete aggiungere quanti kernel volete, ma
ricordate che potrete provare prima i comandi interattivamente dal prompt di grub (Linea di comando di grub - Appare al boot premendo il tasto 'e' seguito da 'c')

Nel caso i kernel abbiano bisogno dell'initrd il '''menu.lst''' dovrebbe semplicemente contere un comando in più per ogni kernel:
{{{
default 0
timeout 5
color light-gray/blue yellow/blue

title Prima Distribuzione (puoi scrivere quello che vuoi)
root (hd0,2)
kernel /vmlinuz-2.6.6s26-mio-kernel root=/dev/hda4 ro vga=791
initrd /initrd.img-2.6.6-s26-mio-kernel
boot

title Seconda Distribuzione (puoi scrivere quello che vuoi)
root (hd0,2)
kernel (hd0,6)/boot/vmlinuz-2.6.6-altra-distro root=/dev/hda7 ro vga=791
initrd (hd0,6)/initrd.img-2.6.6-altra-distro
boot
}}}

Ovviamente, il blocco di un kernel potrebbe contere il comando
initrd ed il blocco di un altro no, a seconda che il kernel in oggetto
lo richieda o meno.

A questo punto, se avete appreso i concetti di base dovreste essere
in grado di configurare il menu di grub per qualsiasi esigenza. Per i
più intraprendenti aggiungo un ultima chicca. Se nel blocco di ogni
kernel inserite, prima del comando '''boot''', il comando '''savedefault''' e modificate il comando '''default 0''' in '''default save''', all'avvio il grub (dopo il timeout) sceglierà il kernel che avete scelto nel precedente avvio (vedi nota).

== Avviare altri sistemi operativi ==

=== Windows, BeOS, OpenBSD ===

Alcuni sistemi operativi sono suscettibili all'avvio tramite
bootloader, questo perchè hanno bisogno che la partizione da cui
partono sia "resa attiva" (e in molti casi questa deve essere anche una
partizione primaria); oltretutto questi sistemi operativi non possono
essere avviati leggendo "il kernel" attraverso, questo perchè l'avvio
del kernel, a quel punto è compito della routine di avvio di quel
sistema operativo e non di Grub (come accade, invece, con linux). Tra
questi sistemi operativi quelli che devono essere avviati in questo
modo sono fondamentalmente tre: Windows, BeOS e OpenBSD. Il più
versatile, anche per quanto riguarda l'installazione in partizione non
primaria, è sicuramente BeOS. Per avviare uno di questi sistemi
operativi basta scrivere (prendiamo come esempio Windows, assumendo che
sia sulla prima partizione di un secondo disco):
{{{
title Windows
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''La numerazione delle partizioni parte da 0, quindi il numero da inserire nel file di configurazione è di una posizione minore rispetto al numero della partizione.'' ||

Il terzo parametro da aggiungere è «kernel» che permette di inserire il percorso del file contenente l'immagine del kernel con i relativi argomenti, evitando così dei ''kernel panic'' all'avvio del sistema. Quello che segue è un esempio di cosa inserire nel parametro:
{{{
kernel /boot/vmlinuz-2.6.20-15-generic root=/dev/sda3 ro locale=it_IT quiet splash
}}}

Le opzioni più comuni sono le seguenti:

||<style="background-color:#F6D358;":> '''Opzione'''||<style="background-color:#F6D358;":> '''Descrizione'''||
||<style="text-align:center">'''root''' || Indica al kernel qual è la partizione contenente la directory radice del sistema.||
||<style="text-align:center">'''ro''' || Accede in sola lettura alla partizione contenente la directory radice. Per motivi di sicurezza è consigliato impostare questa opzione.||
||<style="text-align:center">'''splash''' || Mostra a video un'immagine durante il caricamento del sistema.||
||<style="text-align:center">'''locale''' || Indica la lingua da utilizzare.||
||<style="text-align:center">'''vga''' || Esegue il sistema in ''framebuffer''.||

Se il kernel che si desidera avviare utilizza '''initrd''' per il caricamento dei moduli all'avvio, come i kernel preinstallati in '''Ubuntu''', è necessario impostare anche il percorso dell'immagine '''ramdisk''' iniziale. In tal caso è utile aggiungere al file di configurazione la seguente istruzione:
{{{
initrd /boot/initrd.img-2.6.20-15-generic
}}}

||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Generalmente l'immagine si trova nella stessa cartella del kernel.'' ||

Quello che segue è un esempio di configurazione da inserire in `/boot/grub/menu.lst`:
{{{
title Ubuntu Hardy Heron
root (hd0,0)
kernel /boot/vmlinuz-2.6.20-15-generic root=/dev/hda1 ro locale=it_IT quiet splash
initrd /boot/initrd.img-2.6.20-15-generic
boot
}}}

=== Aggiungere sistemi Windows, BeOS e OpenBSD ===

Alcuni sistemi operativi come Windows od OpenBSD necessitano di una configurazione particolare per essere avviati, per esempio, la partizione dev'essere contrassegnata come ''attiva'' o come ''partizione primaria''. Questi sistemi operativi hanno routine specifiche che si occupano dell'avvio, di conseguenza parametri come «kernel» non vengono riconosciuti da '''GRUB'''.

Per avviare uno di questi sistemi operativi è necessario impostare i seguiti parametri:

||<style="background-color:#F6D358;":> '''Parametro'''||<style="background-color:#F6D358;":> '''Descrizione'''||
||<style="text-align:center">'''rootnoverify''' || Accede in sola lettura alla partizione contenente la directory radice. Per motivi di sicurezza è consigliato impostare questa opzione.||
||<style="text-align:center">'''makeactive''' || Rende la partizione ''attiva'' (necessario per Windows).||
||<style="text-align:center">'''chainloader''' || Legge la prima traccia della partizione, la quale conterrà un secondo boot loader da avviare in cascata.||
||<style="text-align:center">'''boot''' || Avvia il sistema.||

Quello che segue è un esempio di elenco completo da inserire nel file di configurazione di '''GRUB''':
{{{
Linea 235: Linea 152:
Il primo comando ({{{rootnoverify}}}) dice sostanzialmente qual è
la partizione di windows (nel nostro caso la prima partizione del
secondo disco è hd1,0, corrispondente, in Linux, a /dev/hdb1), il
secondo comando, invece rende la partizione attiva (condizione
essenziale per Windows), il terzo comando istruisce, sostanzialmente,
sul fatto di leggere la prima traccia di tale partizione, e l'ultimo
comando fa si che il sistema parta, eseguendo in ordine tutte le scelte
precedenti.

=== FreeBSD ===

Uno dei motivi per cui Grub ha una nomenclatura tutta particolare
dei dischi è dovuto al fatto che il programma è stato pensato per
avviare anche kernel non-linux, uno su tutti, quello di FreeBSD.
FreeBSD ha, infatti, un sistema di organizzazione delle directory
abbastanza particolare. Nell'esempio assumiamo che FreeBSD sia
installato nella seconda partizione del secondo disco:
{{{
title FreeBSD
=== Aggiungere un sistema FreeBSD ===

FreeBSD ha un sistema particolare di organizzazione delle cartelle. Nel seguente esempio si presume che il sistema sia installato nella seconda partizione del secondo disco:
{{{
Linea 258: Linea 160:
Per approfondire il sistema di partizionamento di FreeBSD consultare la BSD-FAQ-it.

== Installare Grub su floppy ==

Installare Grub su un floppy vi permetterà di fare partire qualsiasi sitema anche con MBR (Master Boot Record - Il primo settore del disco) corrotto. Per installare grub su di un floppy basterà eseguire i seguenti comandi:
{{{
# cd /lib/grub/i386-pc
# dd if=stage1 of=/dev/fd0 bs=512 count=1
1+0 records in
1+0 records out
# dd if=stage2 of=/dev/fd0 bs=512 seek=1
153+1 records in
153+1 records out
#
}}}

Su una distro non debian i percorsi potrebbero essere leggermente diferenti.

== Usare update-grub ==

Quando installate un nuovo kernel (binario o ricompilato che sia) contenuto in un pacchetto debian, verrà eseguito lo script '''update-grub''' che cercherà nuovi kernel in {{{/boot}}} e li inserirà in {{{menu.lst}}}.
Questo script può anche essere eseguito a mano se si ricompila un
kernel senza creare un pacchetto debian o se vuole ripristinare
velocemente il {{{menu.lst}}}.

Le voci per i vari kernel inserite da '''update-grub''' sono racchiuse tra la linea:

{{{
### BEGIN AUTOMAGIC KERNELS LIST
}}}

e la linea:

{{{
### END DEBIAN AUTOMAGIC KERNELS LIST
}}}

al di fuori di questo blocco potrete inserire tutte le vostre configurazioni che non volete siano modificate da '''update-grub''' (ad. kernel fissi, o qualsiasi altro comando grub).

Nel blocco "automagico" non vengono inseriti solo le voci dei vari
kernel ma anche dei commenti che servono a personalizzare il
comportamento di '''update-grub'''. Basterà modificare i commenti che cominciano con un solo '''#''' (quelli che cominciano con '''##'''
vengono ignorati anche da update-grub). Se ad esempio vogliamo che ogni
nuovo kernel sia inserito solo una volta (senza la seconda voce
recovery) e che venga sempre usato il framebuffer basta modificare le
apposite righe di {{{menu.lst}}} nel seguente modo:

{{{
# kopt=root=/dev/hda9 ro vga=791
 ... ... ...
# alternative=false
}}}

ovviamente quella partizione ({{{/dev/hda9}}}) deve essere la root dei kernel che si vuole inserire automagicamente. Notare che '''non''' si deve decommentare la linea altrimenti update-grub lo ignorerà e verrà considerato un comando grub.

== Impostare una password ==

Impostare una password in Grub non è operazione semplicissima,
tuttavia una volta imparato il metodo risulterà abbastanza semplice.
Prima di procedere con la spiegazione di come si utilizza la password
all'interno del file {{{menu.lst}}} (che, lo ricordiamo, si trova in {{{/boot/grub}}}), conviene spiegare in dettaglio il codice da utilizzare.
Per impostare una password, infatti, è sufficiente scrivere:

{{{
 password vostrapassword
}}}

Tuttavia una password di questo tipo ha il difetto di essere
visibile in chiaro (anche all'avvio stesso di Grub), ed è quindi poco
utile; fortunatamente Grub pensa a voi e vi permette di impostare una
password criptata con l'algoritmo MD5. Per fare ciò dovete, prima di
tutto ottenere la password codificata in tale modo; niente di più
semplice, avviate dalla shell il comando {{{grub-md5-crypt}}},
inserite due volte la password (una è di conferma) e copiate il
risultato ottenuto. Per utilizzare la password dovrete utilizzare il
seguente codice, leggermente differente dal precedente:

{{{
password --md5 vostrapasswordmd5
}}}

Adesso bisogna spiegare come utilizzare la parola chiave password;
esistono due modi, uno è quello di metterla dopo i codici iniziali,
prima della lista dei vari sistemi operativi, l'altro è di mettere
l'attributo anche per ogni sistema operativo avviato, dopo la riga
title. Mentre la seconda password ha effetto solamente sul sistemi
operativo in cui è inserito, la prima ha un effetto più generale, e
blocca l'accesso solo per quei sistemi operativi che contengono la
parola chiave lock dopo la riga title. Un esempio riassuntivo chiarirà
l'uso delle password e di tutte le opzioni viste finora:

{{{
default 0
timeout 5
splashimage=(hd0,2)/grub/splash.xpm.gz
password --md5 vostrapasswordmd5#1
title Prima Distribuzione (puoi scrivere quello che vuoi)
= Sicurezza =

== Proteggere l'avvio del sistema ==

'''GRUB''' permette di impostare una password di sicurezza quando si cerca di avviare un kernel.

Per creare la password è sufficiente digitare in una finestra di terminale il seguente comando:
{{{
sudo grub-md5-crypt
}}}

Inserire due volte la password. Verrà restituita la password cifrata con l'algoritmo MD5 da copiare nel file di configurazione.

Dunque, aggiungere il parametro «password» nel blocco della voce che si desidera proteggere, come nel seguente esempio:
{{{
title Ubuntu Hardy Heron
root (hd0,2)
kernel /vmlinuz-2.6.6s26-mio-kernel root=/dev/hda4 ro vga=791
initrd /initrd.img-2.6.6-s26-mio-kernel
password --md5 PasswordCifrata
boot
}}}

Infine, sostituire la dicitura «!PasswordCifrata» con il risultato del comando precedente; è possibile scegliere una diversa password per ogni sistema operativo del quale si desidera proteggere l'avvio.

È possibile proteggere con la stessa password l'avvio di diversi sistemi operativi e di diversi kernel; a tale scopo è sufficiente aggiungere il parametro «lock» nei blocchi che si desiderano proteggere, come nel seguente esempio:
{{{
title Ubuntu Hardy Heron
Linea 359: Linea 192:
savedefault
password --md5 vostrapasswordmd5#2
boot

title Seconda Distribuzione (puoi scrivere quello che vuoi)
lock
root (hd0,2)
kernel (hd0,6)/boot/vmlinuz-2.6.6-altra-distro root=/dev/hda7 ro vga=791
initrd (hd0,6)/initrd.img-2.6.6-altra-distro
savedefault
password --md5 vostrapasswordmd5#3
boot

title Windows
lock
rootnoverify (hd1,0)
makeactive
chainloader +1
savedefault
password --md5 vostrapasswordmd5#4
boot

title FreeBSD
lock
root (hd1,2,a)
kernel /boot/loader
savedefault
password --md5 vostrapasswordmd5#5
boot
}}}

== Riconoscimento modalità video ==

Una funzionalità forse poco nota, ma utile in certi casi è la capacità di grub di riconoscere al volo le modalità supportate in ''frame buffer'' dalla scheda video tramite il comando '''vbeprobe'''. E' anche possibile testare una modalità video tramite il comando '''testvbe''':
Grub mostrerà delle sfumature orizzontali multicolori che scorrono,
alla risoluzione del modo scelto. Scelto un modo (ad esempio 0x103), si
potrà fare partire il sistema in quella modalità aggiungendo il
parametro '''vga=''numero''''' alla linea del kernel, dove ''numero''
è il numero del modo più 200 esadecimale (indicato con 0x200). Questa
operazione è molto semplice: basta aggiungere 2 alla prima cifra del
modo, ad esempio se vogliamo il modo '''0x103''' dovremo passare al kernel '''vga=0x303'''.
Si può anche inserire la modalità video in decimale convertendo con una
calcolatrice scientifica il numero passato al kernel: nell'esempio è
equivalente scrivere '''vga=0x303''' o '''vga=771'''.

Ricordo che per usare il ''frame buffer'' deve essere abilitato
il supporto nel kernel. Tutti i kernel binari delle distribuzioni hanno
questo supporto attivato, ma se vi ricompilate un vostro kernel dovrete
ricordarvi di attivare il supporto ''frame buffer''.

== Usare una splashimage ==

Con Grub è possibile utilizzare un'immagine di sfondo per l'avvio
del PC. Questa immagine deve essere a 640x480 pixel, con una profondità
di soli 14 colori, in formato [http://www.w3.org/People/danield/xpm_story.html XPM] (un formato immagine che è possibile modificare come un semplice testo) e deve essere compressa in formato gzip.

I modi con cui, partendo da un'immagine in png o jpeg, è possibile
ottenere un'immagine con tali requisiti, sono fondamentalmente due. Si
può decidere di utilizzare GIMP; aprendo l'immagine di partenza, questa
deve essere ridimensionata a 640x480 ed i colori devono essere
impostati (premendo {{{ALT+I}}}) a 14, quindi si deve provvedere a salvarla direttamente in {{{/boot/grub}}} con l'estensione .xpm.gz (generalmente {{{splash.xpm.gz}}}).
Oppure si può decidere di utilizzare i seguenti comandi dalla shell:

{{{$ su
- inserire la password di root -
# convert - geometry 640x480 -colors 14 wall.jpg splash.xpm
# gzip splash.xpm
# cp splash.xpm.gz /boot/grub
#}}}

Volendo è possibile cercare su internet splashimage già pronti, uno dei più forniti è [http://fabrizio.ciacchi.it/guide.php?pagina=grub fabrizio.ciacchi.it/guide.php?pagina=grub]. Per utilizzare lo splashimage appena creato è necessario aprire il file {{{menu.lst}}} ed inserire, dopo timeout:

{{{
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
}}}

== Note finali ==

Per ulteriori approfondimenti rimando alla documentazione ufficiale di '''Grub'''. Nei sistemi Debian si trova nel pacchetto '''grub-doc''' e si consulta con il comando '''info grub''' (ricordate che in queste pagine basta premere 'u' per salire di un livello).

=== Nota #1 ===

L'opzione '''savedefault''' all'interno della configurazione di un
sistema operativo, fa in modo che, se selezionato, quello sia il
prossimo sistema operativo di default all'avvio. Ciò viene ignorato se
all'inizio del file {{{menu.lst}}} è stata messa la voce '''default=''x''''', dove '''''x''''' identifica il numero del sistema operativo di default (partendo da 0 anzichè da 1).

=== Nota #2 ===

In alcuni sistemi, ad esempio Redhat o Fedora, il file {{{'''menu.lst'''}}} potrebbe chiamarsi {{{'''grub.conf'''}}}.
Quindi, prima di operare sulle impostazioni di Grub, verificare il nome
esatto del file utilizzato. Se anche il sistema utilizzasse tale file,
la guida rimane valida, basta tenerne presente il diverso nome.

 * Autore: ''Antonio Ingargiola'' (debian AT fastwebnet.it)
 * Si ringrazia Fabrizio Ciacchi per aver scritto i paragrafi su come
bootare sistemi non Linux, sull'inserimento delle splashimage e
sull'uso della password.


From AlessioFattorini Fri Mar 18 10:02:49 +0000 2005
From: Alessio Fattorini
Date: Fri, 18 Mar 2005 10:02:49 +0000
Subject: Conversione MoinMoin
Message-ID: &lt;20050318100249+0000@https://www.ubuntulinux.org&gt;
Ottima guida, ma è da convertire in moin moin! Per rendere un po' il
tutto un po' standardizzato. Cmq grazie mille!
From Antonio Fri Mar 18 10:54:09 +0000 2005
From: Antonio
Date: Fri, 18 Mar 2005 10:54:09 +0000
Subject: RE: Conversione MoinMoin
Message-ID: &lt;20050318105409+0000@www.ubuntulinux.org&gt;
Lo so che sarebbe meglio, ma è un lavoraccio viste le numerose
formattazioni e la lunghezza. Per adesso meglio così che niente ;-). Se
qualcuno la vuole nel frattempo convertire questo è un wiki!

From MatthewEast Sun Mar 27 03:49:21 +0100 2005
From: Matthew East
Date: Sun, 27 Mar 2005 03:49:21 +0100
Subject: conversione
Message-ID: &lt;20050327034921+0100@www.ubuntulinux.org&gt;

io ci sto, lo faro presto

From Antonio Mon Mar 28 01:52:28 +0100 2005
From: Antonio
Date: Mon, 28 Mar 2005 01:52:28 +0100
Subject: OK
Message-ID: <20050328015228+0100@https://www.ubuntulinux.org>

Potrebbe essere utile fare uno script per una conversione automatica, così si potrebbe usare anche per altri doc. Ci sono solo due problemi:
1) Come fare le ancore
2) Come fare le abbreviazioni
Sono possibili in moin moin?


From MatthewEast Mon Mar 28 18:36:17 +0100 2005
From: Matthew East
Date: Mon, 28 Mar 2005 18:36:17 +0100
Subject: Fatto
Message-ID: <20050328183617+0100@https://www.ubuntulinux.org>

ok, ho fatto la conversione. Per rispondere: 1) le ancore non si possono fare e 2) non so, ma non credo che si possono fare le abbreviazioni. In questo documento ho tolto le ancore e ho messo le abbreviazioni in parentesi. Se dovesse essere introdotto la possibilita' di farli, poi possiamo modificare il documento.


From Antonio Tue Mar 29 12:17:22 +0100 2005
From: Antonio
Date: Tue, 29 Mar 2005 12:17:22 +0100
Subject: Ottimo!
Message-ID: <20050329121722+0100@https://www.ubuntulinux.org>

Complimenti a Matt, per l'ottima conversione e per il tempismo.
boot
}}}

== Proteggere l'accesso alle opzioni d'avvio ==

È possibile richiedere la password ogni volta che si tenta di accedere alle opzioni d'avvio di '''GRUB'''.

 0. Inserire la password nella riga che precede le voci del menù: {{{
password --md5 PasswordCifrata
}}}

 0. Sostituire la dicitura «!PasswordCifrata» con il risultato ottenuto dal seguente comando: {{{
grub-md5-crypt
}}}

Con questo parametro si potranno avviare liberamente i sistemi operativi corrispondenti alle voci già presenti, ma per modificare le opzioni di avvio verrà richiesta la password.

= Aggiornamento del menù di avvio =

Quando viene installato un nuovo kernel contenuto in un pacchetto `.deb`, viene eseguito in modo automatico il programma '''update-grub''' che cerca nuovi kernel nella directory `/boot` e li aggiunge nel file di configurazione `/boot/grub/menu.lst`.

Questo script può anche essere eseguito in manualmente nel caso in cui venga ricompilato un kernel che non è contenuto in un pacchetto `.deb` oppure se per ripristinare la la lista di avvio nel file `menu.lst`. Le voci per i vari kernel inserite dal comando '''update-grub''' sono contenute in una sezione che inizia con la seguente riga:
{{{
### BEGIN AUTOMAGIC KERNELS LIST
}}}

Tale sezione termina con la seguente riga:
{{{
### END DEBIAN AUTOMAGIC KERNELS LIST
}}}

Al di fuori di questo blocco è possibile inserire tutte le configurazioni che non necessitano una modifica da parte di '''update-grub'''.

Nel blocco «AUTOMAGIC» vengono inseriti anche i commenti che servono a personalizzare il comportamento del programma di aggiornamento. Nel caso in cui si abbia la necessità di inserire un nuovo kernel senza il relativo «recovery mode» e che venga avviato sempre il ''framebuffer'', modificare le apposite righe del file di configurazione come nel seguente esempio:
{{{
# kopt=root=/dev/hdaX ro vga=791

# alternative=false
}}}

Sostituire la dicitura «/dev/hdaX» con il percorso della partizione contenente il kernel.

||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Non togliere il commento alla riga, altrimenti'' '''update-grub''' ''la ignorerà e sarà considerata come un comando di'' '''GRUB'''. ||

[[Anchor(riconoscimentovga)]]
= Riconoscimento della modalità video =

'''GRUB''' riconosce le modalità supportate in [:Hardware/Video/FrameBuffer:framebuffer] dalla scheda video.

Entrare nella [#avvio modalità console] di GRUB e digitare il seguente comando:
{{{
vbeprobe
}}}

È anche possibile verificare il funzionamento di una modalità video, digitando il seguente comando:
{{{
testvbe
}}}
Per uscire dalla modalità console premere il tasto Esc.

Modificando il file `/boot/grub/menu.lst` è possibile avviare il sistema nella modalità desiderata aggiungendo il codice della modalità video alla linea del parametro «'''kernel'''»; quello che segue è un esempio:
{{{
kernel /vmlinuz-2.6.6s26-mio-kernel root=/dev/sda4 ro vga=numero
}}}

Sostituire la dicitura «numero» con con il valore scelto in precedenza aggiungendo ad esso 200. Se per esempio il valore è 0x103 nel parametro «'''kernel'''» bisognerà inserire il valore «vga=0x303».

È possibile inserire la modalità video in numero decimale effettuando la conversione con una calcolatrice scientifica. Per esempio scrivere «vga=0x303» equivale a scrivere «vga=771».

Per utilizzare il '''framebuffer''' è necessario abilitarne il supporto nel kernel. Tutti i kernel binari delle distribuzioni hanno questo supporto attivato, ma se viene ricompilato manualmente è necessario attivare il supporto al ''framebuffer''.

= Riconoscimento della tastiera USB =

Nel caso in cui si utilizzi una tastiera USB e risulti impossibile selezionare le voci presenti nel menù di avvio, è probabile che '''GRUB''' abbia incontrato dei problemi nel riconoscimento della stessa. Per ovviare a questo problema è sufficiente abilitare il supporto USB ''legacy'' del BIOS della propria scheda madre.

= Interfaccia grafica =

Consultare la guida a [:../StartUpManager:Start-Up Manager].

= Personalizzare la splashimage =

Consultare la [:../Splashimage:relativa guida].

= Ulteriori risorse =

 * [http://www.gnu.org/software/grub/ Sito ufficiale del progetto]
 * [http://www.gnu.org/software/grub/manual/grub.html#Stage2-errors Guida agli errori di Grub]
 * [http://www.gentoo.org/doc/it/grub-error-guide.xml Altra guida sugli errori di Grub]
 * [http://it.wikipedia.org/wiki/Power-on_self-test Voce enciclopedica di POST]
 * [http://it.wikipedia.org/wiki/Master_boot_record Voce enciclopedica di MBR]
----
CategoryAmministrazione CategoryConsigliata

BR Indice(depth=1)

Include(StrumentiWiki/GuideConsigliate)

VersioniSupportate(jaunty intrepid hardy )

Introduzione

GRUB (Grand Unified Bootloader) è il boot loader predefinito di Ubuntu, viene avviato subito dopo le operazioni POST del BIOS e si preoccupa di scegliere e avviare un sistema operativo fra quelli presenti nel computer oppure avviare in cascata un secondo boot loader. In genere GRUB riconosce automaticamente i sistemi operativi presenti e li inserisce nel menù iniziale. È possibile personalizzare o modificare la configurazione, modificare l'elenco dei sistemi operativi, il tempo di avvio e molti altri aspetti.

Installazione

Installazione predefinita

GRUB viene automaticamente installato e posizionato nel primo settore del MBR in modo da essere il boot loader primario durante la fase di avvio.

Installazione su floppy

L'installando GRUB su un floppy si avrà la possibilità di avviare qualsiasi sistema anche in caso di MBR danneggiato. Per installare GRUB su un floppy è necessario inserire un dischetto vuoto nel lettore, dunque digitare i seguenti comandi in una finestra di terminale:

sudo mke2fs /dev/fd0
sudo mount -t ext2 /dev/fd0 /mnt
sudo grub-install --root-directory=/mnt fd0
sudo umount /mnt

Sostituire la dicitura «/dev/fd0» con una adatta alla propria configurazione.

Ripristino

Quando si installa un sistema operativo come Windows che va a cancellare e sovrascrivere l'MBR ignorando completamente altri sistemi operativi presenti nel computer, GRUB non sarà più il boot loader principale del sistema e all'avvio del computer verrà avviato Windows e non più Linux. Per ripristinare GRUB come boot loader predefinito, consultare la [:../Ripristino:relativa guida].

Anchor(avvio)

Avvio

Per poter modificare le opzioni di GRUB o scegliere un kernel diverso da avviare, è sufficiente premere il tasto «Esc». Sono messi a disposizione dell'utente dei tasti per accedere in modo rapido alla configurazione oppure alla riga di comando.

Tasti di scelta rapida

Funzione

«c»

Accede alla riga di comando della console di GRUB.

«e»

Apre un editor dove è possibile modificare la voce del menù selezionata.

«b»

Avvia il sistema sulla riga selezionata.

«o»

Crea una nuova riga.

«d»

Elimina la riga selezionata.

Configurazione

Tutti i file di configurazione di GRUB sono contenuti nella cartella /boot. Tutte le modifiche dovranno essere apportate al file /boot/grub/menu.lst.

Seguirà un elenco di possibili modifiche che si possono effettuare a GRUB. Tutte le modifiche dovranno essere effettuate con un [:Ufficio/EditorDiTesto:editor di testo] e con i [:AmministrazioneSistema/Sudo:privilegi di amministratore] al file /boot/grub/menu.lst.

Tempo di selezione

GRUB è in grado di avviare automaticamente un sistema operativo predefinito qualora entro un certo lasso di tempo non venga premuto alcun tasto. Per aumentare il tempo a disposizione, modificare il valore del parametro «timeout»:

timeout 3

Scelta del kernel predefinito

GRUB dopo un lasso di tempo avvia automaticamente il primo sistema operativo presente nel suo file di configurazione. Per cambiare l'ordine dei kernel presenti nel file di configurazione, modificare il valore del parametro «Default»:

Default   0

Visibilità del menù

Ubuntu nasconde in modo predefinito il menù d'avvio di GRUB. Per rendere visibile il menù, premere il tasto «Esc» alla schermata Press ESC to enter the menu.... Per far apparire sempre il menù all'avvio cercare la seguente stringa nel file di configurazione:

hiddenmenu

Modificarla come nel seguente esempio:

#hiddenmenu

Personalizzare le voci

Per modificare una voce di menù, modificare il parametro «title» relativo al kernel scelto inserendo il testo desiderato.

Aggiungere un sistema operativo all'elenco

Aggiungere un kernel

Il primo parametro da aggiungere è «title» che permette di inserire la voce del menù relativa al sistema operativo che verrà visualizzato nel menù:

title     Ubuntu Hardy Heron

Successivamente inserire il parametro «root» che permette di impostare il disco fisso e la partizione in cui si trova l'immagine del kernel. Se, per esempio, il disco si trova in /dev/sda3, l'istruzione da impostare nel file di configurazione di GRUB è la seguente:

root (hd0,2)

Immagine(Icone/Piccole/note.png,,center)

La numerazione delle partizioni parte da 0, quindi il numero da inserire nel file di configurazione è di una posizione minore rispetto al numero della partizione.

Il terzo parametro da aggiungere è «kernel» che permette di inserire il percorso del file contenente l'immagine del kernel con i relativi argomenti, evitando così dei kernel panic all'avvio del sistema. Quello che segue è un esempio di cosa inserire nel parametro:

kernel          /boot/vmlinuz-2.6.20-15-generic root=/dev/sda3 ro locale=it_IT quiet splash

Le opzioni più comuni sono le seguenti:

Opzione

Descrizione

root

Indica al kernel qual è la partizione contenente la directory radice del sistema.

ro

Accede in sola lettura alla partizione contenente la directory radice. Per motivi di sicurezza è consigliato impostare questa opzione.

splash

Mostra a video un'immagine durante il caricamento del sistema.

locale

Indica la lingua da utilizzare.

vga

Esegue il sistema in framebuffer.

Se il kernel che si desidera avviare utilizza initrd per il caricamento dei moduli all'avvio, come i kernel preinstallati in Ubuntu, è necessario impostare anche il percorso dell'immagine ramdisk iniziale. In tal caso è utile aggiungere al file di configurazione la seguente istruzione:

initrd /boot/initrd.img-2.6.20-15-generic

Immagine(Icone/Piccole/note.png,,center)

Generalmente l'immagine si trova nella stessa cartella del kernel.

Quello che segue è un esempio di configurazione da inserire in /boot/grub/menu.lst:

title     Ubuntu Hardy Heron
root      (hd0,0)
kernel    /boot/vmlinuz-2.6.20-15-generic root=/dev/hda1 ro locale=it_IT quiet splash
initrd    /boot/initrd.img-2.6.20-15-generic
boot

Aggiungere sistemi Windows, BeOS e OpenBSD

Alcuni sistemi operativi come Windows od OpenBSD necessitano di una configurazione particolare per essere avviati, per esempio, la partizione dev'essere contrassegnata come attiva o come partizione primaria. Questi sistemi operativi hanno routine specifiche che si occupano dell'avvio, di conseguenza parametri come «kernel» non vengono riconosciuti da GRUB.

Per avviare uno di questi sistemi operativi è necessario impostare i seguiti parametri:

Parametro

Descrizione

rootnoverify

Accede in sola lettura alla partizione contenente la directory radice. Per motivi di sicurezza è consigliato impostare questa opzione.

makeactive

Rende la partizione attiva (necessario per Windows).

chainloader

Legge la prima traccia della partizione, la quale conterrà un secondo boot loader da avviare in cascata.

boot

Avvia il sistema.

Quello che segue è un esempio di elenco completo da inserire nel file di configurazione di GRUB:

rootnoverify (hd1,0)
makeactive
chainloader +1
boot

Aggiungere un sistema FreeBSD

FreeBSD ha un sistema particolare di organizzazione delle cartelle. Nel seguente esempio si presume che il sistema sia installato nella seconda partizione del secondo disco:

root (hd1,1,a)
kernel /boot/loader

Sicurezza

Proteggere l'avvio del sistema

GRUB permette di impostare una password di sicurezza quando si cerca di avviare un kernel.

Per creare la password è sufficiente digitare in una finestra di terminale il seguente comando:

sudo grub-md5-crypt

Inserire due volte la password. Verrà restituita la password cifrata con l'algoritmo MD5 da copiare nel file di configurazione.

Dunque, aggiungere il parametro «password» nel blocco della voce che si desidera proteggere, come nel seguente esempio:

title Ubuntu Hardy Heron
root (hd0,2)
kernel /vmlinuz-2.6.6s26-mio-kernel root=/dev/hda4 ro vga=791
initrd /initrd.img-2.6.6-s26-mio-kernel
password --md5 PasswordCifrata
boot

Infine, sostituire la dicitura «PasswordCifrata» con il risultato del comando precedente; è possibile scegliere una diversa password per ogni sistema operativo del quale si desidera proteggere l'avvio.

È possibile proteggere con la stessa password l'avvio di diversi sistemi operativi e di diversi kernel; a tale scopo è sufficiente aggiungere il parametro «lock» nei blocchi che si desiderano proteggere, come nel seguente esempio:

title Ubuntu Hardy Heron
lock
root (hd0,2)
kernel /vmlinuz-2.6.6s26-mio-kernel root=/dev/hda4 ro vga=791
initrd /initrd.img-2.6.6-s26-mio-kernel
boot

Proteggere l'accesso alle opzioni d'avvio

È possibile richiedere la password ogni volta che si tenta di accedere alle opzioni d'avvio di GRUB.

  1. Inserire la password nella riga che precede le voci del menù:

    password --md5 PasswordCifrata
  2. Sostituire la dicitura «PasswordCifrata» con il risultato ottenuto dal seguente comando:

    grub-md5-crypt

Con questo parametro si potranno avviare liberamente i sistemi operativi corrispondenti alle voci già presenti, ma per modificare le opzioni di avvio verrà richiesta la password.

Aggiornamento del menù di avvio

Quando viene installato un nuovo kernel contenuto in un pacchetto .deb, viene eseguito in modo automatico il programma update-grub che cerca nuovi kernel nella directory /boot e li aggiunge nel file di configurazione /boot/grub/menu.lst.

Questo script può anche essere eseguito in manualmente nel caso in cui venga ricompilato un kernel che non è contenuto in un pacchetto .deb oppure se per ripristinare la la lista di avvio nel file menu.lst. Le voci per i vari kernel inserite dal comando update-grub sono contenute in una sezione che inizia con la seguente riga:

### BEGIN AUTOMAGIC KERNELS LIST

Tale sezione termina con la seguente riga:

### END DEBIAN AUTOMAGIC KERNELS LIST

Al di fuori di questo blocco è possibile inserire tutte le configurazioni che non necessitano una modifica da parte di update-grub.

Nel blocco «AUTOMAGIC» vengono inseriti anche i commenti che servono a personalizzare il comportamento del programma di aggiornamento. Nel caso in cui si abbia la necessità di inserire un nuovo kernel senza il relativo «recovery mode» e che venga avviato sempre il framebuffer, modificare le apposite righe del file di configurazione come nel seguente esempio:

# kopt=root=/dev/hdaX ro vga=791

# alternative=false

Sostituire la dicitura «/dev/hdaX» con il percorso della partizione contenente il kernel.

Immagine(Icone/Piccole/note.png,,center)

Non togliere il commento alla riga, altrimenti update-grub la ignorerà e sarà considerata come un comando di GRUB.

Anchor(riconoscimentovga)

Riconoscimento della modalità video

GRUB riconosce le modalità supportate in [:Hardware/Video/FrameBuffer:framebuffer] dalla scheda video.

Entrare nella [#avvio modalità console] di GRUB e digitare il seguente comando:

vbeprobe

È anche possibile verificare il funzionamento di una modalità video, digitando il seguente comando:

testvbe

Per uscire dalla modalità console premere il tasto Esc.

Modificando il file /boot/grub/menu.lst è possibile avviare il sistema nella modalità desiderata aggiungendo il codice della modalità video alla linea del parametro «kernel»; quello che segue è un esempio:

kernel /vmlinuz-2.6.6s26-mio-kernel root=/dev/sda4 ro vga=numero

Sostituire la dicitura «numero» con con il valore scelto in precedenza aggiungendo ad esso 200. Se per esempio il valore è 0x103 nel parametro «kernel» bisognerà inserire il valore «vga=0x303».

È possibile inserire la modalità video in numero decimale effettuando la conversione con una calcolatrice scientifica. Per esempio scrivere «vga=0x303» equivale a scrivere «vga=771».

Per utilizzare il framebuffer è necessario abilitarne il supporto nel kernel. Tutti i kernel binari delle distribuzioni hanno questo supporto attivato, ma se viene ricompilato manualmente è necessario attivare il supporto al framebuffer.

Riconoscimento della tastiera USB

Nel caso in cui si utilizzi una tastiera USB e risulti impossibile selezionare le voci presenti nel menù di avvio, è probabile che GRUB abbia incontrato dei problemi nel riconoscimento della stessa. Per ovviare a questo problema è sufficiente abilitare il supporto USB legacy del BIOS della propria scheda madre.

Interfaccia grafica

Consultare la guida a [:../StartUpManager:Start-Up Manager].

Personalizzare la splashimage

Consultare la [:../Splashimage:relativa guida].

Ulteriori risorse


CategoryAmministrazione CategoryConsigliata