Come Recuperare partizione linux ext2 ext3 ext4 con superblock danneggiato
Puo' capitare che il superblock primario di una partizione linux possa danneggiarsi o corrompersi rendendo la partizione illeggibile.
In questi casi è importante ricordare che durante la creazione di un file system di tipo ext su linux vengono creati dei backup del superblock principale ed è possibile sfruttarli per il ripristino della partizione.
Come visualizzare i superblocks di backup
mke2fs -n /dev/sde4 ( dove sde è il disco e 4 è la partizione da recuperare )
mke2fs 1.42.8 (20-Jun-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
61054976 inodes, 244190638 blocks
12209531 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
7453 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848
Attenzione al block size potrebbe avere un settaggio differente:
mke2fs -n -b 65536 /dev/sde4
in questo caso abbiamo applicato un block size di 128 settori ( 128 * 512 ) 64K
Come recuperare il file system da superblock danneggiato
fsck.ext4 -b 32768 /dev/sde4
E' possibile anche specificare il block size con il parametro -B:
fsck.ext4 -B 128 -b 32768 /dev/sde4
Applicazione nel mondo reale : Errata inizializzazione di un NAS
Un caso in cui questa metodologia di recupero è stata efficace è una errata inizializzazione di un volume su un NAS da parte dell'utente.
Il proprietario del NAS si è collegato alla interfaccia web del nas ed erroneamente, ha inizializzato il volume da RAID 1 a JBOD, il volume raid esteso.
Danni riscontrati dopo l'errata inizializzazione
L'errata inizializzazione del volume da RAID 1 a JBOD e la formattazione ha distrutto completamente i metadati di base del disco 1 del JBOD, ma ha lasciato superblocks e descrittori integri sul secondo elemento del JBOD, in quanto in coda dell'array.
La tecnica di ripristino del superblock ha consentito il recupero di una consistente struttura dati perfettamente funzionanti con la semplice applicazione del comando fsck.
Approfondimenti: