Appunti di lavoro – Ripristinare GRUB

Mi è capitato di dover ripristinare il boot loader GRUB da una installazione Ubuntu 10.04 LTS. Esistono in rete decine di tutorial completi ed esaurienti (come questo: GRUB 2 bootloader – Full tutorial) ma la prossima volta che mi succede voglio evitare di andare a cercare su Google, così ecco i miei bravi appunti di lavoro:

Boot da una Live CD. Entro in console e guardo la situazione dei dischi con un bel:

dmesg | grep sda

“sda” funziona nel 90% dei PC che ormai hanno dischi SATA. Se avete dischi PATA, provate con hda, hdb…

[ 1.384229] sd 0:0:0:0: [sda] 488397168 512-byte logical blocks: (250 GB/232 GiB)
[ 1.384428] sd 0:0:0:0: [sda] Write Protect is off
[ 1.384439] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 1.384525] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 1.411538] sda: sda1 sda2 sda3 sda4

Ecco, nel mio caso, cosa è uscito a schermo. Ne deduco che l’hard disk principale ha 4 partizioni e si chiama, effettivamente, “sda”. A questo punto cerco di capire se si tratta del disco giusto con un controllo più approfondito al disco:

sudo fdisk /dev/sda

a cui il terminale risponde chiedendo la password di root

[sudo] password for utente:
Comando (m per richiamare la guida): p
Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 testine, 63 settori/tracce, 30401 cilindri, totale 488397168 settori
Unità = settori di 1 * 512 = 512 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identificativo disco: 0x29133921
Dispositivo Boot Start End Blocks Id System
/dev/sda1 * 2048 97656831 48827392 83 Linux
/dev/sda2 97656832 99610623 976896 82 Linux swap / Solaris
/dev/sda3 99610624 255860735 78125056 83 Linux
/dev/sda4 255860736 488396799 116268032 83 Linux
Comando (m per richiamare la guida):

Per uscire da “fdisk” premere “q”.
ATTENZIONE: se non siete esperti non usate fdisk ! Con un uso improprio potreste danneggiare i vostri dati.

A questo punto capisco che la partizione di avvio è la /dev/sda1 e che l’MBR si trova in /dev/sda.

Adesso passo a ripristinare grub, montando la directory di root del PC con:

mount /dev/sda1 /mnt

e successivamente credo un “mount simbolico” anche di /dev e /proc:

mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc

adesso, con l’aiuto di chroot, reinstallo, riconfigurandolo, GRUB:

chroot /mnt dpkg-reconfigure grub-pc

accetto tutti i parametri di default fino alla conferma di avvenuta installazione:

Installation finished. No error reported.
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.2.0-27-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-27-generic-pae
Found linux image: /boot/vmlinuz-3.2.0-26-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-26-generic-pae
Found linux image: /boot/vmlinuz-3.2.0-23-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-23-generic-pae
Found memtest86+ image: /boot/memtest86+.bin
done

A questo punto possiamo riavviare il PC, togliendo il Live CD, e verificare che tutto funzioni perfettamente 🙂

Questo articolo è stato visto 1 volte (Oggi 1 visite)

Hai imparato qualcosa di nuovo?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.