Tip of the Trade: Learn how to recover your filesystem after a "bad superblock" error.
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.
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
First, get the superblock information for the problem filesystem.
dumpe2fs /dev/hda2 | grep superblock
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
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!