Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie
Hi there,
There is an issue with role permissions that is being worked on at the moment.
If you are having trouble with access or permissions on regional forums please post here to get access: https://www.boards.ie/discussion/2058365403/you-do-not-have-permission-for-that#latest

ddrescue taking weeks: drive stalls for minutes on every bad sector

  • 10-07-2013 8:29am
    #1
    Registered Users, Registered Users 2 Posts: 3,353 ✭✭✭


    I dropped my laptop last week, noticed a few files couldn't be accessed without the whole system freezing up. Tried backing up stuff to an external drive through Windows file copy but it would stall for minutes or hours on hitting a file on a damaged part of the drive.

    I installed a new HDD and now I'm trying to recover data from the damaged one through ddrescue in Ubuntu.

    It gets to 7GB of the 500GB drive then starts hitting errors, it takes 10-20 minutes to move past one error, then hits another straight away. At this rate it will take weeks to finish imaging the drive.

    I assume this long delay is happening at the HDD controller level? And ddrescue has no low-level way around it? Or is there a way of getting it to just move on if it's spent more than a few seconds trying to read a sector? I'm already using ddrescue -n


Comments

  • Registered Users, Registered Users 2 Posts: 68,317 ✭✭✭✭seamus


    It's been a while since I've done anything like this, but it should be possible with most tools to first create a map of all of the bad sectors on the disk. Then when you do the recovery, these sectors will be skipped.

    I remember doing something like this in MS-DOS. That's how long it's been :D


  • Registered Users, Registered Users 2 Posts: 5,359 ✭✭✭dunworth1


    give this a try have used it a couple of times
    http://www.roadkil.net/program.php?ProgramID=29

    but from now on you should buy an external hdd and backup everything on the machine at least once a week


  • Closed Accounts Posts: 5,835 ✭✭✭Torqay


    Try "-r 0" (no retries)


  • Registered Users, Registered Users 2 Posts: 3,353 ✭✭✭radiospan


    Torqay wrote: »
    Try "-r 0" (no retries)

    Already set to 0 by default.
    dunworth1 wrote: »
    give this a try have used it a couple of times
    http://www.roadkil.net/program.php?ProgramID=29

    I'll give it a go. But I think it will be the same as ddrescue (ie - yes, it will be unstoppable and will complete eventually but will stall for minutes at a time on every damaged area).

    It seems like the delay is happening at the HDD controller level, so any HDD access is unavailable to the OS while the controller is trying to read back the damaged area. (same stall/delay with both ddrescue in ubuntu and normal Windows file copy)

    Anyone know of a hard disc recovery professional in Cork that would do more than ddrescue etc?


  • Closed Accounts Posts: 8,015 ✭✭✭CreepingDeath


    radiospan wrote: »
    It gets to 7GB of the 500GB drive then starts hitting errors, it takes 10-20 minutes to move past one error, then hits another straight away. At this rate it will take weeks to finish imaging the drive.

    Well an image should be perfect.
    If you have a sloppy/bad image, and transfer it to the new hard disk then you'll be transferring corrupted programs/data.

    Do you really need to image the entire hard disk, or just copy a subset of files, eg. documents, photos, videos ?

    I'd try selectively copying just what you need instead.
    It's a good opportunity to reinstall the O/S too.

    I listen to the podcast "Security Now" and the guy Steve Gibson wrote "Spinrite" a hard disk recovery tool. SpinRite Link
    From some of the testimonials, it CAN take weeks if you've a bad drive with a load of bad sectors.
    The idea is to repeatedly read the bad sector until it gets read, move the hard drive head a number of different ways before and after the bad sector, etc... until you get a good read, then move that sector to a good one.

    It's $89, but you'd probably shell out more than that for professional recovery which can cost thousands if they need a clean room to disassemble the hard drive and custom hardware to read it or relocate to another drive.
    Although SpinRite only attempts to repair the original drive.
    When that's done then you can image it (Hopefully)


  • Advertisement
  • Posts: 0 [Deleted User]


    radiospan wrote: »

    I assume this long delay is happening at the HDD controller level? And ddrescue has no low-level way around it? Or is there a way of getting it to just move on if it's spent more than a few seconds trying to read a sector? I'm already using ddrescue -n

    Yes, it is likely the HDDs own controller trying to read or remap the bad sectors. It goes offline while it is doing this and doesnt respond to OS commands.

    Normal consumer HDDs usually allow themselves a long time trying to recover the data (this is why they are unsuitable for RAID configurations).

    It may be possible to flash the drives firmware to put a time limit on error recovery... I did it back in the day with some cheap WD Green drives I wanted to use in RAID. However for your purposes this would be inadvisable, the whole point of what you are doing is to recover data. If you enable TLER (or whatever acronym other manufacturers use) then it will just give up on the bad sectors.


  • Registered Users, Registered Users 2 Posts: 3,353 ✭✭✭radiospan


    Well an image should be perfect.
    If you have a sloppy/bad image, and transfer it to the new hard disk then you'll be transferring corrupted programs/data.

    Do you really need to image the entire hard disk, or just copy a subset of files, eg. documents, photos, videos ?

    I'd try selectively copying just what you need instead.
    It's a good opportunity to reinstall the O/S too.

    Yeah, maybe I can selectively pick what to get off it. I was trying this first through Windows, but hitting long delays on data I want, then decided to go down ddrescue route and try image the whole thing thinking that ddrescue might not stall at the damaged areas.
    It may be possible to flash the drives firmware to put a time limit on error recovery... I did it back in the day with some cheap WD Green drives I wanted to use in RAID. However for your purposes this would be inadvisable, the whole point of what you are doing is to recover data.

    Thanks, I might have a look if flashing the firmware is possible to reduce the read timeout a lot, at least just for my first attempt at imaging the whole drive quickly, get the undamaged data out, get a map in the ddrescue log of the damaged areas, then going back to the original read timeout on the controller for a longer attempt to recover data.

    Or if I can reduce the timeout, I can quickly use something like FreeFileSync in Windows to backup the data to a HDD and then I'll have a list of what it couldn't copy. A list of what's been lost would be very handy (some of it I can just download again from the net).


Advertisement