Grub Error 22 o come riparare la tabella delle partizioni

A volta basta avviare windows in recovery mode (su un dual boot) e questo riscrive la tabella delle partizioni (l’indice, per dire) nel MBR, ovviamente senza vedere le partizioni in ext3/ext4 con il risultato che grub sputa un error 22:
22 : No such partition
This error is returned if a partition is requested in the device part of a device- or full file name which isn’t on the selected disk.
Neanche il metodo di ripristino classico da cd live funziona:
sudo grub
grub> find /boot/grub/stage1
ritorna invece di (hdX,Y) un error 15 file not found.
(per completezza: se restituisce per esempio hd0,4 -primo disco quinta partizione – si continuerebbe così per reinstallare Grub nel MBR:
grub> (hd0,4)
grub> root (hd0,4)
grub> setup (hd0)
grub> quit
reboot
chiuso virgolettato)
Ma qui hai bisogno di testdisk, il fratello di photorec.
Breve istruzioni di uso dal cd live di Ubuntu o di un altro distro live: Scompattalo il file testdisk-6.11.3.linux26.tar.bz2 (versione attuale mentre scrivo) con il menu del tasto destro. Poi devi spostarti con il terminale (che deve essere bello largo se no testdisk si lamenta) nella cartella creata:
cd Scrivania/testdisk-6.11.3/linux sudo ./testdisk_static
Secondo il Cd live è Desktop e non Scrivania; una volta entrato selezioni con le frecce su/giù create log:
Use arrow keys to select, then press Enter key:
[ Create ]Create a new log file
[ Append ] Append information to log file
[ No Log ] Don’t record anything
Nella prossima schermate selezioni il disco e con invio
“Proceed” e appare questo:
Disk /dev/sda – ecc ecc
Please select the partition table type, press Enter when done.
[Intel ] Intel/PC partition
[EFI GPT] EFI GPT partition map (Mac i386, some x86_64…)
[Mac ] Apple partition map
[None ] Non partitioned media
[Sun ] Sun Solaris partition
[XBox ] XBox partition
[Return ] Return to disk selection
Praticamente basta confermare “intel”, sempre con il tasto enter/invio
[ Analyse ] Analyse current partition structure and search for lost partitions
[ Advanced ] Filesystem Utils
[ Geometry ] Change disk geometry
[ Options ] Modify options
[ MBR Code ] Write TestDisk MBR code to first sector
[ Delete ] Delete all data in the partition table
[ Quit ] Return to disk selection
Selezioni “Analyse”, e qui ti propone la tabella che trova, indicando forse già errori. Dovrebbe essere già selezionato “quick search”, basta dare “invio” nuovamente e chiede se deve cercare su partizioni creati sotto vista:
http://www.cgsecurity.org
Should TestDisk search for partition created under Vista ? [Y/N] (answer Yes if
unsure)
y
Puoi dare n o y secondo il caso e arriva a mostrare le partizioni veramente esistenti. Nel caso che riconosci la tabelle come corretta: Nuovamente invio e selezionando “write” sei a posto.
[ Quit ] [Deeper Search] [ Write ]
Write partition structure to disk
Basta un percorso per i vari [quit] per uscire da testdisk. Ovviamente si può anche installarlo sul disco fisso, comodo per analizzare penne e dischi usb che non si vogliono montare.
il disco sdb > proceed, partition type intel, analyse e quicksearch. Alla fine propone forse una tabella coretta, in quel caso “write”.