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)
binfmtmisc on /proc/sys/fs/binfmtmisc 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

corso javascript