Traduzioni: English - Français - Italiano
GRUB (v.1)
Configurazione
In modo predefinito il file di configurazione di GRUB in Debian è /boot/grub/menu.lst. In altre configurazioni si possono vedere riferimenti a /etc/grub.conf.
Deve contenere almeno queste righe:
default=0 timeout=30 # Per avviare il kernel predefinito title Debian Linux root (hd0,1) kernel /boot/vmlinuz root=LABEL=/ initrd /boot/initrd.img
Rapida panoramica dei comandi
default: il sistema operativo predefinito per l'avvio, se non si preme alcun tasto. Nota: il primo è quello 0.
timeout: il tempo di attesa in secondi prima che il sistema predefinito venga avviato.
title: il testo che apparirà nel menu; inizia una sezione di sistema operativo che si estende fino alla successiva riga title.
root: la partizione dove risiede la directory /boot, tutti i percorsi saranno relativi a questa in modo da non doverla specificare per ogni file.
kernel: l'immagine del kernel linux da caricare insieme alle opzioni.
initrd: l'immagine initrd per avviare il kernel.
Si noti che il comando root non è correlato al parametro root del kernel linux, root specifica la partizione in cui cercare i percorsi relativi. Se si ha una partizione /boot in (hd0,0) allora:
root (hd0,0) kernel ''vmlinuz root=LABEL=''
è equivalente a:
kernel (hd0,0)/vmlinuz
Denominazione dei device e delle partizioni
Grub utilizza i numeri per nominare gli hard disk e le partizioni iniziando da 0; questo tende a confondere l'utente linux abituato a leggere hda1 come primo disco e prima partizione. Ecco una semplice tabella che lo illustra:
|
linux |
grub |
Primo bus IDE, master |
hda |
hd0 |
Primo bus IDE, master, prima partizione primaria |
hda1 |
hd0,0 |
Primo bus IDE, slave, prima partizione estesa |
hdb5 |
hd1,4 |
Installazione
Per installare grub come sistema di avvio principale eseguire semplicemente:
# grub-install /dev/hda
Ora bisogna solo modificare il file /boot/grub/menu.lst.
Esempi
Linux
Se non si sa dove risieda /boot eseguire il comando grub e cercare il file:
grub> kernel (hd0,1)/bo
Premere il tasto tab, se /boot è in quella partizione il comando verrà completato; funziona anche per il menu d'avvio. Supponendo di avere windows in hda1, la partizione /boot su hda2 e / su hda3:
grub> kernel (hd0,0)/vm (<- premere TAB qui) Error 15: File not found
grub> kernel (hd0,1)/vm (<- premere nuovamente TAB che completerà vmlinuz) I file possibili sono: vmlinuz-2.6.10-1-k7 vmlinuz
Con /boot in (hd0,1) le righe saranno:
title Linux root (hd0,1) kernel /vmlinuz root=/dev/hda3 vga=792 initrd /initrd.img
Windows su hda1
Queste sono le righe per avviare windows situato su hda1:
title ["WindowsXP"] rootnoverify (hd0,0) makeactive chainloader +1
Windows in partizione diversa da hda1
Se l'ordine dei dischi è cambiato, il sistema d'avvio di Microsoft sarà confuso e si rifiuterà di partire. Ipotizzando che sia in hdb1 questo risolve il problema:
title Windows map (hd0) (hd1) map (hd1) (hd0) rootnoverify (hd1,0) makeactive chainloader +1
Si possono nascondere partizioni con il comando hide. Ad esempio se è in hda2 sarà:
title Windows hide (hd0,0) rootnoverify (hd0,1) makeactive chainloader +1
Nota: il sistema d'avvio di microsoft ha varie falle critiche e il suo comportamento cambia a seconda della versione e delle patch