65

I don't have any real (i.e. professional) experience with Steve Gibson's SpinRite so I'd like to put this to the SF community. Does SpinRite actually do what it claims? Is it a good product to use? With a proper backup solution and RAID fault tolerance, I've never found need for it, but I'm curious.

There seems to be some conflicting messages regarding it, and no hard data to be found either way.

On one hand, I've heard many home users claim it helped them, but I've heard home users say a lot of things -- most of the time they don't have the knowledge or experience to accurately describe what really happened. On the other hand, Steve's own description and documentation don't give me a warm fuzzy about it either.

So what is the truth of the matter? Would you use it?

HopelessN00b
  • 53,385
  • 32
  • 133
  • 208
romandas
  • 3,242
  • 8
  • 37
  • 44
  • It sounds to me like you're not even sure of what you think it does. Perhaps you could elaborate. – John Gardeniers Aug 08 '09 at 05:01
  • 5
    I'm puzzled as to why you'd say that. From what I've read, doesn't it try to recover the data from a failing drive? – romandas Aug 08 '09 at 16:51
  • FYI, I didn't use the spinrite tag on purpose. It's only been used on one post, and do we really need tags for every software app? Anyone Google searching will hit spinrite in the question. – romandas Aug 08 '09 at 16:58
  • People -- we've beaten this question to death. Please stop posting answers that do not add any value to the already accepted answer. I'd vote to close it just for that, but none of the available reasons for closing are relevant. – romandas Jan 15 '12 at 22:33
  • 2
    if you feel there have been enough answers just ignore any new ones. It's just not that big a deal. – John Gardeniers Jan 16 '12 at 03:29

19 Answers19

58

I've had a reasonably good experience with SpinRite, but I think it's highly overrated. In fact, it might just be too clever for its own good. There are free solutions which work just as well (actually, the free ones might work even better).

We had a 200 GB NTFS drive that suddenly failed catastrophically. This was supposed to be the "shared" drive on which people just dumped stuff temporarily, but it ended up turning into a huge data repository that had miscellaneous backups, as well as a bunch of files that nobody bothered to back up anywhere. When the drive died, we couldn't get it to mount, no matter how many times we ran chkdsk or other tools.

In the end, we purchased and ran SpinRite...which continued to run for more than 1 month. Every time it hit a bad cluster, it spent hours trying to recover data from it. Again, it ran nonstop for more than a month trying to recover data from a defective 200 GB drive. (In SpinRite's defense, it can scan a drive in just a few hours if there are no physical defects.) SpinRite was eventually able to recover all our files, although many of the larger ones turned out to be corrupt anyway. SpinRite also made the drive mountable again. So I'd definitely say it did something.

However, despite the fact that it worked, I don't know if it helped any more than just booting off a Linux CD and running dd to copy the entire drive to a file. There's something to be said for not running a dying disk for an entire month, as it's dying! Physical defects seem to have a habit of spreading. It wouldn't surprise me if the disk degraded even further while SpinRite was running. Personally, I'd rather get the data off the disk as quickly as possible, make several backup images, and try to repair the files offline.

We've had to recover other data recently, and dd has done a great job. You can tell it to copy all the good data off the drive, then you can run it a few more times to go and try harder (i.e., use smaller block sizes) trying to pull data off the bad areas.

If you've got an hour or so to spare, I'd say it's worth your time to learn how to use dd instead of buying SpinRite: http://www.debianadmin.com/recover-data-from-a-dead-hard-drive-using-dd.html

Or go the slightly easier route and just download dd_rescue: http://www.garloff.de/kurt/linux/ddrescue

If you still want to run SpinRite, I'd highly recommend doing it AFTER you've copied all existing data off the drive, just in case running the drive for a longer period of time allows it to become further degraded.

Every time you get a new drive, you should boot off a Linux CD and run badblocks to check it for defects. You should also periodically check your drives for degradation. We've had at least 2 brand-new drives come with defects, and 3 or 4 more die within a couple of months (even though we did thorough tests before putting them into service).

Note that you need to run badblocks as root, or prefix the commands with "sudo " if you're booting off an Ubuntu live CD.

Brand-new drives (warning: destroys all data!):

badblocks -wvs /dev/sd#

or

badblocks -wvs /dev/hd#

In-use drives (read-only test):

badblocks -vs /dev/sd#

or

badblocks -vs /dev/hd#

Where # is the drive number in Linux. IDE drives usually are called /dev/hd#, and SCSI (and often SATA) drives are /dev/sd#.

More info on badblocks here: http://en.wikipedia.org/wiki/Badblocks

By the way, even though dd and badblocks are Linux programs, you can use them on NTFS drives, and you can even mount NTFS partitions in Linux, regardless of whether you're using MBR partitions, dynamic disks, or GPT disks.

Steve's documentation discusses a lot of hypothetical problems that SpinRite theoretically could help with. For example: data fading away over time and needing to be "refreshed" by reading every block and writing it back to the disk again, or the notion that repeatedly repositioning the read head on either side of a block will eventually permit you to statistically divine the original data stored in that block. Logically, these things make sense, but I think they are just solutions to academic problems which may not actually arise in the real world. (At least, with hard disks--maybe Zip disks and such were more susceptible to data fading.) If Steve cited papers on the subjects, or if these techniques had been experimentally proven to be effective, then I would expect for there to be many open-source or commercially-available SpinRite clones. It would be well within the capabilities of an average script programmer to write a Python, Perl, or UNIX shell script that includes all of SpinRite's documented features.

rob
  • 1,253
  • 1
  • 10
  • 17
  • 2
    Wow. +1 for great info on badblocks. – Kamil Kisiel Aug 08 '09 at 02:03
  • 9
    Did you put in in a freezer bag and freeze the drive first? It helps a dying disk work for just long enough to mount and copy stuff off. Sometimes. – dlamblin Aug 08 '09 at 02:37
  • Back then, I don't think I had heard of the hard drive freezing trick. I'll have to remember it for any tricky drives in the future though! A place I used to work actually had freeze spray that you could spray on a flaky circuit board while it was running, to help identify & pinpoint heat/warping-related problems with electronics! I never got to use it though; it was a relic leftover in a supply cabinet from the days when they did circuit board-level repairs on servers. – rob Aug 08 '09 at 02:44
  • SpinRite works better on drives that aren't about to die. – Brad Gilbert Aug 08 '09 at 03:34
  • 3
    The remarks re: Steve are not relevant. This response is informative but could be cleaned up by removing them. – Ethan Post Aug 08 '09 at 04:54
  • 1
    Well, the difference between the Linux tools you've mentioned and SpinRite is that the Linux tools are mostly made to repair the harddisk and maybe fix some broken files. SpinRite is just trying to read and read and read (repeat about 2000) a bad sector until it reads it right, in which case it could recover data instead of deleting this data. Once the data is recovered, you can copy it to a healthy disk. And if it still can't read it after 2000 times then it's unlikely that the data will ever be recovered. So ask yourself, Do you want to rescue the disk or rescue the data? – Wim ten Brink Aug 08 '09 at 08:21
  • (Great post, btw.) – Wim ten Brink Aug 08 '09 at 08:22
  • 4
    @Ethan: Thanks, I've updated the article. I was trying to point out that SpinRite may just be too clever for its own good--i.e., that Steve seems to have a habit of overengineering his solutions without properly researching the problems. For example, he wrote two utilities in assembly to enable/disable a couple of network ports in Windows and wrote a big, long article about it--only to find out later that he could have easily done the same thing by unchecking a box in Windows. – rob Aug 10 '09 at 19:49
  • 3
    @Alex: SpinRite is similar to chkdsk or badblocks; it just tries a lot harder. It's debatable how much harder it really needs to try. While the head is sweeping back & forth trying to read a bad block, it could also be scraping dust across the platters, damaging them even more. Rescuing the data is good, but inflicting more wear & tear on an already-dying drive is bad. I think if you already have SpinRite and want to run it, then you should only do so AFTER you've copied the existing data off. Then run SpinRite, copy the data again, and see what's changed, if anything. Also: thanks! :) – rob Aug 10 '09 at 19:57
  • 1
    FYI, NTFS-3g doesn't care about the underlying disk organization as long as it has a block device to mount. In the case of GPT and dynamic disks, the Linux kernel does support both. – Ryan Bair Feb 25 '10 at 16:59
  • Thanks EvilRyry, I updated my answer to mention dynamic & GPT disks are supported. – rob Feb 25 '10 at 21:43
  • Interesting explanation from Steve himself. http://www.grc.com/sn/sn-384.txt – JZeolla Jan 25 '13 at 14:18
  • @SteelCityHacker thanks for the link. The bit on "track drifting" (which creates the impression that a bad block has drifted into a track over time) was interesting but it sounds to me like Steve is saying toward the end that improvements in disk technology have addressed this issue. – rob Jan 25 '13 at 22:45
  • SpinRite actually does try to do a statistical analysis on the data it reads, determines its best guess, and then writes that to the drive (which reassigns the sector). As a result, on badly damaged sectors it's not guaranteed to always get all the data accurately. That's why many of the files SpinRite recovered were corrupted. Badblocks doesn't do this statistical analysis, it just does read tries and hopes one will succeed. When you use SpinRite, it should only be as a last ditch effort because of the possibility that the data it recovers may be corrupted. – tenner Apr 06 '14 at 04:18
  • 1
    @tenner `badblocks` isn't a data recovery tool. Compare instead to `ddrescue` which makes a variety of attempts to read data. – Dev Nov 13 '14 at 16:53
28

Having written disk drive firmware in the past (starting back in the '80s), there's a lot of misconceptions here about what drive firmware does. I've also spent a lot of time on the GRC forums, but am not connected with SpinRite in any way other than as a user.

First, drive firmware has always recovered and remapped sectors since at least the '80s (I wrote firmware to do that back then). There's absolutely nothing new about this. When drives hit a problem sector, they do several retries on their own, but the number is limited because the drive is not allowed to go several seconds on one read command -- many operating systems get upset if the drive does not complete a command in well under a second. If the drive can recover the data, it will usually remap the sector automatically if it thinks the error is more than a one-time hiccup. Thus programs such as chkdsk or dd which simply read the disk drive will trigger this behavior just as well as SpinRite.

The real question is what happens when the drive firmware can't recover the sector data. What SpinRite will do that most other programs don't is to do thousands of rereads and reseeks to see if it can get the disk to read the data successfully one time. If this happens, SpinRite tells the drive to remap the sector and writes the recovered data to it. In my experience, multiple rereads and reseeks have a limited success rate, and as others have noted here, can result in using the remaining limited lifetime of a failing drive. Thus it's always a good idea to try using dd or chkdsk before trying SpinRite.

The problem is when the drive cannot recover the data no matter how many rereads and reseeks are tried. SpinRite reads the raw uncorrected data from the sector many times and does a statistical analysis of what it gets back to try and recover the actual data. It then tells the drive to remap the sector and writes the recovered data to it. This part of SpinRite is unique as far as I know, and it's a last ditch effort when everything else has failed. As a result, I have used SpinRite to recover data that no other program (dd, manufacturer diagnostics, etc.) has been able to. But when you run SpinRite, you have to accept that the data recovered may only be partially correct. SpinRite also has the effect of mapping out all bad blocks, which can make the drive usable again. But simply writing to all bad sectors will do that as well, and this can be done with badblocks.

Of course, some drives are a lost cause that no program can save. If you really need the data, take the drive to a drive recovery house which will try replacing faulty parts of the drive and other techniques to get back as much data as possible. Be prepared to spend thousands of dollars. It's a very labor intensive process requiring expensive clean rooms and these places have to maintain inventories of replacement parts for every commercially released drive going back years.

As of this writing, Steve is working on version 7 of SpinRite which will include data recovery similar to dd_rescue as well as the sector recovery stuff he does now. Supposedly this will be done before he concentrates on individual bad sectors so that he won't use up the life of a dying drive on recovering just one sector.

tenner
  • 741
  • 1
  • 7
  • 4
  • 3
    I think most people's reservations lie in Steve's countless missteps and that if the program had some secret sauce someone would have figured it out by now and tried to copy it. – Chris S Jan 14 '12 at 01:19
  • 1
    Wonderful answer, it's great to get insight from someone who's been "behind the scenes" for a while. I'd still wish that you'd put a bigger emphasis on the potential data loss of putting larger strain on the disk if it's already failing, as one _should_ go to a drive recovery house (as you mentioned). – pauska Jan 14 '12 at 02:15
  • 2
    Tenner, do you have any details on which command set from the [ATA command specification](http://www.t13.org/documents/UploadedDocuments/docs2008/D1699r6a-ATA8-ACS.pdf) would allow to read an "uncorrected" sector? As far as I know this is neither possible nor desirable as surface recording and reading takes a statistical approach and inevitably would produce errors which would need to be corrected by the redundant information contained in the error-correcting code. – the-wabbit Jun 19 '12 at 14:37
  • 2
    It used to be possible with the Read Long command, which sent the raw data from the sector back to the host, assuming the drive got a full sector's worth of data (sometimes the sector is so badly damaged it can't even do that no matter how corrupted the data is). The original purpose was to allow host testing of the drive's ECC robustness. Steve has never said whether or not this is what he uses. However, the Read Long command has been removed from recent versions of the ATA specification. If this is what Steve uses currently, I don't know what he will do in the future. – tenner Apr 06 '14 at 04:30
  • 1
    `READ LONG` has been marked as obsoloete as of ATA4. This would mean it is gone for approximately 20 years. The point I am trying to make is that likely there *is no command to read raw uncorrected data off a drive*, thus there is no way for SpinRite to achieve what it claims to do. – the-wabbit Jun 25 '14 at 21:19
10

I can tell you with certainty that this tool will recover data that other tools (such as ddrescue) will not. And therefore, it is worth using if your drive has failed. Spinrite has recovered a drive for me when all other tools have failed. However, it can only recover certain types of errors, and doesn't work every time.

That said, there are important cases where you should not even attempt to recover your disk with spinrite or any other software-based solution. That is, if your disk has failed for an unknown reason and the data on it is absolutely critical -- you should immediately unplug the disk and ship it directly to a professional repair shop (not geek squad or data doctors or other consumer shops) where they can disassemble it to find out and resolve the problem. These shops operate in a clean-room environment and have the tools to replace heads, motors, PCBs, and any other component that may have failed. They're not cheap -- on the order of $800 to $3000 (or more) for a single disk, but they're by far and away your best shot.

Most importantly, if there is physical damage within the enclosure, simply spinning up the drive can irreparably destroy your data, making any future recovery attempts futile. Spinrite cannot recover a disk that has damaged components. Spinning up the drive for any reason if there are loose pieces inside is incredibly destructive.

Also, and Spinrite does not work "non-destructively" -- that is, it remaps bad sectors after reading them, which can affect future recovery efforts. Therefore, if you want to attempt a software-based recovery, you should dump what you can using tools like ddrescue, and then use spinrite on the drive.

tylerl
  • 14,885
  • 7
  • 49
  • 71
  • "on the order of $800 to $3000 for a single disk" - that is, when cheap. At least the guys that do that for the feds in my country charge up to ~300 in USD for each GB. – Camilo Martin Mar 13 '12 at 14:33
  • @CamiloMartin: If someone is charging for the information you're given rather than for the work they actually do, then you need to find someone who's a bit more honest. That's like a car repair shop charging for the how far a car will go rather than for the installation of the new brake pads. None of the (highly-skilled) shops I've worked with use that type of pricing scheme; maybe the fed contract has inflated their egos. – tylerl Mar 14 '12 at 02:51
  • 1
    Most probably that is the case (since of course their contract with the government is not on these terms). By the way, SpinRite is helping me recover a hard drive. My current process is to keep the drive as cool as possible with a fan (and really it does not heat up the least bit) and while it takes too much time, I'm eventually re-mounting it and checking the state of the files. I can confirm a file was recovered, and it was read hunderends of times with ddrescue before (with no effect). I'm happy! – Camilo Martin Mar 15 '12 at 07:40
10

SpinRite was a great program in the era it was written, a long time ago. Back then, it would do black magic to recover drives that were seemingly toast, by being more persistent than the drive firmware itself was.

But here in 2009, it's worthless. Modern drives do complicated sector mapping and testing on their own, and SpinRite is way too old to know how to trigger those correctly on all the drives out there. What you should do instead is learn how to use smartmontools, probably via a Linux boot CD (since the main time you need them is when the drive is already toast).

My usual routine when a drive starts to go back is to back its data up using dd, run smartmontools to see what errors its reporting, trigger a self-test and check the errors again, and then launch into the manufacturer's recovery software to see if the problem can be corrected by it. The idea that SpinRite knows more about the drive than the interface provided by SMART and the manufacturer tools is at least ten years obsolete. Also, getting the information into the SMART logs helps if you need to RMA the drive as defective, something SpinRite doesn't help you with.

Note that the occasional reports you see that SpinRite "fixes" problems are coincidence. If you access a sector on a modern drive that is bad, the drive will often remap it for you from the spares kept around for that purpose. All SpinRite did was access the bad sector, it didn't actually repair anything. This is why you still get these anecdotal "it worked for me" reports related to it--the same thing would have been much better accomplished with a SMART scan.

Greg Smith
  • 959
  • 5
  • 7
  • 7
    Forcing sector remaps is not a coincidence leading to anecdotes, it is a major part of SpinRite's strategy. Also SpinRite has gotten drives to recognize that I couldn't run smartmontools against, because it "wasn't there". I don't think SpinRite is as indispensible in 2010 as 1999, but "worthless", I don't think so, I've recovered too many drives with it, with very minimal effort. Even if other methods exist now, you can't beat that for utility. Just boot and run. – kmarsh Jan 14 '10 at 13:21
  • 9
    kmarsh, I don't think you understand how sector remapping works. Modern drive firmware will automatically remap a sector when ANY read/write operation returns a marginal signal. GRC claims that SpinRite "freshens" disks by "forcing" sector remapping, which is *technically* true, but so does any command that reads the entire disk. Boot any live Linux CD and run 'cat /dev/sda >/dev/null', and you've just "freshened" the disk, without paying $89. – Ryan B. Lynch Mar 19 '10 at 22:48
  • 2
    Ryan, depending on which source you read, about "Current Pending Sector Count," successful reads will not always result in a remapping. [Acronis indicates](http://kb.acronis.com/content/9133) it will happen if "errors still occur." Others say it will only happen on writes like the [wikipedia article](https://en.wikipedia.org/wiki/Self-Monitoring,_Analysis,_and_Reporting_Technology) (and that can be conditional). In any case, you don't need SpinRite to do this cycle. What SpinRite does claim to do differently is not immediately give up on pending sectors (whether dynastat works, I'm not sure). – James Snyder Aug 18 '13 at 15:23
  • 2
    Ryan, drives do NOT automatically remap a sector if they can't recover the data. Suppose they did. What would the drive write to the sector after it remaps it since it couldn't recover the data from the original sector? And after it remaps it, the sector would always read as good -- but with the WRONG data. This is data corruption, which no drive manufacturer will knowingly do. Also, if a sector is bad, many OEMs don't want automatic remapping. They'd much rather allow multiple host retries, which is impossible if the drive automatically remaps the sector. – tenner Apr 06 '14 at 04:38
6

One important point still missing here is that SpinRite is written by Steve Gibson - a man who has been criticized for incompetence for years and has run countless attacks on windmills during his late "career". While this does not necessarily mean that no good piece of software can come out of his "Gibson Research Corporation", it should at least make everybody check twice. As many have noted, there are plenty open-source alternatives (mostly coming as Linux Live CDs) for data recovery which would work at least as well.

the-wabbit
  • 40,319
  • 13
  • 105
  • 169
  • 5
    +1. And as much as I want to +1 you multiple times for this, as worded, it reads like a *comment* and not an *answer*. – jscott Dec 08 '11 at 23:35
  • An answer to this question is about whether to trust Steve Gibson to be any good at computer science and coding. It is somewhat of a personal opinion which I tried to keep out as much as possible. For me it would boil down to "don't touch it with a stick". And certainly do not spend money on it. Besides, it would not fit in a comment. You are welcome to edit, if you think it can be improved. – the-wabbit Dec 09 '11 at 08:50
  • 2
    Three of those articles were written by the same man, Thomas C. Greene. Not really fair. – Peter Jun 17 '12 at 19:24
  • 1
    @Peter the basic point is that it does not matter. The articles reference events which can be verified by simple research. Even if Greene had bias against Steve Gibson, it does not make any of the factual depictions less true. Also, I believe that the bias was well deserved from Steve's history of lurid claims. – the-wabbit Jun 19 '12 at 14:19
  • 1
    @syneticon-dj Fair enough, but facts are easily spun, after all Fox News is the most reliable name in news. – Peter Jun 19 '12 at 20:01
  • This doesn't add to the discussion. One bold word doesn't diffuse an ad hominem and it's not relevant to the topic. This also manages to claim that open source tools do everything SpinRite does but the above useful answers talk about uncorrected sector data rewriting that none of the open source tools do (yet), so it's incorrect as well. -1. – Bill McGonigle Jun 25 '14 at 20:02
  • @BillMcGonigle it is not about "one bold word" - the entire history of what Steve Gibson has done does not leave much hope to believe that he has achieved what thousands of others have not in an area of *their* expertise. – the-wabbit Jun 25 '14 at 21:21
  • @the-wabbit: please post a link to an open source tool that does uncorrected sector data rewriting. I'd love to have one but have never found (nor written) one. If such a link cannot be produced, all the ad hominems in the world won't change any facts here. – Bill McGonigle Dec 18 '14 at 19:06
  • @BillMcGonigle I give you the benefit of the doubt that you simply missed [my statement here](http://serverfault.com/questions/51681/does-spinrite-do-what-it-claims-to-do/339194?noredirect=1#comment723627_349832) so I will repeat it once more: ***there is no command to read raw uncorrected data off a \[SATA\] drive, thus there is no way for SpinRite to achieve what it claims to do***. The only sensible strategy would be re-trying failed reads until valid data is returned. This is what `ddrescue` is doing. – the-wabbit Dec 19 '14 at 11:21
5

Would use it, have used it, would recommend it.

I had a 160gb SATA hard drive full of Solidworks drawings on it. One day a power outage took this one machine down. Afterwards the machine would only bluescreen during bootup.

Finally we purchased SpinRite after trying ChkDsk and the manufacturer's simple utility programs. SpinRite found and fixed those errors on disk. All the data was recoverable after that.

If your hard disk is toast, and if your data is worth more than the cost of a new disk, it's worth the purchase of $89 USD.

p.campbell
  • 4,397
  • 6
  • 40
  • 51
3

All I know is that Spinrite is a very old product and the fact that it's at version 6 seems to suggest that it didn't have many updates. I've heard of it about 15 years ago, when Windows was still a 16-bit add-on for MS-DOS. The Wikipedia page even says it's first version was build in 1988! And a product just won't survive 21 years if it's not a good product. However, they do make it appear as if it's a very versatile product with lots of possible uses, but those are just sales people talking, since basically it's just a piece of software which scans aand fixes magnetic data storage.

The creator can be considered reliable, although it's a piece of software that's mostly used by hardware specialists. Considering the price, it's not very expensive for this kind of tool, but it's a tool that I haven't ever needed so far.

Do keep in mind that disk scanning tools will take hours to finish on big disks. If you're going to check a 2 TB disk with it, get a bowl of chips and a beer, sit on the couch and watch a movie while letting SpinRite scan your system. (Then, watch a second and third movie, brush your teeth, go to bed, get up, do your morning routine and check if it's done...) Of course, this is something that's a problem that all software has, if they have to scan a huge disk sector by sector.

If you just deleted a file or formatted a disk by accident, other (free) tools will be a better option. SpinRite is more practical on disks that are beginning to degrade, to recover data from damaged areas.

But again, I have no experience with this product since I never ever needed it. I tend to keep backups and even backups of backups. But I can think it's useful for people in a hardware repair shop when a customer asks them if they can recover some lost data from a crashed hard disk.

Wim ten Brink
  • 1,045
  • 6
  • 13
  • 1
    I would like to add that the site's on FAQ mentions that it's speed would be up to 2 GB per minute. Often just slower than this. So, 120 GB could take an hour, a Terabyte nearly 8 hours. That is, if no problems are encountered. So no, I'm not exaggerating when I tell you to start SpinRite in the evening and check upon it in the morning! – Wim ten Brink Aug 07 '09 at 23:55
  • I was one of those version 1 users! :-) Saved an old RLL (2,7) drive on my turbo XT! Periodic deep refresh was just the thing to bring those old stepper motor drives back! Used it through version 3, at which point I haven't had any drive failures that I've cared about (so haven't done any upgrades of the software). – Brian Knoblauch Aug 10 '09 at 20:06
  • Linux itself just got to version 3 (and as far as I know, there were no huge breaking changes, they just wanted to increase the major number after so much time). Version numbers do not mean development. – Camilo Martin Mar 13 '12 at 14:23
2

It is fairly meaningless to say it is "better" than chkdsk. Chkdisk is good for what is does. Spinrite supposedly does something else.

For many of the anecdotes above, merely using dd or preferably ddrescue off a boot disk will recover the data anyway - for free.

What Spinrite appears to do is remapping badsectors at a disk level (rather than OS) and trying to "repair" surface defects by overwriting many times. If these bad sectors (physical or logical) are stopping the disk from being read by Windows then it will appear that SR performs a miracle but often that is courtesy of it being a boot disk - so it does not get caught up in NTFS problems. However any linux boot disk will access the data. Furthermore on the same linux disk running ddrescue will reverse clone the disk and retry/ignore bad sectors it comes across to deliver all the non-damaged data to another disk you specify - which is really what you want to happen. Losing a few sectors is not normally a catastrophe. But ruining an already weak disk is.

Spinrite and HDD Regnerator (a similar product) have very limited uses. You need a disk with physical bad sectors that are preventing the disk from being read or mounted at all and data that you don't value so much as to pay for proper DR. In those situations SR can help you over the first hurdle and do the proper recovery.

2

It looks like we have the beginnings of a SpinRite Holy War here. Part of that seems to stem from some ambiguity over what Spinrite is for and who the target audience is. I own Spinrite 6, have used it on my own systems, and have had it both work and not work. It does what it was designed to do rather well, but you can't drive a screw with a hammer. We need to use the right tool for the job.

Spinrite is NOT a file system recovery tool. It doesn't know NTFS from FAT from HPFS from EXT3. Any file system level problems will not be corrected, only drive data read problems, which I have found it does handle rather well. If you have a file system level problem, use something else.

Spinrite is not really for us Linuxheads that are comfortable working at the command line with tools like 'dd'. (If you have ever told or laughed at a joke with the word 'sudo' in it, this means you!) It is for the intermediate user that works mostly with a GUI and hasn't backed up since the Clinton administration.

It works with the drive's SMART monitoring system (even if your bios has it disabled for some reason as mine did, with no bios option to turn it on.. grr...) and doesn't just say 'this sector is bad, move it' but actually tries several different ways to get as much data from a bad sector as possible, fill in the gap with a statistical guess, then have SMART find a new place to put the data. It may seem like losing a few sectors is not a big deal, and usually it is not, unless it is in your partition table or in the middle of some database files which are often all or nothing. In those cases, you need the sector back, even if it is not completely accurate. I haven't seen anything else that does the partial sector recovery, usually it's just goodsectorread=move it vs. badsectorread=toss it.

The best use of Spinrite is really drive maintenance. Run the thing once every few months so that the Smart system actually looks at everything and remaps what is necessary. DD will do the same thing, but if there are damaged sectors that can't be read SMART will toss it completely. Spinrite might actually get 90% of the sector out. Again, no big deal if it's a .jpg. Really big deal if it's your partition table.

Kelley B. Support Mgr

  • Not sure where you got the impression of a "holy war".. sure, not all the posts agree with each other, but that is rather the point of the Stack Exchange system, since the answer most believed to be correct will get voted up. That being said, is it safe to say that you believe the target person using spinrite would not be a professional sysadmin but rather an "intermediate level user"? – romandas Mar 17 '10 at 16:26
2

Spinrite is just a another tool in your arsenal and it is good at what it does. One of the main benefits of Spinrite is that it is relentless is trying to recover every last bit that it can from a bad sector of your hard drive. Basically it sits there and keeps reading the sector over and over at different angles to try and get a good read (this is why it takes so long). If you absolutely need to recover some data that is on a bad block I don't know of a better tool than Spinrite.

I definitely agree with Rob's answer that you wouldn't want to run a failing hard drive for a month to get your data because there is a very good chance that it would fail completely before it ever finished. But another solution might be to do a dd first and get all the data that you can off of it and then do a spinrite to see if you can get some more.

Spinrite also has some other nice features that are available in free tools such as it copies data in place on hard drive so as to prevent data loss from magnetic degradation.

James Hackett
  • 205
  • 1
  • 8
2

The Good:- Gives your drive a workout and if its dead or the data of no value you've got nothing to lose, it may get you past go. The bad:- The mumbo jumbo put forward about it operation which just de-values its credibilty. Some of this may have been valid 20yrs ago but now?

The premise that your drive is OK if it recovers sectors. I used Ver 1 one 20yrs ago and it wasn't a valid assumption then and it isn't now. I learned the hard way a recovered bad sectors should only be used as a chance to save your data before you toss the drive, not continue using as if it is fixed.

Also as stated in other posts using this on a faultly drive means you're about to give it the workout of its life. Any user needs to understand that and possible implications. You wont pick that up from the GRC site.

Hard to believe people have actually posted comments about fixing company file server drives and putting back in service. Either they lucked out or more likely wouldn't post when it bombed out a few days/weeks down the track.

2

It works, period, and if doesn't, I trash the drive. If a drive can't take the beating spinrite dishes out. I don't want to trust it any longer than it takes for spinrite to recover whatever is left. Sure big files die, but I'd be happy with bunch of a customers birthday pics (small K) than some halflife.iso anyway...

I've used spinrite since its debut. Pretty much continuously since then. I used most of the makers utils as well.

My first house call was for an IBM XT that wouldn't boot. I pulled out my 5 1/4 loaded with msdos, fdisk, format, copy, spinrite and left it running overnight on highest level, came back next day, and found that little rectangle bouncing around. I hit space a couple times and it's done. Reboot and hugs from my buds gran as their system starts up, and I gots paid $20! Thats 20+ years ago. I used it since to fix numerous drives, so much so I've lost count.

Fast forward to today, and in an effort to find an old version of spinrite, and I bumped into you guys. I've just used it to fix a buds laptop while I typed this. So ya, that is how I know it works. I don't care what is said about its creator, his creation (at least early versions) work, thats good enough for me.

Surely if your tech enough to offer an opinion, you have a dying questionable hdd around somewhere. Check it out realtime and come back. It can't do miracles, but if lost sector count doesn't climb that is great! If it falls even better. If it does climb, its bin time. Just depends on how hard the head(s) crashed into the disc and wether it was spinning at the time.

emmm deeee
  • 21
  • 1
1

I attempted to use spinrite for its maintenance benefits, but who has time to let it work on a large disk for > 16 hours and you can't use the computer for anything else while it's running (you're booted into a DOS_only sort of mode to run it) ? If you have lots of disks (say a storage enclosure with 4-5 disk, plus your system and swap disks), it's somewhat insane imagining how to keep up such a schedule. You'd lose your computer for a week just to do routine maintenance.

Keith W
  • 11
  • 1
1

Guess I could be categorized as "one of those home users", but here is my experience: I did try it once on my mothers laptop which wouldn't boot. During the windows startup we got a BSOD claiming some system files were missing. I tried to run SpinRite, it took a while, said it found some broken sectors or something (was a while ago). When it was done, it booted without problems.

Only thing I must say that I kind of hate is that it doesn't work with usb drives (as far as I know...). And usb drives are often the ones that seem to crash for me... =/

Oh, and it is not especially cheap...

Svish
  • 6,627
  • 14
  • 37
  • 45
  • Usually you can pull the hard-drives from the USB enclosure, and attach it directly to the computer. Then SpinRite gets full access to the hard-drive. – Brad Gilbert Aug 08 '09 at 03:38
  • does that work with usb drives like those from western digital and seagate too? didn't think it was possible to open those... without breaking them open that is... – Svish Aug 08 '09 at 19:13
  • Svish, you'r right--brand-name external hard drives often have security screws and are very difficult to open unless you have a specialized tool. However, if you configure a VM to have direct access to a physical drive, you should be able to mount the USB drive as a physical, "internal" hard drive and run SpinRite or any other low-level utility. Only certain hypervisors support direct access to a raw disk, however. – rob Aug 10 '09 at 23:23
  • 1
    Let me get this straight; the drive showed major signs of weakness, you managed to get it to work again ... and you kept using it??? Here's a hint: drives are dirt cheap. Here's a second hint: they typically have a 3 year warranty. Me I just buy a new one, copy the data over, send the old disk back to the manufacturer on the cheapest shipping I can find (no certified / ack etc) and if it gets back I put it in an external drive enclosure (for 2.5" disks they cost ~$15) – niXar Sep 11 '09 at 19:50
  • Well, first, it was a laptop, second it wasn't my laptop, third it wasn't the laptop of the one using it (workplace laptop). – Svish Sep 14 '09 at 18:44
1

They always put in testimonials into the Security Now show. (Which itself is rather good). During these shows they read out success stories from the SpinRite software. Some of them sound amazing, but I'm sure as any other salesman would only read out amazing success stories. (Note: I am not putting down SpinRite capabilities but it is just common sales sense to read out only success stories). So listen to a few of their shows and see what you think of SpinRite then.

I personally have been considering grabbing a license for my workplace, as (for a sys admin) it would prove to be a very valuable tool. We only get so much warning for future disk failures.

Qwerty
  • 1,504
  • 2
  • 15
  • 24
  • 3
    Given a proper backup strategy and some fault tolerance built in, as a sysadmin why would you need it? – romandas Mar 17 '10 at 16:21
  • I wouldn't necessarily believe all the testimonials. I know of at least one that the guys at PaulDotCom manufactured to get it read on the podcast (which it was) just to spite Mr. Gibson. – Psycho Bob Mar 26 '10 at 19:52
1

my experience is that of a home user. I've had the odd disk fail (I tend to buy cheap and second hand hardware for home) and in most cases spinrite has helped out getting disks mountable and usable again. Your mileage may vary but I find it a cheap way of prolonging the life of older hardware - if only to check if anything needs to be recovered from it.

Preet Sangha
  • 2,727
  • 1
  • 24
  • 25
1

SpinRite saved my bacon once. I had a brand new hard drive, and somehow the file system changed from NTFS to RAW. Normally this would make the system completely unbootable, but it still was booting fine. I couldn't run chkdsk, and my nightly backups were failing due to a bad sector. SpinRite didn't complete successfully, but it did fix the bad sector and the file system went back to NTFS.

It's painfully slow to run, but it depends which level you're running at. It's definitely better than chkdsk. Reminds me of Norton Disk Doctor, but with the ability to recover bad sectors instead of just marking them.

Scott
  • 1,173
  • 3
  • 13
  • 25
  • This does not make any sense. A filesystem can't "go RAW" all of a sudden. NTFS has an $MFT, a $Bitmap, etc. it doesn't just turn into RAW in the same way as it wouldn't turn into FAT, especially if it still booted. – Camilo Martin Mar 13 '12 at 14:39
1

Home user here. I have used SpinRite for a couple of years now and find it very helpful, though it won't work in every situation. The lack of USB support is an issue also, but oh well. The thing I've noticed is that I must switch the SATA/PATA support in the BIOS to NATIVE, if I want SMART data to be accessable. Am currently in a SpinRite session which will last 130 hours when its done, but this is the first time that the SMART data has been accessable. The difference? I'm not sure, but we'll see.

0

There's some good info on using GNU ddrescue with SpinRite here:

http://freshmeat.net/projects/addrescue/

It addresses the strengths and weaknesses discussed above.