Sei sulla pagina 1di 5

Ripristinare un bootloader per Linux - CiscaDocIt http://doc.science.unitn.it/doc-it/index.php?title=Ripristi...

Ripristinare un bootloader per Linux


Da CiscaDocIt, l'enciclopedia libera.
Alcuni eventi spiacevoli (es. l'installazione di Windows dove sia già presente GNU/Linux)
causano la cancellazione del bootloader dal Master Boot Record. Questa guida raccoglie alcuni
suggerimenti che potrebbero tornare utili per risolvere questo problema.

Ovviamente quello che succederà seguendo i consigli di queste pagine è a vostro rischio e
pericolo e siete tenuti a capire cosa state facendo. Chi scrive non vi garantisce nulla: neppure di
essere in buona fede... ovviamente lo sono, ma non contateci.

Contents
1 Quando è ormai troppo tardi
1.1 Salvare la giornata con la Knoppix
1.1.1 Ingredienti
1.1.2 Procedimento
1.2 Utilizzo di un dispositivo rimovibile con grub
1.2.1 Ingredienti
1.2.2 Procedimento
2 Come essere preparati
2.1 Preparare un floppy con grub per il proprio sistema
2.1.1 Ingredienti
2.1.2 Procedimento
3 Ripristinare grub
4 Ripristinare lilo

Quando è ormai troppo tardi


Cosa fare se si è già perso il bootloader e non si era fatto nulla prima.

Salvare la giornata con la Knoppix


Ingredienti
Il computer in oggetto configurato per avviarsi da unità ottica;
una (quasi) qualsiasi Knoppix.

Procedimento
Avviare la Knoppix sul computer da sistemare (anche a runlevel 2 se siete impazienti).
Accedere ad una shell come utente root. Se siete a runlevel 2 è ciò che avete quando
finisce il boot, altrimenti, in un terminale dare il comando

su -

e si avrà accesso ad una shell dell'utente root della Knoppix senza bisogno di password.

Identificare la partizione root del sistema installato e, se è separata, anche la partizione

1 of 5 04/10/2008 08:14 PM
Ripristinare un bootloader per Linux - CiscaDocIt http://doc.science.unitn.it/doc-it/index.php?title=Ripristi...

boot. Qualsiasi sistema va bene: appunti cartacei di installazione, memoria, intuito. Se


servisse un aiutino è possibile ricorrere al comando

fdisk -l

che darà a schermo un elenco di tutte le partizioni raggiungibili ed il tipo di partizione oppure

cfdisk

che mostra anche le label, stando attenti a non modificare nulla.

Creare una directory nella quale montare la partizione di root (nel nostro esempio
/mnt/target/).
Montare la partizione di root

mount /dev/root_partition /mnt/target/

e, se necessario, la partizione boot

mount /dev/boot_partition /mnt/target/boot/

e completare l'opera montando /dev/ e proc in comune con la Knoppix in uso

mount --bind /dev/ /mnt/target/dev/


mount -t proc proc /mnt/target/proc/

Usando chroot accediamo al sistema installato sul sistema che abbiamo montato

chroot /mnt/target/ su -

Adesso siamo utente root del GNU/Linux di cui dobbiamo ripristinare il bootloader (che
potrebbe suggerire di disabilitare il boot da CD di default per chiunque sulla nostra macchina,
ma questa è un'altra storia).

A questo punto basta ripristinare l'installazione del bootloader che ci interessa nel Master
Boot Record.

Utilizzo di un dispositivo rimovibile con grub


Ingredienti
Il computer in oggetto configurato per avviarsi da dispositivo rimovibile (es. floppy);
l'esatta conoscenza delle partizioni sul sistema;
un opportuno dispositivo rimovibile avviabile con grub all'avvio.

Procedimento
Avviare il sistema dal supporto rimovibile.
Raggiungere il prompt di grub. Se il supporto che contiene grub contiene anche un file
menu.lst occorre premere il tasto C, se menu.lst prevede una password occorre prima
premere P ed inserirla. Se non è presente alcun menu.lst grub offrirà il prompt come
default.

2 of 5 04/10/2008 08:14 PM
Ripristinare un bootloader per Linux - CiscaDocIt http://doc.science.unitn.it/doc-it/index.php?title=Ripristi...

Identificare i dischi e le partizioni necessarie (di solito root e boot). Occorre ricordare che
grub inizia a contare da zero, che non usa le lettere (come ad esempio i nomi dei device di
Linux) e che si riferisce ai dischi IDE e SCSI nello stesso modo. Nel caso in cui servisse un
aiuto ad identificare la partizione è possibile usare il comando find messo a disposizione da
grub.
Se il bootloader in uso dal sistema è proprio grub cercare il file /boot/grub/menu.lst (o
qualora si usi una partizione di boot /grub/menu.lst)

find /boot/grub/menu.lst

e caricarle le configurazioni contenute col comando

configfile (hdX,Y)/boot/grub/menu.lst

dove X ed Y indicano la partizione che abbiamo ottenuto da find.

Per qualsiasi bootloader occorre trovare la partizione sulla quale risiedono kernel ed
eventuale initrd.img e la partizione che contiene la root del sistema (se non si usa una
partizione di boot separata è la stessa partizione che contiene il kernel) e dare i comandi
root, kernel, initrd (se presente un initrd.img) e boot corredati degli opportuni argomenti.
Vediamo un esempio con partizione root del sistema hda2, ovvero (hd0,1) secondo la
nomenclatura di grub (ricordate che grub inizia a contare da zero).

root (hd0,1)
kernel /boot/vmlinuz root=/dev/hda2
initrd /boot/initrd.img
boot

Questo dovrebbe bastare ad avviare l'istanza di GNU/Linux installata sul computer. Eventuali
kernel panic durante il boot potrebbero essere causati da errati parametri del kernel o da un
initrd sbagliato.

Una volta finito il boot accedere come utente root e ripristinare l'installazione del
bootloader nel Master Boot Record.

Come essere preparati


Cosa fare per essere pronti ad affrontare la perdita del bootloader.

Preparare un floppy con grub per il proprio sistema


Ingredienti
Un floppy funzionante;
Un computer dotato di unità floppy che fa uso di grub come bootloader.

Procedimento
Inserire il floppy nell'unità (nei nostri esempi sarà /dev/fd0 ed il mount point
/media/floppy).
Formattare il floppy in ext o fat (usando ad esempio mkfs.ext2, mkfs.vfat, mke2fs o altro).
Sono equivalenti. Va anche bene il floppy in FAT come viene preformattato.
Montare il floppy

mount /media/floppy

3 of 5 04/10/2008 08:14 PM
Ripristinare un bootloader per Linux - CiscaDocIt http://doc.science.unitn.it/doc-it/index.php?title=Ripristi...

Commutare sull'utente root

su -

Copiare per intero la directory /boot/grub all'interno del floppy

cp -R /boot/grub /media/floppy/grub

Smontare il floppy

umount /media/floppy

Avviare grub
Nel prompt di grub dare i comandi:

root (fd0)
setup (fd0)
quit

Il floppy di grub è pronto :-)

Questo floppy potrà essere usato anche come floppy di grub generico richiedendo, prima del
boot, la console col tasto C oppure rimuovendo il file menu.lst dal floppy.

Ripristinare grub
Quando in qualche modo saremo riusciti ad avviare il sistema installato e già configurato all'uso
di grub possiamo reinstallarlo nel Master Boot Record avviando grub e dal prompt dando i
seguenti comandi (nel caso in cui la partizione di reet sia (hd0,1) ed il disco (hd0) avviabile):

root (hd0,1)
setup (hd0)
quit

Ovviamente tutto questo non prende in consideraziona la possibilità che le stesse cose che
hanno resettato il bootloader dal Master Boot Record non abbiano cambiato i nomi delle
partizioni. In tal caso si dovrà provvedere alla correzione almeno di /etc/fstab e di
/boot/grub/menu.lst

Ripristinare lilo
Quando in qualche modo saremo riusciti ad avviare il sistema installato e già configurato all'uso
di lilo possiamo reinstallarlo nel Master Boot Record semplicemente digitando il comando:

lilo

Potremo verificare lo stato di lilo usando il comando

lilo -q

Ovviamente tutto questo non prende in consideraziona la possibilità che le stesse cose che

4 of 5 04/10/2008 08:14 PM
Ripristinare un bootloader per Linux - CiscaDocIt http://doc.science.unitn.it/doc-it/index.php?title=Ripristi...

hanno resettato il bootloader dal Master Boot Record non abbiano cambiato i nomi delle
partizioni. In tal caso si dovrà provvedere alla correzione almeno di /etc/fstab e di
/etc/lilo.conf

Ricavato da "http://doc.science.unitn.it/wiki/Ripristinare_un_bootloader_per_Linux"

Categories: Guide | Linux

Ultima modifica il 14:32, Set 27, 2006.

5 of 5 04/10/2008 08:14 PM