Considerata la grande presenza di 3d in cui compaiono problemi di boot mi permetto di scrivere queste poche righe introduttive sulla configurazione di /etc/fstab e LILO o GRUB, al fine di semplificare la vita al neofita di Linux che spesso si trova di fronte a questi problemi...
Alla fine del documento e' presente qualche FAQ che mi e' venuta in mente e una serie di link utili di approfondimento.
Per correzioni o commenti postate pure sotto, se avete qualcosa da aggiungere (io ho messo solo le cose che mi venivano subito in mente) e che ritenete essere utili, mandatemi un PM che le includo subito (chiaramente a vostro nome)
codice:
++++++++++++++++++++++++++++++++++
+ FSTAB E LILO/GRUB MINI-HOWTO +
++++++++++++++++++++++++++++++++++
PARTE I: PARTIZIONI
E' essenziale ai fini della configurazione conoscere le vostre partizioni; per fare questo potete usare
# fdisk -l
o meglio ancora
# cfdisk
PARTE II: FSTAB
/etc/fstab e' un importante file di configurazione che, in parole spicciole, segnala al kernel i punti di mount del/dei nostri dischi fisso/i.
Esempio: ( senza commenti )
codice:
# <fs> <mountpoint> <type> <opts> <dump/pass>
# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
/dev/hda1 /boot ext3 noauto,noatime 1 2
/dev/hda3 / reiserfs noatime 0 1
/dev/hda2 none swap sw 0 0
/dev/hda4 /mnt/data reiserfs defaults,users 0 0
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
#/dev/fd0 /mnt/floppy auto noauto 0 0
# NOTE: The next line is critical for boot!
none /proc proc defaults 0 0
Detto questo, la sua sintassi e' estremamente semplice e intuitiva, nonche' ben commentata:
<fs> Indica il device fisico della partizione (vedi punto I)
<mountpoint> Indica il punto di mount della partizione
<type> Indica il filesystem usato (vedi punto I)
<opts> Indica le opzioni di boot
<dump/pass> Indica rispettivamente se si vuole attivare il dump e l'ordine in cui vanno controllati i filesystem in caso di crash
Esempi:
codice:
/dev/hda1 /boot ext3 noauto,noatime 1 1
La partizione di boot si trova sul device hda1, il suo punto di mount e' /boot, il filesystem usato e' ext3, la partizione NON viene montata in automatico al boot del sistema (noauto), e usa la specifica noatime per far si che i tempi di accesso non siano registrati (migliora leggermente le performance), esegue il dump della partizione e fa si che essa venga controllata per seconda (subito dopo la partizione di root) in caso di crash.
E' buona norma non toccare le altre righe di fstab inerenti a proc e tempfs, se non siete sicuri di quello che fate.
L'opzione ro specifica di montare la partizione come read-only.
Per maggiori informazioni su fstab
# man fstab
PARTE III: LILO
LILO (LInux LOader) e' insieme a GRUB (vedi sezione dopo) il bootloader piu' usato.
Vediamo come usarlo...
LILO viene gestito attraverso un unico file di configurazione, /etc/lilo.conf
Il file e' piuttosto lungo e ben commentato, riporto qui solo le parti essenziali:
codice:
# MBR to install LILO to:
boot = /dev/hda // /dev/hda installa LILo nel MBR. Se lo si vuole installare in una
// partizione root (sconsigliato) selezionare /dev/hda1 e cosi' via
...
prompt // prompt di LILO
delay = 50 // aspetta 50 secondi prima di avviare l'OS di default
default = MyOS // OS di avvio di default
# Linux bootable partition config begins
image = /boot/bzImage // selezionare l'immagine di boot da caricare che chiaramente deve
// essere presente in /boot
root = /dev/hda3 // indicare la partizione di root
label = Gentu' // nome dell'OS da caricare che appare al boot, puoi scrivere
// qualsiasi cosa
read-only // boota root in sola lettura, non lo modificate
# Per bootare Windows:
other = /dev/hda6 // partizione
label=windows // nome dell'OS da caricare che appare al boot blabla
Se volete passare delle opzioni particolari a lilo, usate la sintassi
append="psmouse.proto=imps"
NB: Ogni qualvolta che modificate qualche parametro in lilo.conf, dovrete rieseguire LILO per rendere effettive le modifiche, potete farlo così:
# /sbin/lilo -v
PARTE IV: GRUB
La configurazione di GRUB e' leggermente piu' ostica di quella di LILO solo perche' usa una terminologia differente...in partica comincia contare i dischi fissi da '0' anziche' da 'a' e le partizioni sempre da '0' anziche' da '1', quindi
/dev/hda1 = (hd0,0)
/dev/hda3 = (hd0,2)
/dev/hdb6 = (hd1,5)
E cosi' via
Configurazione:
Accertatevi di avere montato /boot, dopodiche' eseguite
codice:
# grub // entra nella minishell di grub
# root (hd0,0)
# setup (hd0,0)
# quit // esce dalla minishell di grub
Notare che il comando root specifica la posizione della partizione di boot se e' presente, altrimenti bisogna specificare la partizione di root.
Setup invece dice dove installare GRUB dove (hd0,0) corrisponde al MBR.
Copiate /boot/grub/grub.conf.example in /boot/grub/grub.conf; questo e' il mio file di configurazione di grub:
codice:
# Quale opzione viene avviata di default. 0 è la prima, 1 la seconda etc.
default 0
# Quanti secondi attenedere prima di avviare l'opzione di default.
timeout 30
# Un'immagine gradevole
# Da commentare se non si dispone di scheda grafica
splashimage=(hd0,0)/grub/splash.xpm.gz
title=Gentu'
# La partizione dove si trova l'immagine del kernel (o il sistema operativo)
root (hd0,0)
kernel /boot/bzImage root=/dev/hda3
# Nel caso si debba bootare anche una partizione Windows
title=Windows
rootnoverify (hd1,0) // = /dev/hdb1
chainloader +1
Non penso ci sia bisogno di ulteriori commenti...
codice:
+++++++++++++++++++++++++++++++++++
+ FAQ +
+++++++++++++++++++++++++++++++++++
1) Ho reinstallato Windows e ora non mi compare piu' il prompt di LILO o GRUB
Accade perche' Windows sovrascrive ogni volta il MBR. Soluzioni possibili:
- usare GAG (http://gag.sourceforge.net)
- reinstallare LILO o GRUB: Bootate da una distro LIVE, montate la partizione di root della vostra distro e chrottatevi in essa, poi riscrivete il bootloader
Es:
codice:
# su -
# mkdir /mnt/distro
# mount /dev/hdaX -t <filesystem> /mnt/distro
# chroot /mnt/distro
# source /etc/profile
# nano /etc/lilo.conf
# /sbin/lilo -v
# exit
- se possedete il primo cd di installazione mandrake bootate da esso come per cominciare un'installazione, al prompt digitate "rescue" e selezionate l'opzione "reinstalla bootloader"
2) Come faccio a bootare più distro?
Principalmente ci sono due modi per scegliere una distrubuzione da bootare all'avvio del sistema:
Primo metodo:
Il primo metodo consiste nell'avere il bootloader della prima distro installato nell'mbr e non installare un secondo bootloader (o un terzo, un quarto e così via), copiare l'immagine del kernel della seconda distribuzione nella partizione di /boot della prima e aggiornare il lilo.conf o grub.conf di conseguenza, ad esempio cosi'
code:
image = /boot/bzImage // immagine della prima distribuzione
root = /dev/hda3
label = Gentu'
read-only
image = /boot/bzImage_Debian // immagine della seconda distribuzione
root = /dev/hda4
label = Debian
read-only
Mentre se si usa GRUB:
code:
title=Debian
# La partizione dove si trova l'immagine del kernel (o il sistema operativo)
root (hd0,0)
kernel /boot/bzImage_Debian root=/dev/hda4
Secondo metodo:
Il secondo metodo consiste nell'installare il secondo (terzo, quarto ecc) bootloader nella partizione di root della seconda, terza ecc distribuzione, e poi aggiungere a lilo.conf/grub.conf quanto segue:
code:
other = /dev/hda10
label = ziogeppo_distro
table = /dev/hda
Oppure, se si usa GRUB,
[code]title=Debian
# La partizione dove si trova l'immagine del kernel (o il sistema operativo)
[kernel (hd0,x)/boot/vmlinuz-xxx root=/dev/hda6
3) Ho ricompilato il kernel, ma al boot viene caricato quello vecchio, perche'?
Quando compilate il kernel ricordatevi di
1 creare un backup della vecchia immagine del kernel
2 copiare la nuova immagine in /boot ( subito dopo i make, si trova in /usr/src/linux/arch/i386/boot/bzImage )
3 aggiornare LILO
(NB: grub non va aggiornato ad ogni modifica)
Un consiglio: se utilizzate la sintassi
image = /boot/bzImage
al posto di, che ne so,
image = /boot/kernel-2.6.8.1-slackware
Non dovrete tutte le volte che cambiate il kernel cambiare pure il numero di versione all'interno dei file di conf di lilo o grub
codice:
++++++++++++++++++++++++++++++++++++
+ LINK UTILI +
++++++++++++++++++++++++++++++++++++
Homepage di GAG, comodo bootloader alternativo che si installa da floppy
http://gag.sourceforge.net
LILO-howto
http://www.tldp.org/HOWTO/LILO.html
GRUB+LINUX+WIN howto:
http://it.tldp.org/HOWTO/Linux+Win9x+Grub/
Copyleft by maiosyet
Last update on 30 October 2004