/dev disappears using dd_rescue Topic is solved

Using TestDisk to repair the filesystem
Forum rules
When asking for technical support:
- Search for posts on the same topic before posting a new question.
- Give clear, specific information in the title of your post.
- Include as many details as you can, MOST POSTS WILL GET ONLY ONE OR TWO ANSWERS.
- Post a follow up with a "Thank you" or "This worked!"
- When you learn something, use that knowledge to HELP ANOTHER USER LATER.
Before posting, please read https://www.cgsecurity.org/testdisk.pdf
Locked
Message
Author
Arthur
Posts: 3
Joined: 27 Aug 2012, 15:56

/dev disappears using dd_rescue

#1 Post by Arthur »

Q1 I am assuming that testdisk can and should be used on a file image produced using dd_rescue.

Partition table is ok, many files on vfat file system visible and copyable so I am assuming testdisk won't help.

Q2 Any solutions (with or without testdisk) for the following symptoms?

Fedora 16 Linux, Sandisk cruzer 64GB USB flash mounted on /dev/sde1
Approx 45GB of 61/64GB vfat partition used.

Linux dd_rescue Version 1.23, garloff@suse.de recovers first 27.6GB from raw partition device /dev/sde1 with no errors.

dd_rescue: (info) expect to copy 62515824kB from /dev/sde1

Consecutive bad blocks from block 53880128 on.

/dev/sde1 does not exist while dd_rescue continues reporting bad blocks instead of exiting.

Another thread mentions using fdisk -l repeatedly to start again and asked for a script to do this.
But there was no response.

http://forum.cgsecurity.org/phpBB3/post3238.html#p3238

I already tried using dd_rhelp script. It got the same initial 27.6GB then quit (relatively quickly) after 5 bad block retries.

Q3 Why does dd_rescue not exit when /dev/sde1 disappears. Reporting bad blocks seems pointless?

I cannot imagine anything that could recover data from a /dev that isn't there.

But since the length is reported correctly as nearly 64GB and it is random access, I would have thought there would be some way that software could keep probing at different seek positions without the /dev disappearing.
USB plug was under some mechanical strain, so suspect internal connection failure.

Q4 Can testdisk do anything to help? Or suggest any such script?

Q5 Please suggest any means for me to get any good blocks past /dev/sde1 failure point before physically opening device for resoldering and possible destruction.

Q6 Any disagreement with my assumption that there is a phsical problem from block 53880128 on rather than just at block 53880128?

Q7 Therefore likely to be broken connection in the flash drive and nothing further I can do to extract data before attempting to resolder and probably destroying the drive?

Q8 Somebody suggested using the USB port for SMB Networked Access Storage on a Netgear router because it won't disconnect the raw device like the PC operating system will. However it is just an OpenWRT Linux so if that is capable of working there should be some Fedora Linux settings I could use directly for the same effect. But I have no idea what they are.

Thanks!

Arthur
Posts: 3
Joined: 27 Aug 2012, 15:56

Re: /dev disappears using dd_rescue

#2 Post by Arthur »

Tried using testdisk. Copy all files got about 18GB then repeated consecutive errors for all FAT clusters.
When Copy files finished, /dev had disappeared and testdisk became unable to see the partition at all.

So I suspect testdisk, like dd_rescue can only return pointless errors once the kernel has lost the /dev

Need a script that repeatedly restarts at different positions whenever the kernel loses the /dev

Any suggestions?

User avatar
cgrenier
Site Admin
Posts: 5432
Joined: 18 Feb 2012, 15:08
Location: Le Perreux Sur Marne, France
Contact:

Re: /dev disappears using dd_rescue

#3 Post by cgrenier »

If you use ddrescue (The GNU version, not dd_rescue), it can use a log file, this way you can restart the copy at the previous location.
Usage: ddrescue [options] infile outfile [logfile]

Arthur
Posts: 3
Joined: 27 Aug 2012, 15:56

Re: /dev disappears using dd_rescue

#4 Post by Arthur »

Thanks! I've been using dd_rescue from Fedora 16 repo:

dd_rescue Version 1.23, garloff@suse.de, GNU GPL
($Id: dd_rescue.c,v 1.112 2010/10/11 09:50:32 garloff Exp $)
(compiled Feb 8 2011 13:39:06 by gcc (GCC) 4.6.0 20110205 (Red Hat 4.6.0-0.6))

It uses a log file but seemed to ignore it (ie just append to it) as I've tried running in two directions.

I gather I should have been using this one, which is still pending Fedora approval(!)

http://koji.fedoraproject.org/koji/buil ... dID=345671

When I first looked through package manager I only noticed dd_rescue.

Now that I look again I see GNU ddrescue is also available through standard repo.

Trying it now. Thanks!

Locked