Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

Somehow my partition on /dev/sdb has gotten all buggered up. This hard drive contains a lot of data that I need to recover and haven't been able to backup yet. When I attempt to mount it:

# mount -t ext4 /dev/sdb /world
mount: wrong fs type, bad option, bad superblock on /dev/sdb,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

Also when I run fdisk to try see what partitions are on the hard drive:

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x25467742

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb3   *           1           1           0    0  Empty
Partition 3 does not end on cylinder boundary.

I have attempted to use TestDisk to try to recover my lost partition but both quick and deep scans find no partitions present.

I am able to look at the used space and all of my data is still intact on the hard drive itself, it just seems my partition is complete gone. Is there any way I can recover this data? Any tools or details that I am missing?

share|improve this question
    
The partiton ist still mounted... So the question is: How do you get the kernel-idea of where that partition starts and ends from? –  Nils Oct 15 '11 at 20:46
    
You're trying to mount /dev/sdb, which is the whole disk. This is unusual, and probably not what you wanted since you say there was a partition on the disk. What does </dev/sdb tail -n +513 | file - say? If it detects a filesystem, you've just hosed your partition table and should recreate a partition starting at cylinder 1. –  Gilles Oct 15 '11 at 23:07
    
@Gilles When trying to run /dev/sdb tail -n +513 | file - it gives me an /dev/stdin: no read permission error even though I am running it as root. –  Nic Young Oct 16 '11 at 22:36
    
@Nic Try again with the whole command line, including the initial <. –  Gilles Oct 17 '11 at 15:59
    
@Gilles same result, I am still getting a premission denied –  Nic Young Oct 17 '11 at 17:19
show 1 more comment

1 Answer 1

up vote 2 down vote accepted

In an ideal world, you would create an image of that hard drive before trying any recovery tools on it.

There is a tool called "foremost" that can retrieve files of specific types. Here is a blog post that might help: Recovering data from formatted drives using foremost

If your data is of uncommon types then foremost will probably not help much.

If TestDisk can't find your partitions then I expect that GNU Parted won't either, but it might be worth a shot

EDIT: I just noticed that your initial command was

#mount -t ext4 /dev/sdb /world

and not

#mount -t ext4 /dev/sdb3 /world

I have been bitten by this before, so I thought I might point it out.

share|improve this answer
    
When I attempt to mount the file with /dev/sdb3' it gives me mount: special device /dev/sdb3 does not exist`. I have tried partition numbers 1-4 and get the same result. Also I am following the tut. for the GNU Parted that you linked to and I ran dd if=/dev/sdb of=/dev/sdc bs=512 conv=noerror,sync to create a disk image of the hard drive but it is taking an unusually log time. Is this normal? How long can I expect this to take? The disk I am trying to image is 1TB. –  Nic Young Oct 16 '11 at 22:40
    
Sorry for the late reply. Yes, this can take a long time. You can issue a command to check the progress of the copy. –  Paul Nijjar Oct 22 '11 at 0:07
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.