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
Senza riavviare, se avete qemu potete provarla con
$ qemu /dev/sda
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.
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
Mi dicono..
3 days 20 hours fa
4 days 15 hours fa
4 days 16 hours fa
5 days 18 hours fa
6 days 3 hours fa
1 settimana 1 giorno fa
1 settimana 5 days fa
1 settimana 6 days fa
2 weeks 14 hours fa
2 weeks 14 hours fa