Nella guida di oggi vi farò vedere come si può ripristinare il grub usando un Live CD/DVD oppure USB.
Requisiti
Per prima cosa avrete bisogno ovviamente del CD/DVD oppure della chiavetta USB con la distro che volete chroottare: se intendete ripristinare il grub da Ubuntu allora avrete bisogno di un media live di Ubuntu (va bene anche xubuntu, kubuntu etc). Per le altre distribuzioni, dovrebbe andare bene anche usare un live della distro su cui il vostro sistema operativo è basato e il contrario, ad esempio se volete installare il grub da Sabayon ma avete il media di gentoo potete farlo. Tuttavia questo metodo non l’ho personalmente testato, siete avvisati.
Pronti!
Bene, una volta riavviato il computer ed entrati nella live della distro, aprite l’emulatore di terminale che volete.
A questo punto bisogna montare le varie partizioni. Se conoscete le vostre partizioni potete saltare il passaggio sotto.
Individuare le partizioni
Ci sono vari metodi per farlo, sia grafici sia da riga di comando.
Il metodo più semplice è quello di aprire da live un programma per le partizioni come gparted e quindi annotarsi le partizioni con il relativo numero: dev/sdxy dove x è una lettera (a, b, c etc) mentre y è un numero (1, 2, 3 etc). Se avete partizioni differenti per /home e / (partizione di root) annotatevele tutte. Assumiamo che abbiate la directory di root in dev/sda1 e la home in dev/sda2.
Un altro metodo simile al precedente è quello da terminale: apritelo e digitate fdisk -l oppure cfdisk e vi verranno elencate le partizioni presenti sul sistema quindi annotatele.
Possiamo passare al montaggio delle stesse.
Montaggio partizioni
Bene, ora montiamo le partizioni. Assumerò come directory di mount la cartella /mnt. Quindi digitate:
sudo mkdir /mnt/home
quindi
sudo mount /dev/sda1 /mnt
sostituite sda1 con la vostra partizione di root.
Ora dovete montare la home:
sudo mount /dev/sda2 /mnt/home
In base al vostro sistema operativo, i seguenti comandi potrebbero differire di poco, in generale in Ubuntu i comandi sono i seguenti:
sudo mount ‐‐bind /dev /mnt/dev
sudo mount ‐‐bind /proc /mnt/proc
sudo mount ‐‐bind /sys /mnt/sys
In Arch Linux:
cd /mnt
mount -t proc proc proc/
mount -t sysfs sys sys/
mount -o bind /dev dev/
mount -t devpts pts dev/pts/
# se il terminale riscontra un errore, usare la riga seguente invece che quella sopra
mount -t devpts -o rw,nosuid,noexec,gid=5,mode=620,ptmxmode=000 devpts dev/pts
In Gentoo:
mount -o bind /dev /mnt/mychroot/dev
mount -t proc none /mnt/mychroot/proc
mount -o bind /sys /mnt/mychroot/sys
mount -o bind /tmp /mnt/mychroot/tmp
In Gentoo e Arch dovrete avere i permessi di root abilitati.
Chroot
Chroot sta per change root e serve ad entrare nel sistema installato come se fossimo loggati normalmente.
Adesso digitate:
chroot /mnt /bin/bash
Questo comando è comune.
Reinstalliamo GRUB
Siamo pronti a reinstallare il grub, digitiamo:
grub-install /dev/sda
In Ubuntu avrete bisogno di aggiungere sudo all’inizio del comando.
Bene ora resta solamente l’ultimo comando:
update-grub
oppure
grub-mkconfig -o /boot/grub/grub.cfg
Come sempre, se usate Ubuntu o derivate dovete aggiungere sudo all’inizio del comando.
A questo punto, se l’installazione è andata a buon punto, avete finito e potete riavviare il vostro computer. Il GRUB dovrebbe ripartire normalmente.