Partition table corrupted (USB flash drive)
Posted
by 13ren
on Super User
See other posts from Super User
or by 13ren
Published on 2009-08-31T10:38:30Z
Indexed on
2010/06/08
2:02 UTC
Read the original article
Hit count: 330
It's an 8 GB Patriot thumb drive, which I've used extensively with lots of data. Today, it is detected, but all data is gone: (EDIT at least some data is still there, but the partition table is gone)
EDIT @Sathya (thanks) here's the relevant output from sudo fdisk -l
:
Disk /dev/sdc: 8019 MB, 8019509248 bytes
247 heads, 62 sectors/track, 1022 cylinders
Units = cylinders of 15314 * 512 = 7840768 bytes
Disk /dev/sdc doesn't contain a valid partition table
It looks like it is /dev/sdc, with that 8 GB... and no partition table.
I tried to mount /dev/sdc (and then dmesg | tail
):
/media> sudo mount /dev/sdc mytmp
mount: wrong fs type, bad option, bad superblock on /dev/sdc,
missing codepage or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
/media> dmesg | tail
[ 24.300000] sdc: unknown partition table
[ 24.320000] sd 2:0:0:0: Attached scsi removable disk sdc
[ 24.370000] usb-storage: device scan complete
[ 26.870000] EXT2-fs error (device sdc): ext2_check_descriptors: Block bitmap for group 1 not in group (block 0)!
[ 26.870000] EXT2-fs: group descriptors corrupted!
[ 50.420000] unhashed dentry being revalidated: .DCOPserver_eeepc-brendanma__0
[ 50.430000] unhashed dentry being revalidated: .DCOPserver_eeepc-brendanma__0
[ 50.430000] unhashed dentry being revalidated: .DCOPserver_eeepc-brendanma__0
[ 5565.470000] EXT2-fs error (device sdc): ext2_check_descriptors: Block bitmap for group 1 not in group (block 0)!
[ 5565.470000] EXT2-fs: group descriptors corrupted!
EDIT @Col: results from testdisk
Disk /dev/sdc - 8013 MB / 7642 MiB - CHS 1022 247 62
Current partition structure:
Partition Start End Size in sectors
Partition sector doesn't have the endmark 0xAA55
After I hit [proceed]
, it says:
Structure: Ok.
Keys A: add partition, L: load backup, Enter: to continue
The "Structure: Ok." seems reassuring... will "A: add partition" make my old data accessible (if it's still there), or will it make a new, fresh partition?
Another option is "[ MBR Code ] Write TestDisk MBR code to first sector
" - would it be better to do this?
EDIT I found that at least some of my data is still on the flash drive, by using the below, and searching for English text in less (like " the "):
cat /dev/sde | tr -cd '\11\12\40\1540-\176' | less
(The drive changed from "/dev/sdb" to "/dev/sde" because I connected some extra drives today). I've learnt that "/dev/sde1" would be the first partition; and "/dev/sde" is the whole drive. Because unix treats these devices just like files, you can use all the ordinary unix file commands on them, like cat
, and then process them like any other stream of data. The tr
above removes non-printable characters ("\40" is space, which I wanted to preserve). In less, you can use "/" to search, similar to Vim.
How can I get my data back (assuming it's still there)? If only the partition table is corrupted, is there a standard "partition recovery tool"? Is there a way to "repartition" without deleting everything?
© Super User or respective owner