old-www/LDP/LG/issue77/tag/1.html

423 lines
16 KiB
HTML

<!--startcut ======================================================= -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<META NAME="generator" CONTENT="lgazmail v1.4F.o">
<TITLE>The Answer Gang 77: CRC errors on floppy disks</TITLE>
</HEAD><BODY BGCOLOR="#FFFFFF" TEXT="#000000"
LINK="#3366FF" VLINK="#A000A0">
<!--endcut ========================================================= -->
<P> <hr>
<!--startcut ======================================================= -->
<CENTER>
<!-- *** BEGIN navbar *** -->
<!-- *** END navbar *** -->
</CENTER>
</p>
<!--endcut ========================================================= -->
<!--startcut ======================================================= -->
<P> <hr>
<!-- begin tagnav ::::::::::::::::::::::::::::::::::::::::::::::::::-->
<p align="center">
<table width="100%" border="0"><tr>
<td align="right" valign="center"
><IMG ALT="" SRC="../../gx/navbar/left.jpg"
WIDTH="14" HEIGHT="45" BORDER="0" ALIGN="middle" border="0"
><A HREF="../index.html"
><IMG SRC="../../gx/navbar/toc.jpg" align="middle"
ALT="[ Table Of Contents ]" border="0"></A
><A HREF="../lg_answer.html"
><IMG SRC="../../gx/dennis/answertoc.jpg" align="middle"
ALT="[ Answer Guy Current Index ]" border="0"></A></td>
<td align="center" valign="center"><A HREF="../lg_answer.html#greeting"><img align="middle"
src="../../gx/dennis/smily.gif" alt="greetings" border="0"></A> &nbsp;
<A HREF="../tag/bios.html">Meet&nbsp;the&nbsp;Gang</A> &nbsp;
<A HREF="1.html">1</A> &nbsp;
<A HREF="2.html">2</A> &nbsp;
<A HREF="3.html">3</A> &nbsp;
<A HREF="4.html">4</A> &nbsp;
<A HREF="5.html">5</A> &nbsp;
<A HREF="6.html">6</A> &nbsp;
<A HREF="7.html">7</A> &nbsp;
<A HREF="8.html">8</A> &nbsp;
<A HREF="9.html">9</A>
</td>
<td align="left" valign="center"><A HREF="../../tag/kb.html"
><IMG SRC="../../gx/dennis/answerpast.jpg" align="middle"
ALT="[ Index of Past Answers ]" border="0"></A
><IMG ALT="" SRC="../../gx/navbar/right.jpg" align="middle"
WIDTH="14" HEIGHT="45" BORDER="0"></td></tr></table>
</p>
<!-- end tagnav ::::::::::::::::::::::::::::::::::::::::::::::::::::-->
<!--endcut ========================================================= -->
<P> <hr> <P>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<center>
<H1><A NAME="answer">
<img src="../../gx/dennis/qbubble.gif" alt="(?)"
border="0" align="middle">
<font color="#B03060">The Answer Gang</font>
<img src="../../gx/dennis/bbubble.gif" alt="(!)"
border="0" align="middle">
</A></H1>
<BR>
<H4>By Jim Dennis, Ben Okopnik, Dan Wilder, Breen, Chris, and...
(<a href="tag/bios.html">meet the Gang</a>) ...
the Editors of Linux Gazette...
and You!
<br>Send questions (or interesting answers) to
The Answer Gang
for possible publication
(but read the <a href="../tag/ask-the-gang.html">guidelines</a> first)
</H4>
</center>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<p><hr><p>
<!-- begin 1 -->
<H3 align="left"><img src="../../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>CRC errors on floppy disks</H3>
<p><strong>From "David"
</strong></p>
<p align="right"><strong>Answered By Dan Wilder, Heather Stern, John Karns
</strong></p>
<P><STRONG>
Thankyou for taking the time to read this. I am marked down as one of
the university
geeks, and it is coming around to the time to hand in
essays/dissertations etc.
Many people have put misplaced faith in the reliability of floppy disks.
Is there any tool for linux, which will allow me to ask the floppy
driver in the kernel to keep trying, so I can put together the
statistically "best" hex dumps,or extract raw text from Word docs etc.
</STRONG></P>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Dan]
'Fraid I can't offer any way to recover the data once it's
lost to bad sectors, tho no doubt some way is possible.
</blockQuote>
<blockQuote>
Instead I'd like to offer the format script I use for floppies
before I'll trust 'em with my data. It culls out a lot of
floppies, and I find that floppies which once passed, after sitting
a few years on the shelf, will often no longer do so.
</blockQuote>
<blockQuote>
User who runs this must have write permission to <TT>/dev/fd0h1440.</TT>
Requires mtools. Watch out, some distributions may obsolete
fdformat in favor of superformat.
</blockQuote>
<p align="center">See attached <tt><a href="../misc/tag/goodfloppy.sh.txt">goodfloppy.sh.txt</a></tt></p>
<P><STRONG>
<IMG SRC="../../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Today I resuced a 6 page essay 10hrs before it was due,
</STRONG></P>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
The easiest way to do this sort of thing (I used to do it too) is
</blockQuote>
<blockQuote>
1. use dd to extract a raw image of floppy disks. This is sufficiently
reliable that it's now the <EM>normal</EM> way I mount floppies on my laptop.
</blockQuote>
<blockQuote><CODE>
dd if=/dev/fd0 of=/usr/local/floppy/student-name-ddmmyy.144 bs=18k
</CODE></blockQuote>
<blockQuote>
In case you're curious 18k is the standard blocksize of a single track,
so this is the "native" amount of bits the floppy read heads want to read
anyway. It should be fastest and have the best chance of getting all the
rescuable bits.
</blockQuote>
<P><STRONG>
<IMG SRC="../../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I already take a copy, as I am not the only geek with enough time, and I
don't want to write anything back to a damaged floppy. Thanks for the
advice with bs=18k I will use that next time.
</STRONG></P>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
Yep, it's about 8 times faster with that set.
</blockQuote>
<blockQuote>
2. the rescue
</blockQuote>
<blockQuote>
<ol type="a">
<li> See if Linux will mount the raw image - as it may be more reliable
than a floppy whose cookie got slow (in other words a straight read
is better than lots of little seeks)
<li>
if not, use 'strings' on the resulting file, noting that some of the
ASCII bits will just be raw strings of letters from headers and things
(e.g. "GIF89A")
</ol>
</blockQuote>
<blockQuote>
Ugly but better than nothing during Finals Week.
</blockQuote>
<P><STRONG>
<IMG SRC="../../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Most disks that I have come across mount OK, but if all else fails, I
have all night, a copy of Peter Nortons PC Programmers Bible (plenty on
disk structure, FAT layout etc), and the promise of as much beer as I
can drink from the hapless author.
</STRONG></P>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
I got a full case of Henry Weinhardt's Root Beer once. The gal knows I
don't normally drink alcohol. No wait, that wasn't in college, that
was in the corporate world. I got some cool coffeecups... uh no, that
was in the corporate world too. Nevermind
<IMG SRC="../../gx/dennis/smily.gif" ALT=";P"
height="24" width="20" align="middle">
</blockQuote>
<P><STRONG>
<IMG SRC="../../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
...but the 200
words held on the bad sectors were well and truly gone.
</STRONG></P>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
Sorry. Once there's scratch marks there, they lose.
</blockQuote>
<P><STRONG>
<IMG SRC="../../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
This is not so good, what I was really after is someway to attempt to
make best guesses for what is in those bad-sectors. I know that it
sounds difficult, but I am looking for something between Scandisk for
windows, and professionals in a clean-room!
</STRONG></P>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
We have dosfsck, of completely unknown reliability, but you're welcome
to try it too. What the heck.
</blockQuote>
<blockQuote>
Short of trying the floppy again in a floppy bay with different alignment,
basically you either got the bits, or you didn't. And indeed, you could
try that (though it submits the poor dented floppy to N more visits by
drive gear) and see if the md5sums of any of the dd images are different.
If so, scour the tweaked ones for anymore bits you can rescue also. Don't
hold your breath, but you'll have earned the extra brewskies if it works.
</blockQuote>
<blockQuote>
Clean-room efforts are basically able to micro-position the heads in the
hopes of seeing the last two to five major writes. Ontrack does such
recovery, but I dunno if they do floppies at all. I suspect not.
</blockQuote>
<P><STRONG>
<IMG SRC="../../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Is there
anything better than dd conv=noerror, that will allow me to access these
dodgey disks from linux. I am kind
of looking for something like Spinrite by Steve Gibson, but I would like
to have it
for linux, and for free.
</STRONG></P>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
spinrite worked on IDE drives, not floppies.
</blockQuote>
<blockQuote>
If you want a hex editor in the spirit of Norton Disk Editor, try lde, but
frankly, I'd use 'hexedit' (a curses-terminal program) on a dd image of the
floppy before I'd consider that ... to reduce the amount of usage tried on
an already poor-condition floppy.
</blockQuote>
<blockQuote>
Oh yeah, and much as ZIP and LS-120 bays are less popular, their cartridges
are <EM>much</EM> more reliable than standard floppies, and CD-RW even more so
(but sadly CD-RW cannot be written to directly, just burned as a complete
image -- and DVD-RAM drives are still not in the normal-consumer price range,
plus they're rare even in the Silicon Valley).
</blockQuote>
<P><STRONG>
<IMG SRC="../../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Forget DVD-RAM <TT>/</TT> CD-RW. Most people use floppies to move work between
computer labs with internet, and our rooms without. Nobody in college
has administritave access to the networked PC's, and the amount of
people who simply use a floppy to avoid copying files around is scary.
We have just got new ZIP-250's, so things should look up for next term!
</STRONG></P>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
Well, definitely looking up there!
</blockQuote>
<blockQuote>
Oh yeah, remind people not to leave their floppies (or cartridges) lying
around in the noonday sun on the car shelf, or other places where they
would get toasty and you wouldn't put VHS tapes. It's basically the same
type of media with the same type of susceptibility to heat damage.
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [John]
I usually keep floppies in the box they came in or in a small plastic bag.
If you examine one, you'll see that they have an open slot at the top edge
where the sliding metal access door is. When left out in the open air,
floating particles enter and adhere to the surface of the plastic disk
inside.
</blockQuote>
<blockQuote>
Zip disks don't seem to have such a comparatively large opening in the
housing as floppies, which may a reason they fare better. But one is very
well advised to keep all magnetic media, including tapes, in a protective
case or other dust barrier. I've noticed that plastic materials seem to
act like magnets for carbon dust, which when smudged leaves a grease spot
on the plastic material.
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
I am reminded of a time that we posted somebody's ruined floppy to the
student-center wall... pried loose of its plastic envelope so the round
disc was revealed, dent and all. Caption: "Don't do this to
your floppy". I forget exactly what did it. The crease wasn't much -
maybe someone sat on it, I dunno. But it was definitely dead.
</blockQuote>
<blockQuote>
I don't know if your policies are about guest-level access only or you
create actual accounts for people there. If the latter then some sort of
share server (samba or perhaps one of those file-appliance boxes that have
gotten so popular) which looks like the same drive letter on all networked
boxes, would get people to use that instead. I like H: for "home" but
your tastes may vary. Combined with the permissions-by-login behavior
samba can provide it's not too bad. You might not want to make it automatic
or perhaps people will abandon logged in machines and mess up each other's
space. And not everyone would use it, perhaps they want to take some work
back to the dorm with them. They might even get them out of sync. (I think
the MSwin buzzword for doing it the right way is "My Briefcase" but don't
quote me, I could be wrong these days. Here in linux we use rsync, and have
to be careful about the commands we give it, too.) In other words it has
its own headaches... but it's not as unreliable at the bits level as floppies
are.
</blockQuote>
<blockQuote>
I think that's about as much as Linux can really do for throwing software
against what is basically a hardware and a clue-ware problem, but there
ya go. Best of luck in the efforts!
</blockQuote>
<P><STRONG>
<IMG SRC="../../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Thanks in advance
</STRONG></P>
<P><STRONG>
David
</STRONG></P>
<P><STRONG>
P.S. If you publish my e-mail can you obscure it somehow. My uni acct is
so far spam-free and I would like to keep it that way.
</STRONG></P>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
Yes, we can anonymize you. If this stays short enough for Tips we'll put
"anonymous" instead of your email, and if enough of the Gang chime in it
may be a TAG thread, where emails are not published at all unless directly
related to the solution (e.g. project maintainers).
</blockQuote>
<!-- end 1 -->
<P> <hr> </p>
<!-- *** BEGIN copyright *** -->
<H5 align="center">This page edited and maintained by the Editors
of <I>Linux Gazette</I>
<a href=""
>Copyright &copy;</a> 2002
<BR>Published in issue 77 of <I>Linux Gazette</I> April 2002</H5>
<H6 ALIGN="center">HTML script maintained by
<A HREF="mailto:star@starshine.org">Heather Stern</a> of
Starshine Technical Services,
<A HREF="http://www.starshine.org/">http://www.starshine.org/</A>
</H6>
<!-- *** END copyright *** -->
<!--startcut ======================================================= -->
<P> <hr>
<!-- begin tagnav ::::::::::::::::::::::::::::::::::::::::::::::::::-->
<p align="center">
<table width="100%" border="0"><tr>
<td align="right" valign="center"
><IMG ALT="" SRC="../../gx/navbar/left.jpg"
WIDTH="14" HEIGHT="45" BORDER="0" ALIGN="middle" border="0"
><A HREF="../index.html"
><IMG SRC="../../gx/navbar/toc.jpg" align="middle"
ALT="[ Table Of Contents ]" border="0"></A
><A HREF="../lg_answer.html"
><IMG SRC="../../gx/dennis/answertoc.jpg" align="middle"
ALT="[ Answer Guy Current Index ]" border="0"></A></td>
<td align="center" valign="center"><A HREF="../lg_answer.html#greeting"><img align="middle"
src="../../gx/dennis/smily.gif" alt="greetings" border="0"></A> &nbsp;
<A HREF="../tag/bios.html">Meet&nbsp;the&nbsp;Gang</A> &nbsp;
<A HREF="1.html">1</A> &nbsp;
<A HREF="2.html">2</A> &nbsp;
<A HREF="3.html">3</A> &nbsp;
<A HREF="4.html">4</A> &nbsp;
<A HREF="5.html">5</A> &nbsp;
<A HREF="6.html">6</A> &nbsp;
<A HREF="7.html">7</A> &nbsp;
<A HREF="8.html">8</A> &nbsp;
<A HREF="9.html">9</A>
</td>
<td align="left" valign="center"><A HREF="../../tag/kb.html"
><IMG SRC="../../gx/dennis/answerpast.jpg" align="middle"
ALT="[ Index of Past Answers ]" border="0"></A
><IMG ALT="" SRC="../../gx/navbar/right.jpg" align="middle"
WIDTH="14" HEIGHT="45" BORDER="0"></td></tr></table>
</p>
<!-- end tagnav ::::::::::::::::::::::::::::::::::::::::::::::::::::-->
<!--endcut ========================================================= -->
<P> <hr>
<!--startcut ======================================================= -->
<CENTER>
<!-- *** BEGIN navbar *** -->
<!-- *** END navbar *** -->
</CENTER>
</p>
<!--endcut ========================================================= -->
<!--startcut ======================================================= -->
</BODY></HTML>
<!--endcut ========================================================= -->