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.
Nel caso i kernel abbiano bisogno dell'initrd il menu.lst
dovrebbe seplicemente contere in 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
rootnoverify (hd1,0)
makeactive
chainloader +1
boot
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
root (hd1,1,a)
kernel /boot/loader
Parte dell'articolo e' stato preso da http://www.debianitalia.org
per contatti e ulteriori informazioni:
e-mail: hsnemesi@email.it
msn: hsnemesi@email.it
yahoo: bl4cknightwolf
icq: 146283389
ircnet e azzurranet: #tuttoirc, nick: Dan^K^e
|