Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

After a crash, I can't mount my data drive. The OS was on a different drive. How can I recover/restore access to my data drive? I think the drive is physically intact.

I was using Ubuntu 12.04. Booted Xubuntu 13.04 from USB.

I get this error message:

Error mounting /dev/sda1 at /media/xubuntu/e16422c3-7c60-4b9e-a135-ec96a6f7c4c6: Command-line
  `mount -t "ext4" -o "uhelper=udisks2,nodev,nosuid" "/dev/sda1" "/media/xubuntu/e16422c3-7c60-4b9e-a135-ec96a6f7c4c6"'
      exited with non-zero exit status 32:
       mount: wrong fs type, bad option, bad superblock on /dev/sda1,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try dmesg | tail

Matty thanks for your suggestions. That didn't work. Possibly because I got side tracked at one point.

fdisk -l shows:

Disk /dev/sda: 3000.6 GB, 3000592982016 bytes
255 heads, 63 sectors/track, 364801 cylinders, total 5860533168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xbd45990e
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1  4294967295  2147483647+  ee  GPT

fsck.ext4 showed:

xubuntu@xubuntu:~$ sudo fsck.ext4 -v /dev/sda1
e2fsck 1.42.5 (29-Jul-2012)
ext2fs_check_desc: Corrupt group descriptor: bad block for block bitmap
fsck.ext4: Group descriptors look bad... trying backup blocks...
fsck.ext4: Bad magic number in super-block while using the backup blocksfsck.ext4: going back to original superblock
Superblock has an invalid journal (inode 8).
Clear<y>? yes

here is where I got side tracked, I pressed 'Y'. And got:

ext3 journal has been deleted - filesystem is now ext2 only 
One or more block group descriptor checksums are invalid.  Fix<y>? yes
Group descriptor 832 checksum is 0x0000, should be 0xd27b.  FIXED.
Group descriptor 833 checksum is 0x0000, should be 0x3f7a.  FIXED.
Group descriptor 834 checksum is 0x0000, should be 0x487a.  FIXED.
Group descriptor 835 checksum is 0x0000, should be 0xa57b.  FIXED.
Group descriptor 836 checksum is 0x0000, should be 0xa67a.  FIXED.
Group descriptor 837 checksum is 0x0000, should be 0x4b7b.  FIXED.
Group descriptor 838 checksum is 0x0000, should be 0x3c7b.  FIXED.
Group descriptor 839 checksum is 0x0000, should be 0xd17a.  FIXED.
Group descriptor 840 checksum is 0x0000, should be 0x3a79.  FIXED.
Group descriptor 841 checksum is 0x0000, should be 0xd778.  FIXED.
Group descriptor 842 checksum is 0x0000, should be 0xa078.  FIXED.
Group descriptor 843 checksum is 0x0000, should be 0x4d79.  FIXED.
Group descriptor 844 checksum is 0x0000, should be 0x4e78.  FIXED.
Group descriptor 845 checksum is 0x0000, should be 0xa379.  FIXED.
Group descriptor 846 checksum is 0x0000, should be 0xd479.  FIXED.
Group descriptor 847 checksum is 0x0000, should be 0x3978.  FIXED.
Group descriptor 848 checksum is 0x0000, should be 0x427c.  FIXED.
Group descriptor 849 checksum is 0x0000, should be 0xaf7d.  FIXED.
Group descriptor 850 checksum is 0x0000, should be 0xd87d.  FIXED.
Group descriptor 851 checksum is 0x0000, should be 0x357c.  FIXED.
Group descriptor 852 checksum is 0x0000, should be 0x367d.  FIXED.
Group descriptor 853 checksum is 0x0000, should be 0xdb7c.  FIXED.
Group descriptor 854 checksum is 0x0000, should be 0xac7c.  FIXED.
Group descriptor 855 checksum is 0x0000, should be 0x417d.  FIXED.
Group descriptor 856 checksum is 0x0000, should be 0xaa7e.  FIXED.
Group descriptor 857 checksum is 0x0000, should be 0x477f.  FIXED.
Group descriptor 858 checksum is 0x0000, should be 0x307f.  FIXED.
Group descriptor 859 checksum is 0x0000, should be 0xdd7e.  FIXED.
Group descriptor 860 checksum is 0x0000, should be 0xde7f.  FIXED.
Group descriptor 861 checksum is 0x0000, should be 0x337e.  FIXED.
Group descriptor 862 checksum is 0x0000, should be 0x447e.  FIXED.
Group descriptor 863 checksum is 0x0000, should be 0xa97f.  FIXED.
Note: if several inode or block bitmap blocks or part
of the inode table require relocation, you may wish to try
running e2fsck with the '-b 32768' option first.  The problem
may lie only with the primary block group descriptors, and
the backup block group descriptors may be OK.

Inode bitmap for group 864 is not in group.  (block 732566272)
Relocate<y>? yes
Group descriptor 864 checksum is 0x0000, should be 0x32fb.  FIXED.
Group descriptor 865 checksum is 0x0000, should be 0xf1b1.  FIXED.
Block bitmap for group 866 is not in group.  (block 1353979985)
Relocate<y>? yes
Group descriptor 866 checksum is 0x0000, should be 0x3179.  FIXED.
Group descriptor 867 checksum is 0x6f4d, should be 0x9550.  FIXED.
Block bitmap for group 868 is not in group.  (block 1936025974)
Relocate<y>? yes
Group descriptor 868 checksum is 0x0000, should be 0xc677.  FIXED.
Group descriptor 869 checksum is 0x0000, should be 0x2b76.  FIXED.
Group descriptor 870 checksum is 0x0000, should be 0xf1c8.  FIXED.
Group descriptor 871 checksum is 0x0000, should be 0xbc94.  FIXED.
Inode table for group 872 is not in group.  (block 1352676045)
WARNING: SEVERE DATA LOSS POSSIBLE.
Relocate<y>? cancelled!
Group descriptor 872 checksum is 0x0000, should be 0x3bf2.  FIXED.

/dev/sda1: ***** FILE SYSTEM WAS MODIFIED *****

/dev/sda1: ********** WARNING: Filesystem still has errors **********

mke2fs produced this:

xubuntu@xubuntu:~$ sudo mke2fs -n /dev/sda1
mke2fs 1.42.5 (29-Jul-2012)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
183017472 inodes, 732044433 blocks
36602221 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
22341 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, 512000000, 550731776, 644972544

Then I tried each of the block numbers...

root@xubuntu:/home/xubuntu# e2fsck -b 8193 /dev/sda1
root@xubuntu:/home/xubuntu# e2fsck -b 98304 /dev/sda1
root@xubuntu:/home/xubuntu# e2fsck -b 8193 /dev/sda --suggested in err msg
root@xubuntu:/home/xubuntu# e2fsck -b 163840 /dev/sda1
root@xubuntu:/home/xubuntu# e2fsck -b 229376 /dev/sda1
...
...

Each with the same result:

e2fsck 1.42.5 (29-Jul-2012)
e2fsck: Bad magic number in super-block while trying to open /dev/sda1

The superblock could not be read or does not describe a correct ext2
filesystem.  If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>

Upon reflection at this point I may have made a serious mistake.

I ran "fsck.ext4 -v /dev/sda1" again an answered the prompts with "Y" 20 or 30 times hoping fsck.ext4 would fix things.

Should I give up, or are there other things to try?

share|improve this question
add comment

1 Answer 1

First, I'd recommend making an image of your disk. That said, it looks like you may have a bad superblock. Try running

fsck.ext4 -v /dev/sda1

You'll probably see "bad magic number" in the resultant output. if so, run:

mke2fs -n /dev/sda1

This will dump a list of numerical superblock backup locations. try the first superblock backup like so:

e2fsck -b SUPERBLOCK_NUMBER_HERE /dev/sda1

Try to mount the drive. If this fails, try the next superblock backup. Hopefully this helps. Good luck, sir!

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.