Alzi la mano chi non ha mai incasinato il settore di avvio (Master Boot Sector), rendendo
Linux inavviabile, o non abbia mai subìto qualche danneggiamento al filesystem.
Direi nessuno. Se così non fosse, o siete dei veri guru o avete avuto un gran c...
e comunque è molto più probabile la seconda delle due ;-)
Dopo questa frivola premessa, risulterà ormai chiaro che in questa sezione si
parlerà di come recuperare un sistema Linux in seguito a danneggiamenti
dell'MBR o del filesystem, a prescindere dalle cause e dalle
responsabilità.
Per prima cosa vorrei segnalare uno splendida mini-distribuzione Linux, che risiede su un
unico floppy disk, espressamente pensata per il recupero di un sistema corrotto. Si
chiama, non a caso,
Picoboot e può essere scaricata
qui. Naturalmente
potete utilizzare qualsiasi altro sistema di vostro gradimento, ad esempio il CD di
installazione della vostra distribuzione Linux.
I passi da seguire, una volta eseguito il boot con il sistema scelto, sono i
seguenti:
REINSTALLARE LILO COSI' COM'E' CONFIGURATO SUL SISTEMA CORROTTO:
- Montare la partizione root di Linux:
mount /dev/hda6 /mnt/linux
- Reinstallare LILO impiegando il suo file
/etc/lilo.conf
: chroot
/mnt/linux lilo -v
ESEGUIRE UNA COPIA DI BACKUP DELL'INTERO MBR SU UN FLOPPY DISK:
- Montare il floppy disk dal drive A:
mount /dev/fd0 /mnt/floppy
- Copiare l'MBR sul floppy:
dd if=/dev/hda of=/mnt/floppy/mbr bs=512
count=1
- Smontare il floppy:
mount /dev/fd0 /mnt/floppy
RIPRISTINARE L'INTERO MBR DA UN FLOPPY DISK:
- Montare il floppy disk dal drive A:
mount /dev/fd0 /mnt/floppy
- Copiare l'MBR sul disco rigido:
dd if=/mnt/floppy/mbr of=/dev/hda bs=512
count=1
- Smontare il floppy:
mount /dev/fd0 /mnt/floppy
RIPRISTINARE SOLO IL BOOT SECTOR, LASCIANDO INALTERATA LA PARTITION TABLE:
- Montare il floppy disk dal drive A:
mount /dev/fd0 /mnt/floppy
- Copiare solo il boot sector sul disco rigido:
dd if=/mnt/floppy/mbr
of=/dev/hda bs=446 count=1
- Smontare il floppy:
mount /dev/fd0 /mnt/floppy
RIPARARE UN FILESYSTEM EXT2/3 O UN SUPERBLOCK CORROTTO:
- Evitare di montare il device interessato
- Eseguire la riparazione:
e2fsck -py /dev/hda6
(con il parametro -py ad ogni domanda verrà automaticamente risposto
"sì")
- Se necessario, riparare il superblock:
mke2fs -n /dev/hda6
(attenzione: non dimenticate il parametro -n
altrimenti fate un
macello!)
- Leggere la riga di output del comando precedente dove dice "Superblock backups
stored on blocks" e
usare uno dei numeri mostrati come input per il prossimo comando: e2fsck -py -b
numero /dev/hda6
Naturalmente i nomi dei device e dei punti di mount (
/dev/hdax
e
/mnt/xxxx
) cambieranno in base al vostro sistema, quindi verificateli prima
di usarli.