From owner-freebsd-questions@FreeBSD.ORG Sun Mar 28 15:21:02 2004 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C667216A4CE for ; Sun, 28 Mar 2004 15:21:02 -0800 (PST) Received: from mail.datausa.com (mail.datausa.com [216.150.220.134]) by mx1.FreeBSD.org (Postfix) with SMTP id 45C4F43D2F for ; Sun, 28 Mar 2004 15:21:02 -0800 (PST) (envelope-from freebsd@wcubed.net) Received: (qmail 62846 invoked from network); 28 Mar 2004 23:12:50 -0000 Received: from web.datausa.com (HELO webmail.datausa.com) (216.150.220.132) by mail.datausa.com with SMTP; 28 Mar 2004 23:12:50 -0000 Received: from 24.9.172.8 (SquirrelMail authenticated user freebsd@wcubed.net) by webmail.datausa.com with HTTP; Sun, 28 Mar 2004 16:25:56 -0700 (MST) Message-ID: <3283.24.9.172.8.1080516356.squirrel@webmail.datausa.com> Date: Sun, 28 Mar 2004 16:25:56 -0700 (MST) From: freebsd@wcubed.net To: freebsd-questions@freebsd.org User-Agent: SquirrelMail/1.4.0 MIME-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 X-Priority: 3 Importance: Normal Subject: hard disk recover X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Mar 2004 23:21:03 -0000 I'm getting the dreaded "ad1s1a: hard error reading fsbn 524543 of 96-127 (ad1s1 bn 524543; cn 520 tn 6 sn 5) status=59 error=40" errors. Based on what I've read, it means my drive's going bye-bye. As it is, it won't even boot - fortunately I have another FBSD drive to boot from, and I get these errors while trying fsck it. Shame on me for not noticing the errors sooner and an even bigger shame for not having a proper backup. In any case, the milk is spilled and I need to mop it up as best I can. While I can mount the partition, I can't cd to it (more "hard errors..."), and since fsck isn't apparently helping, what can I do to recover what's left? I'm thinking dd's the tool to use, but I'm not really sure how to go about it. Here's what I get when I try to read from the beginning on the partition: # dd if=/dev/ad1s1a bs=64k dd: /dev/ad1s1a: Input/output error However, when I add "skip=1", the drive spits back data. That leads me to believe that if I skip over the bad sectors, I can read what's left. I've got a spare drive I can use as a sandbox, but how should I dump the data? Should I label the second drive with the same partition size and "dd if=/dev/ad1s1a of=/dev/ad2s1a"? Is there any chance of recovering filesystem data going this route? Or should I just create a new, empty partition and dump everything from the bad drive into a huge file and sift through it manually? This doesn't appeal to me at all, but there's a few pieces of data on this whose loss appeals even less. Help and/or suggestions are most definitely appreciated. Brad Waite