Backup funzionante di GRUB su memoria usb
Molti BIOS moderni supportano il boot da usb oppure non sempre si ha la possibilità di usare un LiveCD, di fatto, farsi un backup di GRUB su chiavetta usb può ritornarci molto utile in moltissime occasioni.
Inserite la chiavetta usb
$ mount
...
/dev/ram0 on /tmp type ext2 (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
/dev/sda1 on /media/disk type vfat (rw,nosuid,nodev,shortname=mixed,uid=1000,utf8,umask=077,usefree)
Nel mio caso è stata montata in /media/disk e il device è /dev/sda
$ mkdir /media/disk/boot
$ cp /boot/grub/ /media/disk/boot -R
$ gedit /media/disk/boot/grub/menu.lst
...
title Ubuntu 7.10, kernel 2.6.22-14-generic
root (hd0,4)
kernel /boot/vmlinuz-2.6.22-14-generic ...
initrd /boot/initrd.img-2.6.22-14-generic
quiet
...
Ci saranno vari blocchi tipo quello sopra, sostituite "hd0" con "hd1", questo perché "hd0" in questo caso sarà la chiavetta stessa, mentre "hd1" sarà il primo hard disk.
Ovviamente questa modifica potete farla anche a mano nel prossimo riavvio.
A questo punto i file che interessano al grub minimale sono sulla chiavetta e potete dare:
$ sudo grub-install --root-directory=/media/disk /dev/sda
Dopo aver riavviato il GRUB di riferimento sarà quello della chiavetta
Test
Senza riavviare, se avete qemu potete provarla con
$ qemu /dev/sda
Ripristino di GRUB sull' hard disk
Selezionate il kernel che vi interessa dal GRUB di backup dopodiché:$ sudo grub-install /dev/hda
Non c'é bisogno di specificare quale configurazione utilizzare perché verra usata "/boot/grub" che è quella di default della partizione dell'hard disk.
Note
In caso di errore:
/dev/sda does not have any corresponding BIOS drive
$ sudo grub-install --recheck /dev/sda
Se volete un Linux LiveUSB vero e proprio date uno sguardo a questa customizzazione del LiveCD sui Ubuntu
Se qemu vi dice qualcosa tipo "GRUB Hard disk error", riformattate la partizione come Fat32