1 760
contributi
mNessun oggetto della modifica |
mNessun oggetto della modifica |
||
Riga 1: | Riga 1: | ||
{{Debianized}} | {{Debianized}} | ||
== Introduzione == | == Introduzione == | ||
Questa | 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 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 | i principianti. La guida � rivolta quindi a tutti coloro i quali per | ||
necessit� o diletto vogliano imparare ad usare questo | |||
versatile [[boot loader]]. | versatile [[boot loader]]. | ||
== | == Perch� Grub == | ||
La ragione per cui consiglio anche ai newbie '''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 | caratteristica, unica, di poter scrivere da zero o modificare, in fase di boot, i comandi per fare | ||
partire un kernel, il tutto con | partire un kernel, il tutto con | ||
l'ausilio dell'autocompletamento. Adesso provo a spiegarmi meglio. | l'ausilio dell'autocompletamento. Adesso provo a spiegarmi meglio. | ||
Se '''Grub''' | 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''' | fare partire un altro kernel non presente nel menu. '''Grub''' | ||
pu� leggere le varie | |||
partizioni e visualizzare i nomi dei file, e grazie | partizioni e visualizzare i nomi dei file, e grazie | ||
all'autocompletamento si | all'autocompletamento si � | ||
sicuri di non sbagliare il percorsi o i nomi dei file. In questo modo | 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 [[boot loader]] 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 | |||
<tt>lilo.conf</tt>, eseguire il comado lilo e riavviare. Con '''Grub''' basta invece scrivere le modifiche al boot: se c' | <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 | ||
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 | parametri giusti si possono salvare in '''<tt>/boot/grub/menu.lst</tt>''' in modo che non sia pi� necessario inserirli a mano. | ||
== Installazione di Grub == | == Installazione di Grub == | ||
Normalmente '''Grub''' | Normalmente '''Grub''' � gi� installato in Debian. Se per� si � | ||
installato, per ultimo, un S.O. (come MS-Windows) che ignora la presenza di altri | installato, per ultimo, 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. | |||
Per usare '''Grub''' | 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: | ||
<pre> | <pre> | ||
Riga 44: | Riga 44: | ||
</pre> | </pre> | ||
in questo modo ogni altro [[boot loader]] | 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 | ne basta uno che le fa partire tutte. | ||
Se si | 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 53: | Riga 53: | ||
</pre> | </pre> | ||
dove si | 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> | <pre> | ||
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 | 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. | 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 | 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''' | 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 | 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 73: | Riga 73: | ||
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. | 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' | Innanzi tutto dobbiamo dire a '''Grub''' qual'� la '''sua''' partizione di root, che � <tt>/boot</tt> (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') | ||
<pre> | <pre> | ||
root (hd0,2) | root (hd0,2) | ||
</pre> | </pre> | ||
fate attenzione | 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. | ||
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 | {{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'' ( | 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: | ||
<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 | 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: | ||
* '''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. | ||
* '''vga=791''': fa partire il sistema in ''frame buffer'' (console ad alta risoluzione). Per maggiore informazione leggete | * '''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. | A questo punto basta dare il comando '''boot''' per fare partire (si spera) il sistema. | ||
{{Box| Nota |Se non si ha una partizione separata per <tt>/boot</tt>, | {{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 == | ||
Riga 111: | Riga 111: | ||
</pre> | </pre> | ||
ovviamente avvelendoci il | ovviamente avvelendoci il pi� possibile dell'autocompletamento per | ||
facilitare le cose. Notate come in questo caso abbiamo inserito '''/boot''' | 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 | Se avete un kernel che usa l'initrd (di solito tutti i kernel | ||
Riga 129: | Riga 129: | ||
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 | {{Warningbox|Un kernel partir� solo con | ||
la sua immagine initrd, se provate ad usare immagini initrd di altri | la sua immagine initrd, se provate ad usare immagini initrd di altri | ||
kernel il sistema non | 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 | == Configurare il Men� di grub == | ||
Il menu di grub si imposta tramite il file '''/boot/grub/menu.lst'''. | Il menu di grub si imposta tramite il file '''/boot/grub/menu.lst'''. | ||
L'intestazione di questo file | 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 | ||
nostri scopi: | nostri scopi: | ||
Riga 146: | Riga 146: | ||
Inserendo queste righe all'inizio del '''menu.lst''' diremo a grub | Inserendo queste righe all'inizio del '''menu.lst''' diremo a grub | ||
che all'avvio | 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 | ||
inizia a contare da zero?). Il | inizia a contare da zero?). Il men� sar� presentato con i colori | ||
indicati, secondo il seguente schema: caretteri/sfondo rispettivamente | indicati, secondo il seguente schema: caretteri/sfondo rispettivamente | ||
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 | 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 | che specifica il nome che apparira 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 '''menu.lst''' del genere: | ||
Riga 175: | Riga 175: | ||
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') | 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 | Nel caso i kernel abbiano bisogno dell'initrd il '''menu.lst''' dovrebbe semplicemente contere un comando in pi� per ogni kernel: | ||
<pre> | <pre> | ||
default 0 | default 0 | ||
Riga 200: | Riga 200: | ||
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 grub per qualsiasi esigenza. Per i | 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 grub (dopo il timeout) | kernel inserite, prima del comando '''boot''', il comando '''savedefault''' e modificate il comando '''default 0''' in '''default save''', 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 207: | Riga 207: | ||
=== Windows, BeOS, OpenBSD === | === Windows, BeOS, OpenBSD === | ||
Alcuni sistemi operativi sono suscettibili all'avvio tramite | |||
bootloader | bootloader, questo 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) | 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 | |||
modo sono fondamentalmente tre: Windows, BeOS e OpenBSD. Il | 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 | versatile, anche per quanto riguarda l'installazione in partizione non | ||
primaria, | primaria, � sicuramente BeOS. Per avviare uno di questi sistemi | ||
operativi basta scrivere (prendiamo come esempio Windows, assumendo che | operativi basta scrivere (prendiamo come esempio Windows, assumendo che | ||
sia sulla prima partizione di un secondo disco): | sia sulla prima partizione di un secondo disco): | ||
Riga 226: | Riga 228: | ||
</pre> | </pre> | ||
Il primo comando (<tt>rootnoverify</tt>) dice sostanzialmente qual | Il primo comando (<tt>rootnoverify</tt>) dice sostanzialmente qual � | ||
la partizione di windows (nel nostro caso la prima partizione del | la partizione di windows (nel nostro caso la prima partizione del | ||
secondo disco | secondo disco � hd1,0, corrispondente, in Linux, a /dev/hdb1), il | ||
secondo comando, invece | secondo comando, invece rende la partizione attiva (condizione | ||
essenziale per Windows), il terzo comando istruisce, sostanzialmente, | essenziale per Windows), il terzo comando istruisce, sostanzialmente, | ||
sul fatto di leggere la prima traccia di tale partizione, e l'ultimo | sul fatto di leggere la prima traccia di tale partizione, e l'ultimo | ||
Riga 238: | Riga 240: | ||
Uno dei motivi per cui Grub ha una nomenclatura tutta particolare | Uno dei motivi per cui Grub ha una nomenclatura tutta particolare | ||
dei dischi | dei dischi � dovuto al fatto che il programma � stato pensato per | ||
avviare anche kernel non-linux, uno su tutti, quello di FreeBSD. | 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 | ||
Riga 252: | Riga 254: | ||
== Installare Grub su floppy == | == Installare Grub su floppy == | ||
Installare Grub su un floppy vi | Installare Grub su un floppy vi permetter� di fare partire qualsiasi sitema anche con [[MBR]] corrotto. Per installare grub su di un floppy baster� eseguire i seguenti comandi: | ||
<pre> | <pre> | ||
# cd /lib/grub/i386-pc | # cd /lib/grub/i386-pc | ||
Riga 266: | Riga 268: | ||
Su una distro non debian i percorsi potrebbero essere leggermente differenti. | Su una distro non debian i percorsi potrebbero essere leggermente differenti. | ||
== Usare update-grub == | == Usare update-grub == | ||
Quando installate un nuovo kernel (binario o ricompilato che sia) contenuto in un pacchetto debian, | 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 <tt>/boot</tt> e li inserir� in <tt>menu.lst</tt>. | ||
Questo script | Questo script pu� anche essere eseguito a mano se si ricompila un | ||
kernel senza creare un pacchetto debian o se vuole ripristinare | kernel senza creare un pacchetto debian o se vuole ripristinare | ||
velocemente il <tt>menu.lst</tt>. | velocemente il <tt>menu.lst</tt>. | ||
Riga 323: | Riga 292: | ||
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'''. | 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 | 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 335: | Riga 304: | ||
</pre> | </pre> | ||
ovviamente quella partizione (<tt>/dev/hda9</tt>) deve essere la root dei kernel che si vuole inserire automagicamente. Notare che '''non''' si deve decommentare la linea altrimenti update-grub lo | ovviamente quella partizione (<tt>/dev/hda9</tt>) 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 == | ||
Impostare una password in Grub non | Impostare una password in Grub non � operazione semplicissima, | ||
tuttavia una volta imparato il metodo | tuttavia una volta imparato il metodo risulter� abbastanza semplice. | ||
Prima di procedere con la spiegazione di come si utilizza la password | Prima di procedere con la spiegazione di come si utilizza la password | ||
all'interno del file <tt>menu.lst</tt> (che, lo ricordiamo, si trova in <tt>/boot/grub</tt>), conviene spiegare in dettaglio il codice da utilizzare. | all'interno del file <tt>menu.lst</tt> (che, lo ricordiamo, si trova in <tt>/boot/grub</tt>), conviene spiegare in dettaglio il codice da utilizzare. | ||
Per impostare una password, infatti, | Per impostare una password, infatti, � sufficiente scrivere: | ||
<pre> | <pre> | ||
Riga 350: | Riga 319: | ||
Tuttavia una password di questo tipo ha il difetto di essere | Tuttavia una password di questo tipo ha il difetto di essere | ||
visibile in chiaro (anche all'avvio stesso di Grub), ed | visibile in chiaro (anche all'avvio stesso di Grub), ed � quindi poco | ||
utile; fortunatamente Grub pensa a voi e vi permette di impostare una | utile; fortunatamente Grub pensa a voi e vi permette di impostare una | ||
password criptata con l'algoritmo MD5. Per fare | password criptata con l'algoritmo MD5. Per fare ci� dovete, prima di | ||
tutto ottenere la password codificata in tale modo; niente di | tutto ottenere la password codificata in tale modo; niente di pi� | ||
semplice, avviate dalla shell il comando <tt>grub-md5-crypt</tt>, | semplice, avviate dalla shell il comando <tt>grub-md5-crypt</tt>, | ||
inserite due volte la password (una | inserite due volte la password (una � di conferma) e copiate il | ||
risultato ottenuto. Per utilizzare la password dovrete utilizzare il | risultato ottenuto. Per utilizzare la password dovrete utilizzare il | ||
seguente codice, leggermente differente dal precedente: | seguente codice, leggermente differente dal precedente: | ||
Riga 364: | Riga 333: | ||
Adesso bisogna spiegare come utilizzare la parola chiave password; | Adesso bisogna spiegare come utilizzare la parola chiave password; | ||
esistono due modi, uno | esistono due modi, uno � quello di metterla dopo i codici iniziali, | ||
prima della lista dei vari sistemi operativi, l'altro | prima della lista dei vari sistemi operativi, l'altro � di mettere | ||
l'attributo anche per ogni sistema operativo avviato, dopo la riga | l'attributo anche per ogni sistema operativo avviato, dopo la riga | ||
title. Mentre la seconda password ha effetto solamente sul sistemi | title. Mentre la seconda password ha effetto solamente sul sistemi | ||
operativo in cui | 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 | parola chiave lock dopo la riga title. 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 414: | Riga 383: | ||
</pre> | </pre> | ||
== Riconoscimento | == Riconoscimento modalit� video == | ||
Una | 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 | 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 | |||
parametro '''vga=''numero''''' alla linea del kernel, dove ''numero'' | parametro '''vga=''numero''''' alla linea del kernel, dove ''numero'' | ||
� il numero del modo pi� 200 esadecimale (indicato con 0x200). Questa | |||
operazione | operazione � molto semplice: basta aggiungere 2 alla prima cifra del | ||
modo, ad esempio se vogliamo il modo '''0x103''' dovremo passare al kernel '''vga=0x303'''. | modo, ad esempio se vogliamo il modo '''0x103''' dovremo passare al kernel '''vga=0x303'''. | ||
Si | Si pu� anche inserire la modalit� video in decimale convertendo con una | ||
calcolatrice scientifica il numero passato al kernel: nell'esempio | calcolatrice scientifica il numero passato al kernel: nell'esempio � | ||
equivalente scrivere '''vga=0x303''' o '''vga=771'''. | equivalente scrivere '''vga=0x303''' o '''vga=771'''. | ||
Riga 435: | Riga 404: | ||
== Usare una splashimage == | == Usare una splashimage == | ||
Con Grub | Con Grub � possibile utilizzare un'immagine di sfondo per l'avvio | ||
del PC. Questa immagine deve essere a 640x480 pixel, con una | 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 | 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, | I modi con cui, partendo da un'immagine in png o jpeg, � possibile | ||
ottenere un'immagine con tali requisiti, sono fondamentalmente due. Si | 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 | 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 .xpm.gz (generalmente <tt>splash.xpm.gz</tt>). | ||
Oppure si | Oppure si pu� decidere di utilizzare i seguenti comandi dalla shell: | ||
<pre>$ su | <pre>$ su | ||
Riga 453: | Riga 422: | ||
#</pre> | #</pre> | ||
Volendo | 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 <tt>menu.lst</tt> ed inserire, dopo timeout: | ||
Per utilizzare lo splashimage appena creato | |||
<pre> | <pre> | ||
splashimage=(hd0,0)/boot/grub/splash.xpm.gz | splashimage=(hd0,0)/boot/grub/splash.xpm.gz | ||
</pre> | </pre> | ||
== Note finali == | == Note finali == | ||
Riga 479: | Riga 436: | ||
L'opzione '''savedefault''' all'interno della configurazione di un | L'opzione '''savedefault''' 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. | prossimo sistema operativo di default all'avvio. Ci� viene ignorato se | ||
all'inizio del file <tt>menu.lst</tt> | 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). | ||
=== Nota #2 === | === Nota #2 === | ||
Riga 493: | Riga 450: | ||
Si ringraziano le seguenti persone: | Si ringraziano le seguenti persone: | ||
* [http:// | * [http://frabrizio.ciacchi.it Fabrizio Ciacchi] per aver scritto i paragrafi su come bootare sistemi non Linux, sull'inserimento delle splashimage e sull'uso della password. | ||
* Mattew East (del [http://www.ubuntulinux.org/wiki/ItalianDocumentation wiki italiano di Ubuntu]) per avere wikizzato la guida. | * Mattew East (del [http://www.ubuntulinux.org/wiki/ItalianDocumentation wiki italiano di Ubuntu]) per avere wikizzato la guida. |
contributi