Re: Advise on data recovery from failed drive

From: Dan Strick (strick_at_covad.net)
Date: 07/12/03

  • Next message: Jorge Biquez: "WhatchDog Error on a Lan Card."
    Date: Fri, 11 Jul 2003 18:23:33 -0700 (PDT)
    To: questions@freebsd.org
    
    

    On Friday July 12, 2003 (PST) Per olof Ljungmark wrote:
    >>>>>>>>>>>>>>>>>>>
    > I've had a drive crash where the spindle motor bearings overheated and
    > got stuck.
    > Using mild violence I now have the drive spinning again and need to do
    > some data recovery.
    >
    > It has to be something that is able to handle read errors without stopping,
    > I am thinking dd, any other suggestions?
    >>>>>>>>>>>>>>>>>>>>>

    I have an ancient program that I once wrote to make copies of disk drives
    with bad sectors. It normally reads/writes in large units, but goes back
    and rereads a section of the input disk one 512 byte sector at a time if
    it gets a read error. It will retry a single sector read several times before
    giving up. Unreadable sectors are "assumed" to be zero.

    This program was intended to be used with raw disk devices (drivers)
    doing unbuffered "physical" I/O with simple error recovery procedures
    (perhaps a limited number of read retries). I have not "ported" it to
    FreeBSD or even looked at it in many years, but it ought to work ok as is.

    The traditional dd program has a few problems if you use it with the
    "conv=noerror" option to copy sick disks. One problem is that you
    must specify "bs=512" (i.e. copy only one sector at a time) to avoid
    losing good disk sectors adjacent to a bad disk sector. This makes
    for a slow copy.

    Another problem is that is that if you tell dd to ignore input errors,
    it skips the bad blocks on input but not on output so that after a read
    error blocks are copied to a wrong disk address. I just did a man on the
    FreeBSD 4.8-RELEASE dd command and discovered a new option that avoids
    this problem. Specify "conv=noerror,sync" if you use the dd command.

    Dan Strick
    _______________________________________________
    freebsd-questions@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-questions
    To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org"


  • Next message: Jorge Biquez: "WhatchDog Error on a Lan Card."

    Relevant Pages

    • Re: Restore A Quick Formatted Drive In Windows? Also Cost Of IDE RAID
      ... Sector command. ... In those days the Command Register's bit definitions ... How SpinRite RECOVERS Unreadable Data: ... "Hard disk drives 'heal themselves' by replacing defective sectors ...
      (comp.sys.ibm.pc.hardware.storage)
    • Re: Bad Clusters
      ... >drives I use for backup. ... head positioning wobble that reduces accuracy of pickup, ... Why would a previously good HD develop a bad sector? ... i.e. where the head touches the disk and thus damages it. ...
      (microsoft.public.windowsxp.general)
    • ATA Defect management
      ... > data to a reallocated sector. ... actually make backups and want to restore them on to the disk without ... > identical to the conditions for reallocate on read. ... NO. Fix the drives. ...
      (Linux-Kernel)
    • Re: raid 1 - automatic repair possible?
      ... Having looked at a lot of disks, I think that it is definitely worth ... With large drives, you ... clean the questionable sector and leave you with a perfectly fine disk. ...
      (Linux-Kernel)
    • Re: Part of new hard disk has disappeared - access only to about hal
      ... Rather than reload from OEM CDs, update to Serv Pack 3 etc and load all softwatre, tried to save a lot of time by using freeware to clone existing disk - as I accept, at own risk! ... I strongly suspect that I have corrupted the MBR, and perhaps especially the Volume Bytes forming part of the MBR in sector 0. ... The "of=" is the output target for the command. ... If you want to erase the whole drive, the "dd" command can do that also. ...
      (microsoft.public.windowsxp.general)