pubblicato Lunedì 24 Agosto del 2009 alle 10:26.

Vi è capito mai di sputtanare il grub della vostra distro Ubuntu?
A me si, un sacco di volte, ma non sono mai riuscito a ripristinarlo con il LiveCD.

Un paio di giorni fa', miracolosamente, ci sono riuscito nel seguente modo.

Il procedimento è veloce ma non semplicissimo: per prima cosa, dopo aver avviato un LiveCD, ho aperto un terminale e ho creato una directory all'interno della quale successivamente monterò la partizione di root, ma prima ho la necessità di conoscere qual'è la partizione appena chiamata in causa. Ho usato “fdisk” (ricordo che non esiste una password di amministratore in una sessione dal LiveCD; quando chiede la password, digitate semplicemente il tasto invio) per ottenere il listato delle partizioni del/i disco/i installati nella macchina: sudo fdisk -l avrete il doppio risultato di poter conoscere il nome del/i disco/i installati nella macchina e il nome della partizione di root. Ecco un esempio di standard output di fdisk: Disco /dev/sda: 250.0 GB, 250059350016 byte 255 testine, 63 settori/tracce, 30401 cilindri Unità = cilindri di 16065 * 512 = 8225280 byte Identificativo disco: 0x97646c29 Dispositivo Boot Start End Blocks Id System /dev/sda1 1 1530 12289693+ 1c W95 FAT32 (LBA)nascosto /dev/sda2 * 1531 14117 101105077+ 7 HPFS/NTFS /dev/sda3 14118 18005 31230360 5 Esteso /dev/sda4 18006 30401 99570870 7 HPFS/NTFS /dev/sda5 14118 14243 1012063+ 82 Linux swap / Solaris /dev/sda6 14244 14991 6008278+ 83 Linux /dev/sda7 14992 18005 24209923+ 83 Linux

La partizione di root nel mio disco è /dev/sda6; creo la directory: mkdir disk e monto /dev/sda6 in disk/: sudo mount /dev/sda6 disk (ricorda che è necessario che questa partizione contenga anche la partizione di boot, altrimenti bisognerà montarla separatamente in disk/boot). La seconda parte consiste nel replicare tutti i dispositivi “/dev” della mia macchina Ubuntu: sudo mount --bind /dev/ disk/dev/ , e poi nel montare il filesystem virtuale “proc” nel sistema: sudo mount -t proc none disk/proc . Il terzo, ed ultimo, passo è avviare una sessione interattiva di shell del sistema da ripristinare come amministratore: sudo chroot disk /bin/bash. Ora è tutto pronto per reinstallare grub con il comando “grub-install”: grub-install /dev/sda (non c'è bisogno di del comando “sudo” perché siete già root) senza numerino finale, perché “grub-install” ha bisogno di conoscere qual'è il disco di avvio di sistema, cioè quale disco è il primario. A questo punto avete finito e potete riavviare: reboot

NOTA BENE: qualora vogliate usare un liveCD per AMD64 per reinstallare il grub in un sistema a 32bit usate il comando “chroot32”, altrimenti non riuscirete nel vostro intento.

ANCORA UNA NOTA: qualora vogliate non usare sempre il comando “sudo” per operare come root, basta loggarvi come tale eseguendo il comando: sudo su

Have a fun!


powered by FreeFind
Il sito è una creazione di Maurizio... ed è pubblicato sotto una Licenza CC; esso non viene aggiornato
in maniera periodica, pertanto non può essere considerato un prodotto editoriale ai sensi della legge n. 62 del 7.03.2001.