[ltp] HDD emergency repair (howto)

Adrian Bastholm linux-thinkpad@linux-thinkpad.org
Thu, 7 May 2009 09:07:54 +0200


--000e0cd29702c280d804694d2b32
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

It would be nice to have a howto with pictures :P. By the way, is there a
way of fixing those old IBM DeathStar drives with the clicking problem ?

/adrian

On Thu, May 7, 2009 at 7:57 AM, Ted Ghose <ted@ghose.us> wrote:

> Richard,
>
> awesome, I've two of those... let me try!
>
> Appreciate it a lot
>
> thanks
>
> -tg-
>
> On 5/6/09, Richard Neill <rn214@hermes.cam.ac.uk> wrote:
> > Dear All,
> >
> > I've just saved a friend's SATA notebook disk, and thought it might be
> > worth writing up a brief account.
> >
> > Symptom:
> >    Laptop wouldn't boot at all, stalling at the first BIOS screen.
> >    HDD wasn't spinning.
> >    Unplugging HDD allowed the laptop to boot via live-CD.
> >    =3D> HDD faulty.
> >
> > Confirm:
> >    There is nothing else that can be done with this disk. Professional
> >     data recovery is too expensive. So OK to take a risk.
> >
> > Open the disk:
> >    Carefully, using a torx screwdriver.
> >    One screw is hidden under the label.
> >    Clean room would be nice, but I don't have one
> >
> > Discovery:
> >    The head appears to have cold-welded itself somewhere in the
> >    middle of the disk. The disk can't spin at all. This is the
> >    second time I've come across a 2.5" disk with this problem.
> >    User says it wasn't mis-treated.
> >
> > Solution:
> >    Carefully, without touching the platter, use a fingernail to
> >    force the head back into the parked position. Some considerable
> >    force (perhaps 10 newtons?) is required.
> >    Then quickly re-assemble drive before too much dust gets in.
> >
> > Recovery:
> >    Put disk into thinkpad. Boot thinkpad from a live CD. (Mandriva 2009=
).
> >    Fortunately, the "dead" disk spins up.
> >    In the live-CD environment, add the package repositories, and instal=
l
> >    ddrescue.  (Note there are 2 similar programs: ddrescue and dd_rescu=
e.
> >    I've had success with both.)
> >
> >    Mount an external USB HDD. Let ddrescue do its stuff:
> >      ddrescue /dev/sda sda.img ddrescue.log
> >    After about 24 hours, ddrescue has recovered all 80 GB of the disk,
> >    excepting about 5 MB.
> >    Also, save fdisk info:
> >      fdisk -l /dev/sda > sda.fdisk.txt
> >
> > Extract partition 1.
> >     dd if=3Dsda.img of=3Dsda1.img bs=3D512 skip=3D63    #value depends =
on fdisk.
> >
> >     Mount the partition loopback:
> >       mount -o loop,ro sda1.img /mnt/tmp
> >
> >     Note: it's supposed to be possible to do
> >        mount -o loop,ro,offset=3D32256 sda.img  /mnt/tmp
> >      but I found it didn't work.
> >
> >     Note 2: It would normally have be easier to directly extract
> >     the partitions one at a time, at the ddrescue stage,
> >     But in this case, the offending disk is a Windows XP
> >     system, and I want to be able to re-image the OS onto a new
> >     drive. A filesystem-level copy won't work here. [In Linux, it's
> >     easy: just fdisk, mkfs, rsync, then fix fstab and install grub]
> >
> > Recover data:
> >     copy stuff from /mnt/tmp
> >
> > Re-image to a new disk:
> >     Plug in new HDD, boot from liveCD.
> >     dd if=3Dsda.img of=3D/dev/sda
> >
> >
> > I hope that's useful to someone...
> >
> > Morals of the story:
> >    (1) ddrescue is really useful.
> >    (2) Linux can do almost anything.
> >    (3) Even a totally stuck HDD can be saved without needing a cleanroo=
m.
> >    (4) Having a USB-SATA adapter would be useful.
> >
> > Best wishes,
> >
> > Richard
> > --
> > The linux-thinkpad mailing list home page is at:
> > http://mailman.linux-thinkpad.org/mailman/listinfo/linux-thinkpad
> >
>
>
> --
> *:-.,_,.-:*'``'*:-.,_,.-:*'``'*:-.,_,.-:*'``'*:-.,_:-.,_,.-:**:-.,_,.
>                     Save time... see it my way
> *:-.,_,.-:*'``'*:-.,_,.-:*'``'*:-.,_,.-:*'``'*:-.,_:-.,_,.-:**:-.,_,.
> --
> The linux-thinkpad mailing list home page is at:
> http://mailman.linux-thinkpad.org/mailman/listinfo/linux-thinkpad
>



--=20
V=C3=A4nliga h=C3=A4lsningar / Kind regards,
Adrian Bastholm

I would change the world, but they won't give me the sourcecode

--000e0cd29702c280d804694d2b32
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

It would be nice to have a howto with pictures :P. By the way, is there a w=
ay of fixing those old IBM DeathStar drives with the clicking problem ?<br>=
<br>/adrian<br><br><div class=3D"gmail_quote">On Thu, May 7, 2009 at 7:57 A=
M, Ted Ghose <span dir=3D"ltr">&lt;<a href=3D"mailto:ted@ghose.us">ted@ghos=
e.us</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"border-left: 1px solid rgb(204, =
204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Richard,<br>
<br>
awesome, I&#39;ve two of those... let me try!<br>
<br>
Appreciate it a lot<br>
<br>
thanks<br>
<br>
-tg-<br>
<div><div></div><div class=3D"h5"><br>
On 5/6/09, Richard Neill &lt;<a href=3D"mailto:rn214@hermes.cam.ac.uk">rn21=
4@hermes.cam.ac.uk</a>&gt; wrote:<br>
&gt; Dear All,<br>
&gt;<br>
&gt; I&#39;ve just saved a friend&#39;s SATA notebook disk, and thought it =
might be<br>
&gt; worth writing up a brief account.<br>
&gt;<br>
&gt; Symptom:<br>
&gt; =C2=A0 =C2=A0Laptop wouldn&#39;t boot at all, stalling at the first BI=
OS screen.<br>
&gt; =C2=A0 =C2=A0HDD wasn&#39;t spinning.<br>
&gt; =C2=A0 =C2=A0Unplugging HDD allowed the laptop to boot via live-CD.<br=
>
&gt; =C2=A0 =C2=A0=3D&gt; HDD faulty.<br>
&gt;<br>
&gt; Confirm:<br>
&gt; =C2=A0 =C2=A0There is nothing else that can be done with this disk. Pr=
ofessional<br>
&gt; =C2=A0 =C2=A0 data recovery is too expensive. So OK to take a risk.<br=
>
&gt;<br>
&gt; Open the disk:<br>
&gt; =C2=A0 =C2=A0Carefully, using a torx screwdriver.<br>
&gt; =C2=A0 =C2=A0One screw is hidden under the label.<br>
&gt; =C2=A0 =C2=A0Clean room would be nice, but I don&#39;t have one<br>
&gt;<br>
&gt; Discovery:<br>
&gt; =C2=A0 =C2=A0The head appears to have cold-welded itself somewhere in =
the<br>
&gt; =C2=A0 =C2=A0middle of the disk. The disk can&#39;t spin at all. This =
is the<br>
&gt; =C2=A0 =C2=A0second time I&#39;ve come across a 2.5&quot; disk with th=
is problem.<br>
&gt; =C2=A0 =C2=A0User says it wasn&#39;t mis-treated.<br>
&gt;<br>
&gt; Solution:<br>
&gt; =C2=A0 =C2=A0Carefully, without touching the platter, use a fingernail=
 to<br>
&gt; =C2=A0 =C2=A0force the head back into the parked position. Some consid=
erable<br>
&gt; =C2=A0 =C2=A0force (perhaps 10 newtons?) is required.<br>
&gt; =C2=A0 =C2=A0Then quickly re-assemble drive before too much dust gets =
in.<br>
&gt;<br>
&gt; Recovery:<br>
&gt; =C2=A0 =C2=A0Put disk into thinkpad. Boot thinkpad from a live CD. (Ma=
ndriva 2009).<br>
&gt; =C2=A0 =C2=A0Fortunately, the &quot;dead&quot; disk spins up.<br>
&gt; =C2=A0 =C2=A0In the live-CD environment, add the package repositories,=
 and install<br>
&gt; =C2=A0 =C2=A0ddrescue. =C2=A0(Note there are 2 similar programs: ddres=
cue and dd_rescue.<br>
&gt; =C2=A0 =C2=A0I&#39;ve had success with both.)<br>
&gt;<br>
&gt; =C2=A0 =C2=A0Mount an external USB HDD. Let ddrescue do its stuff:<br>
&gt; =C2=A0 =C2=A0 =C2=A0ddrescue /dev/sda sda.img ddrescue.log<br>
&gt; =C2=A0 =C2=A0After about 24 hours, ddrescue has recovered all 80 GB of=
 the disk,<br>
&gt; =C2=A0 =C2=A0excepting about 5 MB.<br>
&gt; =C2=A0 =C2=A0Also, save fdisk info:<br>
&gt; =C2=A0 =C2=A0 =C2=A0fdisk -l /dev/sda &gt; sda.fdisk.txt<br>
&gt;<br>
&gt; Extract partition 1.<br>
&gt; =C2=A0 =C2=A0 dd if=3Dsda.img of=3Dsda1.img bs=3D512 skip=3D63 =C2=A0 =
=C2=A0#value depends on fdisk.<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 Mount the partition loopback:<br>
&gt; =C2=A0 =C2=A0 =C2=A0 mount -o loop,ro sda1.img /mnt/tmp<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 Note: it&#39;s supposed to be possible to do<br>
&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0mount -o loop,ro,offset=3D32256 sda.img =C2=
=A0/mnt/tmp<br>
&gt; =C2=A0 =C2=A0 =C2=A0but I found it didn&#39;t work.<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 Note 2: It would normally have be easier to directly ext=
ract<br>
&gt; =C2=A0 =C2=A0 the partitions one at a time, at the ddrescue stage,<br>
&gt; =C2=A0 =C2=A0 But in this case, the offending disk is a Windows XP<br>
&gt; =C2=A0 =C2=A0 system, and I want to be able to re-image the OS onto a =
new<br>
&gt; =C2=A0 =C2=A0 drive. A filesystem-level copy won&#39;t work here. [In =
Linux, it&#39;s<br>
&gt; =C2=A0 =C2=A0 easy: just fdisk, mkfs, rsync, then fix fstab and instal=
l grub]<br>
&gt;<br>
&gt; Recover data:<br>
&gt; =C2=A0 =C2=A0 copy stuff from /mnt/tmp<br>
&gt;<br>
&gt; Re-image to a new disk:<br>
&gt; =C2=A0 =C2=A0 Plug in new HDD, boot from liveCD.<br>
&gt; =C2=A0 =C2=A0 dd if=3Dsda.img of=3D/dev/sda<br>
&gt;<br>
&gt;<br>
&gt; I hope that&#39;s useful to someone...<br>
&gt;<br>
&gt; Morals of the story:<br>
&gt; =C2=A0 =C2=A0(1) ddrescue is really useful.<br>
&gt; =C2=A0 =C2=A0(2) Linux can do almost anything.<br>
&gt; =C2=A0 =C2=A0(3) Even a totally stuck HDD can be saved without needing=
 a cleanroom.<br>
&gt; =C2=A0 =C2=A0(4) Having a USB-SATA adapter would be useful.<br>
&gt;<br>
&gt; Best wishes,<br>
&gt;<br>
&gt; Richard<br>
&gt; --<br>
&gt; The linux-thinkpad mailing list home page is at:<br>
&gt; <a href=3D"http://mailman.linux-thinkpad.org/mailman/listinfo/linux-th=
inkpad" target=3D"_blank">http://mailman.linux-thinkpad.org/mailman/listinf=
o/linux-thinkpad</a><br>
&gt;<br>
<br>
<br>
</div></div><font color=3D"#888888">--<br>
*:-.,_,.-:*&#39;``&#39;*:-.,_,.-:*&#39;``&#39;*:-.,_,.-:*&#39;``&#39;*:-.,_=
:-.,_,.-:**:-.,_,.<br>
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Save=
 time... see it my way<br>
*:-.,_,.-:*&#39;``&#39;*:-.,_,.-:*&#39;``&#39;*:-.,_,.-:*&#39;``&#39;*:-.,_=
:-.,_,.-:**:-.,_,.<br>
</font><div><div></div><div class=3D"h5">--<br>
The linux-thinkpad mailing list home page is at:<br>
<a href=3D"http://mailman.linux-thinkpad.org/mailman/listinfo/linux-thinkpa=
d" target=3D"_blank">http://mailman.linux-thinkpad.org/mailman/listinfo/lin=
ux-thinkpad</a><br>
</div></div></blockquote></div><br><br clear=3D"all"><br>-- <br>V=C3=A4nlig=
a h=C3=A4lsningar / Kind regards,<br>Adrian Bastholm<br><br>I would change =
the world, but they won&#39;t give me the sourcecode<br>

--000e0cd29702c280d804694d2b32--