Conoscere grub: opzioni avanzate del potente bootloader
Tutte le volte che accendiamo la nostra gnu/linux box, molto probabilmente appariranno all'avvio delle scritte come
grub loading stage 1.5...
Bè, se la risposta è sì allora significa che nell'MBR del vostro hard disk è installato l'ottimo bootloader GRUB. Un bootloader è un piccolo programma che gestisce l'avvio del computer e, tra l'altro, permette di scegliere il sistema da far partire.
In questa guida vedremo per prima cosa come installare e configurare GRUB ed infine delle opzioni avanzate e trucchetti per uscire dalle situazioni pericolose.
\FUNZIONAMENTO DI GRUB/
Prima di conoscere i comandi di GRUB è necessario conoscere almeno la sua struttura.Grub è suddiviso in 3 pezzi, detti stage. Analizziamoli.
Stage_1: è contenuta nel mbr, fa partire le altre stage, caricate nella partizione montata come /boot
Stage_1.5: intermezzo tra le due stage.
Stage_2: è la stage che ci permette di scegliere il sistema di avvio e quella che contiene la piccola riga di comando.
Un file di configurazione importantissimo di grub è menu.lst, che contiene il menù di avvio dei sistemi. Andrà modificato più volte per "farci comparire" i vari sistemi. Lo potete trovare in /boot/grub/menu.lst
\INSTALLARE GRUB/
Per installare grub basta lanciare il comando#grub-install --no-floppy /dev/hda
Questo installerà grub nel device /dev/hda (primo disco IDE). Se usate SATA, SCSI o USB, scrivere /dev/sda.
Se volete ripristinare il grub installato dovete seguire, invece, questi altri passi:
- Avviare un LiveCD
- Entrare in una shell
- Creare la cartella /mnt/root con il comando mkdir -p /mnt/root
- Montare il disco lanciando il comando mount /dev/hda1 /mnt/root (vale lo stesso discorso di prima)
- Cambiare la partizione di root del LiveCD con chroot /mnt/root
- Lanciare il comando grub-install --no-floppy /dev/hda
\CONFIGURARE MENU.LST/
Come dicevamo prima, il file di configurazione più importante del nostro amato grub è menu.lst. Analizziamola una e vediamo come fire per aggiungere altri sistemi.default 0 Il kernel di default viene scelto dall'utente
color light-gray/blue yellow/blue I colori di grub
root (hd0,2) Il disco che la contiene
kernel /boot/mio-kernel root=/dev/hda1 ro vga=791 Il kernel della distribuzione
boot
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) sceglierà il kernel che avete scelto
nel precedente avvio.Aggiungere un sistema windows
Basta aggiungere le seguenti righe!title Windows
rootnoverify (hd1,0)
makeactive
chainloader +1
boot
Il primo comando (
rootnoverify
) dice
qualè la partizione di Windows (nel nostro caso la prima partizione del
secondo disco è hd1,0, corrispondente, in Gnu/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.
Aggiungere un sistema FreeBSD
Ancora più facile!title FreeBSDEd ecco che la voce FreeBSD apparirà funzionante nel nostro GRUB!
root (hd1,1,a)
kernel /boot/loader
Installare GRUB su un floppy
Formattiamo il floppy usando il filesystem ext2:
# mkfs.ext2 /dev/fd0
montiamolo e creiamo una directory di nome grub
:
# mount -t ext2 /dev/fd0 /media/floppy
# mkdir /media/floppy/grub
Copiamo i file di Grub ed il menu di avvio:
# cp /boot/grub/stage* /media/floppy/grub/
# cp /boot/grub/menu.lst /media/floppy/grub
Nota: di default il file menu.lst
ha
la voce savedefault
sotto ogni kernel. Grub
salva l'ultimo kernel avviato in /boot/grub/default
. Se però avviamo da dischetto, Grub, che usa il menu.lst
copiato da /boot/grub
, vorrà
salvare il default in /grub/default
(su
dischetto). Non trovandolo Grub si bloccherà con "error 15
file not found". Se non vogliamo modificare a mano il menu.lst
del dischetto togliendo la voce savedefault
da ogni kernel, dobbiamo copiare anche il file /boot/grub/default
sul dischetto:
# cp /boot/grub/default /media/floppy/grub/
Ora smontiamo il floppy:
# umount /media/floppy
e installiamo lo stage1 nel mbr (del floppy):
# grub
e dalla shell di grub digitiamo i seguenti comandi:
> root (fd0)
> setup (fd0)
> quit
Fatto. Non ci resta che provare il nostro dischetto di avvio.
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 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
Per utilizzare lo splashimage appena creato è
necessario aprire il file menu.lst
ed
inserire, dopo timeout:
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
Tasti da premere per accedere a funzioni di GRUB
- passare alla modalità a riga di comando premendo il tasto c;
- variare i parametri da passare al kernel premendo il tasto a;
- modificare le opzioni relativamente ad una voce del menù di avvio premendo il tasto e;
Opzioni avanzate di GRUB
Ed ora arriva il bello. Le opzioni di grub che vedremo sono IMPORTANTISSIME perchè permettono di uscire da un sacco di casini.
Single user mode
La single user mode permette di avviare una shell monoutente (root) senza rete che permette di facilitare le operazioni di manutenzione e troubleshooting. Si attiva aggiungendo alla riga del kernel l'opzione single
Emergency
La modalità emergency è simile alla SUM, tranne per il fatto che monta i filesystem locali in modalità sola lettura. Si attiva aggiungendo alla riga del kernel l'opzione emergencyDisattivare SELinux
Per disabilitare il sistema di sicurezza SElinux, basta aggiungere alla riga del kernel l'opzione selinux 0
Eseguire direttamente BASH
Per eseguire la shell bash (o sh) direttamente senza passare per init (non verrà caricato nessun servizio) bisogna aggiungere l'opzione alla riga del kernel init=/bin/bash o init=/bin/sh
Collegamenti esterni&ringraziamenti
http://guide.debianizzati.org/index.php/Guida_a_Grub
http://linux.p2pforum.it/wiki/GRUB
http://info2html.sourceforge.net/cgi-bin/info2html-demo/info2html?(grub.info.gz)Top
Tanto altro...