dcsimg

A Recovery Plan for a Superbad Superblock

By Juliet Kemp (Send Email)
Posted Nov 24, 2008


Juliet Kemp
The superblock is the part of an ext2 or ext3 filesystem that contains the metadata — information about filesystem type, size, status and so on. Without the superblock, you're in trouble in terms of data loss. Linux therefore has multiple copies of the superblock in different locations. Thus, even if you get a "bad superblock" error, you can still rescue your filesystem, as described here.

Tip of the Trade: Learn how to recover your filesystem after a "bad superblock" error.

Note that before doing any of the below the filesystem must be unmounted! If the problem filesystem is /, you must boot off a LiveCD or rescue disk.

First, get the superblock information for the problem filesystem.

dumpe2fs /dev/hda2 | grep superblock
(^4dumpe5^ handles both ext2 and ext3 happily). The output will look a bit like this:
  Primary superblock at 0, Group descriptors at 1-3
  Backup superblock at 32768, Group descriptors at 32769-32771
  Backup superblock at 98304, Group descriptors at 98305-98307
  Backup superblock at 163840, Group descriptors at 163841-163843
[ etc ... ]
Superblocks have standard locations in a default system, but it's always a good idea to check the information anyway. So, you now have a list of backup superblocks to use in place of your bad primary superblock.

The next step is to pass in a backup superblock as an option tofsck:

fsck -b 32768 /dev/hda2
fsck will probably ask you to confirm a few fixes. After it's run, try mounting the filesystem as usual (with mount). If this still doesn't work, try passing the backup superblock as an argument:

mount sb=32768 /dev/hda2 /mnt
And now you've sorted your disk out: Make sure you back it up!

Page 1 of 1


Comment and Contribute

Your name/nickname

Your email

(Maximum characters: 1200). You have characters left.


 

 


Thanks for your registration, follow us on our social networks to keep up-to-date