1 508
contributi
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 1: | Riga 1: | ||
{{Debianized}}[[Categoria:Sistema]] | {{Debianized}}[[Categoria:Sistema]] | ||
{{Warningbox|Questa guida è dedicata alla configurazione e all'uso di Grub: le istruzioni che seguono sono dunque da intendersi valide solo per Grub e '''non''' per Grub2}} | |||
== Introduzione == | == Introduzione == | ||
Questa è una guida generica (non specifica per Debian) su '''Grub''' che | Questa è una guida generica (non specifica per Debian) su '''Grub''' che | ||
comprende argomenti quali l'installazione e la configurazione da zero | comprende argomenti quali l'installazione e la configurazione da zero | ||
di | 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 | ||
Riga 44: | Riga 44: | ||
</pre> | </pre> | ||
in questo modo ogni altro [[boot loader]] verrà sovrascritto e all'avvio apparirà | 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, | ||
ne basta uno che le faccia partire tutte. | ne basta uno che le faccia partire tutte. | ||
Se si è installato | 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: | ||
<pre> | <pre> | ||
# mkdir /mnt/root | # mkdir /mnt/root | ||
Riga 59: | Riga 59: | ||
</pre> | </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 | 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 | Vediamo ora di capire un poco meglio quali sono i vari componenti di Grub. | ||
Il "primo pezzo di | 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 appunto questo file, anche se con alcune limitazioni (per maggiori informazioni vedere la sezione [[Guida_a_Grub#Usare_update-grub|<tt>'''update-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 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 | 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 == | ||
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 | 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 <code>'''/boot/grub/menu.lst'''</code> per creare una voce nel menu di Grub. | ||
Innanzi tutto dobbiamo dire a '''Grub''' qual è la '''sua''' partizione di root, che è <tt>/boot</tt> (ci siamo?). Ma in che partizione è '''/boot'''? | Innanzi tutto dobbiamo dire a '''Grub''' qual è la '''sua''' partizione di root, che è <tt>/boot</tt> (ci siamo?). Ma in che partizione è <code>'''/boot'''</code>? È la partizione montata in <code>'''/boot'''</code> quando avete dato <code>'''grub-install'''</code>. Controllate il file <code>'''/etc/fstab'''</code> per vedere qual è. Se fosse <code>'''/dev/hda3'''</code>, dovremmo scrivere al ''prompt di grub'' (Linea di comando di Grub - Appare al boot premendo il tasto <code>e</code> seguito da <code>c</code>) | ||
<pre> | <pre> | ||
root (hd0,2) | root (hd0,2) | ||
</pre> | </pre> | ||
fate attenzione perché '''Grub''' numera sia i dischi che le partizioni, e lo fa partendo da 0, quindi il disco hda corrisponde ad hd0, e il numero della partizione è di una unità in meno rispetto al numero che ha sotto | fate attenzione perché '''Grub''' numera sia i dischi che le partizioni, e lo fa partendo da 0, quindi il disco hda corrisponde ad hd0, e il numero della partizione è di una unità in meno rispetto al numero che ha sotto Linux. | ||
Se fosse '''/dev/hda1''' dovremmo dare: '''root (hd0,0)''', chiaro? | Se fosse <code>'''/dev/hda1'''</code> dovremmo dare: <code>'''root (hd0,0)'''</code>, 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 ì.}} | {{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 <code>ì</code>.}} | ||
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 | Ora carichiamo il kernel. Poniamo che il file sia <code>'''/boot/vmlinuz-2.6.6s26-mio-kernel'''</code>. Supponiamo che la ''partizione di root del kernel'' (cioè proprio la root del sistema) sia <code>'''/dev/hda4'''</code>, scriveremo nel prompt di Grub (Linea di comando di Grub - Appare al boot premendo il tasto <code>e</code> seguito da <code>c</code>) come secondo comando: | ||
<pre> | <pre> | ||
kernel /vmlinuz-2.6.6s26-mio-kernel root=/dev/hda4 ro vga=791 | kernel /vmlinuz-2.6.6s26-mio-kernel root=/dev/hda4 ro vga=791 | ||
</pre> | </pre> | ||
vedete? Partendo dalla ''root di grub'', che è '''/boot''' sotto | vedete? Partendo dalla ''root di grub'', che è <code>'''/boot'''</code> sotto Linux, il file del kernel è semplicemente in <code>'''/'''</code>. In ogni caso è qui che l'auto-completamento (premendo <tt>TAB</tt>, 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. | * <code>'''ro'''</code>: accede inizialmente alle partizioni in sola lettura. È 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. | * <code>'''vga=791'''</code>: 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. | A questo punto basta dare il comando <code>'''boot'''</code> per fare partire (si spera) il sistema. | ||
{{Box| Nota |Se non si ha una partizione separata per <tt>/boot</tt>, bisognerà indicare la partizione di root del sistema come root di | {{Box| Nota |Se non si ha una partizione separata per <tt>/boot</tt>, bisognerà indicare la partizione di root del sistema come root di Grub. In questo caso però, il kernel non si troverà in <tt>/vmlinuz</tt> ma in <tt>/boot/vmlinuz</tt>.}} | ||
== Far partire un secondo 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'opzione '''root=/dev/hda4''' per indicare la corretta ''partizione di root della seconda distro''. | Se avete il kernel di una seconda distro sempre nella partizione di boot <code>'''/dev/hda3'''</code>, basta cambiare il nome del file del kernel e l'opzione <code>'''root=/dev/hda4'''</code> per indicare la corretta ''partizione di root della seconda distro''. | ||
Se invece il file del kernel della seconda distro risiede in un'altra | 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 | partizione che non sia la boot della prima distro (potrebbe essere una | ||
seconda partizione di boot creata dalla seconda distro o direttamente | seconda partizione di boot creata dalla seconda distro o direttamente | ||
la partizione di root della seconda distro), basta indicare il percorso | la partizione di root della seconda distro), basta indicare il percorso | ||
completo a | 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: | sia <code>'''/dev/hda7'''</code> e che questa sia la root della seconda distro, per caricare il kernel scriveremo: | ||
<pre> | <pre> | ||
kernel (hd0,6)/boot/vmlinuz-2.6.6-altra-distro root=/dev/hda7 ro vga=791 | kernel (hd0,6)/boot/vmlinuz-2.6.6-altra-distro root=/dev/hda7 ro vga=791 | ||
Riga 112: | Riga 112: | ||
ovviamente avvalendoci il più possibile dell'auto-completamento per | ovviamente avvalendoci il più possibile dell'auto-completamento per | ||
facilitare le cose. Notate come in questo caso abbiamo inserito '''/boot''' perché non c'è una partizione di boot ma solo una sotto-directory di root nella medesima partizione ovvero '''(hd0,6)''' ('''/dev/hda7''' in gergo linux). | facilitare le cose. Notate come in questo caso abbiamo inserito <code>'''/boot'''</code> perché non c'è una partizione di boot ma solo una sotto-directory di root nella medesima partizione ovvero <code>'''(hd0,6)'''</code> (<code>'''/dev/hda7'''</code> in gergo linux). | ||
Se avete un kernel che usa l'initrd (di solito tutti i kernel | 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 | 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 | ricompilate il kernel) prima di dare il comando <code>'''boot'''</code> 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 <code>e</code> seguito da <code>c</code>) | ||
<pre> | <pre> | ||
initrd /initrd.img-2.6.6-s26-mio-kernel | initrd /initrd.img-2.6.6-s26-mio-kernel | ||
Riga 135: | Riga 135: | ||
== Configurare il Menù di grub == | == Configurare il Menù di grub == | ||
Il menu di | Il menu di Grub si imposta tramite il file <code>'''/boot/grub/menu.lst'''</code>. | ||
L'intestazione di questo file può contenere molti comandi. Noi | L'intestazione di questo file può contenere molti comandi. Noi | ||
vedremo solo un esempio semplicissimo ma pienamente sufficiente ai | vedremo solo un esempio semplicissimo ma pienamente sufficiente ai | ||
Riga 145: | Riga 145: | ||
</pre> | </pre> | ||
Inserendo queste righe all'inizio del '''menu.lst''' diremo a | Inserendo queste righe all'inizio del <code>'''menu.lst'''</code> diremo a Grub | ||
che all'avvio dovrà attendere 5 secondi (timeout) e dopo di che | che all'avvio dovrà attendere 5 secondi (timeout) e dopo di che | ||
scegliere il primo kernel dell'elenco (il numero 0, ricordate che Grub | scegliere il primo kernel dell'elenco (il numero 0, ricordate che Grub | ||
Riga 152: | Riga 152: | ||
per il testo normale e per il testo evidenziato. | 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''') | 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 <code>'''menu.lst'''</code> bisogna inserire in più soltanto un primo comando (<code>'''title'''</code>) | ||
che specifica il nome che apparirà all'avvio per quel kernel nel menù | che specifica il nome che apparirà all'avvio per quel kernel nel menù | ||
del grub. In pratica, usando gli esempi precedenti dei due kernel, | del grub. In pratica, usando gli esempi precedenti dei due kernel, | ||
dovremmo avere un '''menu.lst''' del genere: | dovremmo avere un <code>'''menu.lst'''</code> del genere: | ||
<pre> | <pre> | ||
default 0 | default 0 | ||
Riga 173: | Riga 173: | ||
Seguendo questo schema porterete aggiungere quanti kernel volete, ma | Seguendo questo schema porterete 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 | ricordate che potrete provare prima i comandi interattivamente dal prompt di grub (Linea di comando di grub - Appare al boot premendo il tasto <code>e</code> seguito da <code>c</code>) | ||
Nel caso i kernel abbiano bisogno dell'initrd il '''menu.lst''' dovrebbe semplicemente | Nel caso i kernel abbiano bisogno dell'initrd il <code>'''menu.lst'''</code> dovrebbe semplicemente contenere un comando in più per ogni kernel: | ||
<pre> | <pre> | ||
default 0 | default 0 | ||
Riga 199: | Riga 199: | ||
A questo punto, se avete appreso i concetti di base dovreste essere | A questo punto, se avete appreso i concetti di base dovreste essere | ||
in grado di configurare il menu di | in grado di configurare il menu di Grub per qualsiasi esigenza. Per i | ||
più intraprendenti aggiungo un ultima chicca. Se nel blocco di ogni | 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 | kernel inserite, prima del comando <code>'''boot'''</code>, il comando <code>'''savedefault'''</code> e modificate il comando <code>'''default 0'''</code> in <code>'''default save'''</code>, all'avvio Grub (dopo il timeout) sceglierà il kernel che avete scelto nel precedente avvio (vedi nota). | ||
== Avviare altri sistemi operativi == | == Avviare altri sistemi operativi == | ||
Riga 210: | Riga 210: | ||
boot-loader è più delicato, perché hanno bisogno che la partizione da cui | boot-loader è più delicato, perché hanno bisogno che la partizione da cui | ||
partono sia "resa attiva" (e in molti casi questa deve essere anche una | partono sia "resa attiva" (e in molti casi questa deve essere anche una | ||
partizione primaria). Oltretutto, mentre con | partizione primaria). Oltretutto, mentre con Linux Grub può caricare direttamente il kernel e avviare il sistema, con altri sistemi operativi il kernel può essere avviato solo dal boot-loader nativo e quindi Grub non può fare altro che richiamare il boot-loader nativo (''chainloading'') che a sua volta caricherà il kernel e avvierà il sistema. | ||
I sistemi operativi che devono essere avviati in questo | I sistemi operativi che devono essere avviati in questo | ||
Riga 227: | Riga 227: | ||
Il primo comando (<tt>rootnoverify</tt>) dice sostanzialmente qual è | Il primo comando (<tt>rootnoverify</tt>) dice sostanzialmente qual è | ||
la partizione di | la partizione di Windows (nel nostro caso la prima partizione del | ||
secondo disco è hd1,0, corrispondente, in Linux, a <tt>/dev/hdb1</tt>), il | secondo disco è hd1,0, corrispondente, in Linux, a <tt>/dev/hdb1</tt>), il | ||
secondo comando, invece, rende la partizione attiva (condizione | secondo comando, invece, rende la partizione attiva (condizione | ||
Riga 239: | Riga 239: | ||
Uno dei motivi per cui Grub ha una nomenclatura tutta particolare | Uno dei motivi per cui Grub ha una nomenclatura tutta particolare | ||
dei dischi è dovuto al fatto che il programma è stato pensato per | dei dischi è dovuto al fatto che il programma è stato pensato per | ||
avviare anche kernel non- | avviare anche kernel non-Linux, uno su tutti, quello di FreeBSD. | ||
FreeBSD ha, infatti, un sistema di organizzazione delle directory | FreeBSD ha, infatti, un sistema di organizzazione delle directory | ||
abbastanza particolare. Nell'esempio assumiamo che FreeBSD sia | abbastanza particolare. Nell'esempio assumiamo che FreeBSD sia | ||
Riga 265: | Riga 265: | ||
</pre> | </pre> | ||
Su una distro non | Su una distro non Debian i percorsi potrebbero essere leggermente differenti. | ||
=== Metodo 2 === | === Metodo 2 === | ||
Riga 271: | Riga 271: | ||
Formattiamo il floppy usando il filesystem ext2: | Formattiamo il floppy usando il filesystem ext2: | ||
<pre> | |||
# mkfs.ext2 /dev/fd0 | # mkfs.ext2 /dev/fd0 | ||
</pre> | |||
montiamolo e creiamo una directory di nome <tt>grub</tt>: | montiamolo e creiamo una directory di nome <tt>grub</tt>: | ||
<pre> | |||
# mount -t ext2 /dev/fd0 /media/floppy | # mount -t ext2 /dev/fd0 /media/floppy | ||
# mkdir /media/floppy/grub | # mkdir /media/floppy/grub | ||
</pre> | |||
Copiamo i file di | Copiamo i file di Grub ed il menu di avvio: | ||
<pre> | |||
# cp /boot/grub/stage* /media/floppy/grub/ | # cp /boot/grub/stage* /media/floppy/grub/ | ||
# cp /boot/grub/menu.lst /media/floppy/grub | # cp /boot/grub/menu.lst /media/floppy/grub | ||
</pre> | |||
Nota: di default il menu.lst ha la voce <tt>savedefault</tt> sotto ogni kernel. Grub salva l'ultimo kernel avviato in <tt>/boot/grub/default</tt> . Se però avviamo da dischetto, | Nota: di default il file <code>menu.lst</code> ha la voce <tt>savedefault</tt> sotto ogni kernel. Grub salva l'ultimo kernel avviato in <tt>/boot/grub/default</tt> . Se però avviamo da dischetto, Grub, che usa il <tt>menu.lst</tt> copiato da <tt>/boot/grub</tt>, vorrà salvare il default in <tt>/grub/default</tt> (su dischetto). Non trovandolo Grub si bloccherà con "error 15 file not found". Se non vogliamo modificare a mano il <tt>menu.lst</tt> del dischetto togliendo la voce <tt>savedefault</tt> da ogni kernel, dobbiamo copiare anche il file <tt>/boot/grub/default</tt> sul dischetto: | ||
<pre> | |||
# cp /boot/grub/default /media/floppy/grub/ | # cp /boot/grub/default /media/floppy/grub/ | ||
</pre> | |||
Ora smontiamo il floppy: | Ora smontiamo il floppy: | ||
<pre> | |||
# umount /media/floppy | # umount /media/floppy | ||
</pre> | |||
e installiamo lo stage1 nel [[MBR]] (del floppy): | e installiamo lo stage1 nel [[MBR]] (del floppy): | ||
<pre> | |||
# grub | # grub | ||
</pre> | |||
e dalla shell di grub digitiamo i seguenti comandi: | e dalla shell di grub digitiamo i seguenti comandi: | ||
<pre> | |||
> root (fd0) | > root (fd0) | ||
> setup (fd0) | > setup (fd0) | ||
> quit | > quit | ||
</pre> | |||
Fatto. Non ci resta che provare il nostro dischetto di avvio. | Fatto. Non ci resta che provare il nostro dischetto di avvio. | ||
== Usare update-grub == | == Usare update-grub == | ||
Quando installate un nuovo kernel (binario o ricompilato che sia) contenuto in un pacchetto | Quando installate un nuovo kernel (binario o ricompilato che sia) contenuto in un pacchetto Debian, verrà eseguito lo script <code>'''update-grub'''</code> che cercherà nuovi kernel in <tt>/boot</tt> e li inserirà in <tt>menu.lst</tt>. | ||
Questo script può anche essere eseguito a mano se si ricompila un | Questo script può anche essere eseguito a mano se si ricompila un | ||
kernel senza creare un pacchetto | kernel senza creare un pacchetto Debian o se vuole ripristinare | ||
velocemente il <tt>menu.lst</tt>. | velocemente il <tt>menu.lst</tt>. | ||
Le voci per i vari kernel inserite da '''update-grub''' sono racchiuse tra la linea: | Le voci per i vari kernel inserite da <code>'''update-grub'''</code> sono racchiuse tra la linea: | ||
<pre> | <pre> | ||
Riga 323: | Riga 323: | ||
</pre> | </pre> | ||
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). | al di fuori di questo blocco potrete inserire tutte le vostre configurazioni che non volete siano modificate da <code>'''update-grub'''</code> (ad. kernel fissi, o qualsiasi altro comando grub). | ||
Nel blocco "automagico" non vengono inseriti solo le voci dei vari | Nel blocco "automagico" non vengono inseriti solo le voci dei vari | ||
kernel ma anche dei commenti che servono a personalizzare il | 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 '''##''' | comportamento di <code>'''update-grub'''</code>. Basterà modificare i commenti che cominciano con un solo <code>'''#'''</code> (quelli che cominciano con <code>'''##'''</code> | ||
vengono ignorati anche da update-grub). Se ad esempio vogliamo che ogni | vengono ignorati anche da update-grub). Se ad esempio vogliamo che ogni | ||
nuovo kernel sia inserito solo una volta (senza la seconda voce | nuovo kernel sia inserito solo una volta (senza la seconda voce | ||
Riga 374: | Riga 374: | ||
operativo in cui è inserito, la prima ha un effetto più generale, e | operativo in cui è inserito, la prima ha un effetto più generale, e | ||
blocca l'accesso solo per quei sistemi operativi che contengono la | blocca l'accesso solo per quei sistemi operativi che contengono la | ||
parola chiave lock dopo la riga '''title'''. Un esempio riassuntivo chiarirà | parola chiave lock dopo la riga <code>'''title'''</code>. Un esempio riassuntivo chiarirà | ||
l'uso delle password e di tutte le opzioni viste finora: | l'uso delle password e di tutte le opzioni viste finora: | ||
Riga 420: | Riga 420: | ||
== Riconoscimento modalità video == | == Riconoscimento modalità video == | ||
Una funzionalità forse poco nota, ma utile in certi casi è la capacità di | 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 <code>'''vbeprobe'''</code>. È anche possibile testare una modalità video tramite il comando <code>'''testvbe'''<code>: | ||
Grub mostrerà delle sfumature orizzontali multicolori che scorrono, | Grub mostrerà delle sfumature orizzontali multicolori che scorrono, | ||
alla risoluzione del modo scelto. Scelto un modo (ad esempio 0x103), si | alla risoluzione del modo scelto. Scelto un modo (ad esempio 0x103), si | ||
potrà fare partire il sistema in quella modalità aggiungendo il | potrà fare partire il sistema in quella modalità aggiungendo il | ||
parametro '''vga=''numero''''' alla linea del kernel, dove ''numero'' | parametro <code>'''vga=''numero'''''</code> alla linea del kernel, dove ''numero'' | ||
è il numero del modo più 200 esadecimale (indicato con 0x200). Questa | è il numero del modo più 200 esadecimale (indicato con 0x200). Questa | ||
operazione è molto semplice: basta aggiungere 2 alla prima cifra del | operazione è molto semplice: basta aggiungere 2 alla prima cifra del | ||
Riga 447: | Riga 447: | ||
può decidere di utilizzare GIMP; aprendo l'immagine di partenza, questa | può decidere di utilizzare GIMP; aprendo l'immagine di partenza, questa | ||
deve essere ridimensionata a 640x480 ed i colori devono essere | deve essere ridimensionata a 640x480 ed i colori devono essere | ||
impostati (premendo <tt>ALT+I</tt>) a 14, quindi si deve provvedere a salvarla direttamente in <tt>/boot/grub</tt> con l'estensione .xpm.gz (generalmente <tt>splash.xpm.gz</tt>). | impostati (premendo <tt>ALT+I</tt>) a 14, quindi si deve provvedere a salvarla direttamente in <tt>/boot/grub</tt> con l'estensione <code>.xpm.gz</code> (generalmente <tt>splash.xpm.gz</tt>). | ||
Oppure si può decidere di utilizzare i seguenti comandi dalla shell: | Oppure si può decidere di utilizzare i seguenti comandi dalla shell: | ||
Riga 477: | Riga 477: | ||
== Note finali == | == 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). | Per ulteriori approfondimenti rimando alla documentazione ufficiale di '''Grub'''. Nei sistemi Debian si trova nel pacchetto '''grub-doc''' e si consulta con il comando <code>'''info grub'''</code> (ricordate che in queste pagine basta premere 'u' per salire di un livello). | ||
=== Nota #1 === | === Nota #1 === | ||
L'opzione '''savedefault''' all'interno della configurazione di un | L'opzione <code>'''savedefault'''</code> all'interno della configurazione di un | ||
sistema operativo, fa in modo che, se selezionato, quello sia il | sistema operativo, fa in modo che, se selezionato, quello sia il | ||
prossimo sistema operativo di default all'avvio. Ciò viene ignorato se | prossimo sistema operativo di default all'avvio. Ciò viene ignorato se | ||
all'inizio del file <tt>menu.lst</tt> è stata messa la voce '''default=''x''''', dove '''''x''''' identifica il numero del sistema operativo di default (partendo da 0 anzichè da 1). | all'inizio del file <tt>menu.lst</tt> è stata messa la voce <code>'''default=''x'''''</code>, dove <code>'''''x'''''</code> identifica il numero del sistema operativo di default (partendo da 0 anzichè da 1). | ||
=== Nota #2 === | === Nota #2 === |
contributi