Creazione di un cd di soccorso
In rete avrete sicuramente trovato miriadi di guide che vi spiegano come installare
GRUB su un floppy il che vi permettera' di fare partire il sistema operativo
anche con il MBR corrotto.
Dato che ormai i floppy non sono piu' in uso oggiorno sara' quindi utile sapere
come fare a mettere GRUB su cd. In questa guida verra' spiegato come ottenere
una immagine ISO da masterizzare e che ci permettera' di ottenere il nostro cd di
soccorso. Tenete presente che sia il cd che il floppy di ripristino potranno esservi
INDISPENSABILI se avete la sfortuna di dover installare Windows successivamente a
Linux perche' quest'ultimo vi formattera' il vostro MBR per piazzarci il suo
bootloader e voi non sarete piu' in grado di far partire il vostro amato Linux.
In questo caso potrete fare partire il sistema grazie al cd o al floppy di soccorso
e poi potrete reinstallare grub (apt-get install grub) e configurarlo per far partire
tutti i sistemi operativi presenti sul vostro PC.
GRUB e' composto da due parti stage1 e stage2 le quali vanno opportunamente
copiate su floppy quando intendiamo creare un floppy di soccorso, ma quando
dobbiamo creare il nostro cd di soccorso ci serve solo stage2, anzi per esseri
precisi ci serve un particolare tipo di stage2 chiamato El Torito.
Per prima cosa dobbiamo vedere dove si trova stage2_eltorito all'interno del
nostro sistema per farlo ci sono diversi modi ad esempio si puo' fare col comando
locate:
Debian:~$ locate eltorito
il quale ci dira' che esso si trova in /lib/grub/i386-pc/stage2_eltorito (su una
distribuzione non Debian la posizione potrebbe essere diversa ma il metodo di
ricerca e' lo stesso). Se non lo trovate provate ad aggiornare il database dei
nomi dei file col comando updatedb e poi riprovate con locate.
una volta localizzato stage2_eltorito creiamo la nostra base di lavoro creando
un cartella che ad es. possiamo chiamare iso
Debian:~$ mkdir iso
Creiamo una directory per GRUB
Debian:~$ mkdir -p iso/boot/grub
a questo punto copiamoci dentro stage2_eltorito
Debian:~$ cp /lib/grub/i386-pc/stage2_eltorito iso/boot/grub
volendo e' possibile copiare dentro iso/boot/grub anche il nostro /boot/grub/menu.lst
in modo da avere un cd di ripristino fatto su misura per la nostra macchina ma questo
potrebbe causare dei problemi perche' alcune opzioni di boot presenti nel nostro menu.lst
non possono essere usate ad es. acpi=noirq o vga=792
infine creiamo un immagine ISO9660 come questa:
Debian:~$ mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot \
-boot-load-size 4 -boot-info-table -o grub.iso iso
abbiamo finito, adesso abbiamo una immagine iso da masterizzare che ci permettera'
di creare il nostro cd di soccorso
per completezza indichiamo anche come fare il floppy di soccorso
# cd /lib/grub/i386-pc (su una distro non Debian i percorsi potrebbero essere
leggermente differenti)
# dd if=stage1 of=/dev/fd0 bs=512 count=1
# dd if=stage2 of=/dev/fd0 bs=512 seek=1
l'utilizzo del cd o del floppy e' abbastanza semplice; appena fatto il boot
da cd o da floppy ci comparira' dinanzi un ambiente minimale in cui non dovremo
fare altro che riprodurre la configurazione del nostro file menu.lst. Segue
un esempio:
grub root (hd0,0)
grub kernel /vmlinuz-2.6.8-2-686 root=/dev/hda2
grub initrd /initrd.img-2.6.8-2-686
grub boot