Spinrite is not Data Recovery software

By | January 5, 2017

Why Spinrite is not Data Recovery software.

I am not on a crusade against Spinrite. However every so often I get tangled up in discussions where I feel the need to explain that Spinrite is not data recovery software and that the perceived magic Spinrite performs is not magic. I often encounter fanatic resistance. It is not my intention to change the fanatic’s opinion but I hope you will think twice before using Spinrite for the purpose of data recovery.


If you’re struggling to get data of a disk that’s ill behaving due to bad sectors, instead use something like HDDSuperClone (http://www.sdcomputingservice.com/hddsuperclone). It is safer (read-only) and more effective due to lower level hardware access.


 

Using Spinrite for the purpose of data recovery is bad practice. What it actually can do can be done faster and safer using other, sometimes free, software.

I am mainly interested in the data recovery portion of Spinrite. All over the web you will find people who unfortunately suggest to run Spinrite for the purpose of recovery of data from ‘dead’ disks. I decided to do this post after having a yet another discussion here: http://www.fact-reviews.com/info/Spinrite.aspx.

It is also important to stress that Spinrite is not file recovery software. If you need to undelete or recover files from a corrupt file system, a formatted or deleted partition you’ll be wasting your time using Spinrite. In that case you need file recovery software.


Update Jan 2020: If you want more Spinrite debunking, or maybe if you think I am full of shit, I recommend you do some more reading:

http://www.hddoracle.com/viewtopic.php?f=181&t=2929 – Excellent debunking of claims made by Spinrite done by Franc Zabkar. Highly recommended!


More cautionary tales on Spinrite in Luke’s forum: http://forums.recoveryforce.com/viewtopic.php?t=114. Now I have seen plenty of people claiming that of course data recovery professionals will try put Spinrite in a bad light because it’s in their interest that people bring drives to their companies. I’d like to argue that it is those professionals that actually know what they’re talking about.

Not enough? Strong indications that the ‘repaired’ data written back to the drive by Spinrite and similar tools are just bogus, https://forum.hddguru.com/viewtopic.php?f=1&t=28780 and https://forums.tomshardware.com/threads/spinrite-hdd-regenerator-silent-data-corruption.1851619/.

To summarise the thread in a nutshell, forum member “Nesa” demonstrated that HDD Regenerator replaced the contents of an unreadable sector in the user area with a sector from the drive’s own firmware. “Lcoughey” then showed that SpinRite replaced the contents of a bad sector with random data. Worse still, SpinRite did not even alert the user that the original sector was bad, or that it had been “repaired”.

What the heck is Spinrite and what does it do?

If you understand how disk error management works, Spinrite’s “miracles” are easily explained by sector reallocation. Nothing Magical about that.

It is hard to get a quick and easy written description from the Gibson Research website what Spinrite actually is and does. On the main Spinrite page you will see a video that supposedly explains what Spinrite does, and also  an URL to testimonials. In essence you could describe Spinrite, it’s use, and methodology in a few sentences.

Two minutes into the video and I still don’t know what it does (yeah, “magic”). The ‘word of mouth’ link to testimonials do not explain at any point what it is that Spinrite does. What it does remind me of is one of those ‘get rich in 3 easy steps’ type websites. Where they continue feeding you testimonials and drag you in bit by bit. Promise by promise. Miracle by miracle. Keep claims vague so you can easily claim success or dismiss criticism.

The hocus-pocus and mumbo-jumbo works for a lot of people: “SpinRite gets as close to the physical media as it is possible to get – the level of raw device access”. – user comment, obviously clueless, INT13h is what Spinrite uses to read/write. But even if we get closer to the hardware (announced for version 6.1) you still can not make a drive read what it can not read.

At the main Spinrite page (https://www.grc.com/sr/spinrite.htm) nowhere can I find the beginning of a description what it is that Spinrite does. Or what kind of problems I can use it for. The page header simply says ‘Spinrite, it works’. Nowhere is a list of issues or problems that you can supposedly fix using Spinrite. Also, there is no user guide for Spinrite 6 (ten years after release!).

The testimonials page lists lots of rather vague and diffuse problems that were ‘fixed’ after running Spinrite. Many of the fixes can be explained by ‘sector reallocation’ which I will explain later. Just the mere fact of software reading from and writing to a sector triggers this behavior in hard disks to replace defective sectors by spares. The vague, magic and miracle fixes are however attributed to Spinrite.

Data loss is not actually … data loss

Most testimonials do not mainly describe data loss, instead they describe some vague issue that is attributed to hard disk related problems by the user.

SpinRite fixes everything that’s wrong

Because it is based on solid science and proven engineering, SpinRite routinely performs miracles of data recovery for 1/100th the cost of independent third-party data recovery services. You just run it and SpinRite fixes everything that’s wrong. Sometimes it will warn of more serious impending trouble. – GRC Website

Common reasoning among Spinrite believers appears to be: Disk is magically fixed from a rather vague, ill defined problem: Spinrite did it. Or, disk is not magically fixed: If Spinrite can’t fix it, then nothing can. The latter is simply not true, however, the disk is simply given up on.

If we’d simply work around problematic areas like good data recovery software does at least initially, we may be able to recover plenty of data from such drives. And if we copy data from hard to read sectors to a different drive once we get a successful read we don’t run the risk of losing it again if the drive dies at some point.

Also, plenty of issues are not fixable by any software because they’re not soft errors. For example surface damage or bad heads can not be repaired by SpinRite. And it’s often this type of issues that prevent access to the drive and it’s data.

Spinrite is much more thorough then any drives built in error correcting diagnostics

Yes, drives have error correcting built in – but Spinrite is much more thorough then any drives built in error correcting diagnostics. It’s not necessarily because Steve Gibson is a genius (although I do think he is brilliant) and hard drive makers are stupid (sometimes I wonder) it’s just that people wouldn’t tolerate the speed delays that the intensive algorithm’s that Spinrite uses in the day to day usage of their drives – user comment.

This is such nonsense. SpinRite is entirely dependent on the drive’s internal error recovery procedures and the data a drive provides. There is nothing SpinRite can do without a drive’s cooperation. It’s limited to the ATA command set for example and operates within the boundaries of that command set, when it for example tries to read a sector. And ultimately it’s the drive’s firmware that decides if a sector is successfully read or if it returns an error.

By keeping the claims vague, it easy to attribute any desired outcome to Spinrite. This is just a modest quote from the Spinrite 5 pages:

SpinRite is the most capable, thorough, and reliable utility that has ever been created for the long term maintenance, recovery, and repair of mass storage systems. – GRC website

In my own words and simply put: Spinrite is a DOS utility for hard disk maintenance and ‘data recovery’. The data recovery portion is basically nothing more than a read/write disk surface scanner: Sectors are read from and written to and purely by this a drive may decide to reallocate an unreadable sector. Recovery is nothing more than reading a sector over and over. Something you only want to do after the rest of the drive’s data is recovered.

Spinrite surface scan

What can Spinrite do to recover data

What happens inside a bad disk?

It has been documented that Spinrite ‘uses’ INT13h software interrupts to read from and write to hard disks. INT13h software interrupts are an API offered by the system BIOS to access individual sectors on a hard disk. To talk to the disk on an even lower level you’d need to issue ATA commands to the disk directly. For SMART data Spinrite uses ATA commands. Reading the disk using INT13h commands and getting SMART Data through ATA isn’t anything magical. And yet, Spinrite believers will make ridiculous claims that nothing can talk to a hard disk at the low level that Spinrite does.

 …. WHY SPINRITE is better than any hard drive tool out there. Its written in ASSEMBLY because he couldn’t otherwise use his knowledge of hard drive controllers. … – user comment.

Even when ‘talking’ to a hard disk on low level, there is a lot of things you can not influence. For example, a disk’s internal software (the firmware) is equipped to deal with lot’s of different situations it might run into. Such as errors. If a disk runs into a sector it can not initially read it will employ a number of error recovery techniques to try to get the data from the sector. All that the software that requests the data can do is wait until the disk is done or tell the drive to give up at some point. Serious data recovery tools therefore employ read-timeouts: They want to prevent the firmware ‘hammering’ a sector.

The disk then either delivers the data, or it reports and error. Up on error the requesting software can issue a new read command to force the disk to retry the whole procedure.

Bad, bad sector!

A sector that can not be read from is commonly referred to as a bad sector. Sometimes re-reading the sector multiple times results in a successful read. In some cases the disk may reallocate this sector immediately: The contents of the sector are stored in a spare sector, and the bad sector is taken out of service. The disk itself keeps track of these sectors.

If a sector can not be read at all, the sector will only be reallocated once the sector is written to. By using software, mostly specialized hard disk diagnostic and repair software, the sector is written to, signaling to the disk that it is okay to reallocate the sector and give up on the original sector data. And essentially, this is what Spinrite does when it repairs hard disks. And it accounts for many of the supposedly ‘magical’ disk repairs.

If you understand how disk error management works, Spinrite’s miracles are easily explained by sector reallocation. Nothing Magical about that.

Spinrite Data Recovery (Dynastat) and why it is a bad idea.

If a hard disk can not read a sector, basically all that the requesting software including Spinrite can do, is try to read the sector again. And it is exactly what Spinrite does when it switches to it’s data recovery mode: Dynastat mode. Spinrite will attempt to read the sector upto 1000 times (2000 even according to Wikipedia)! It will compare the successful reads and try to determine the correct, original data.

Spinrite is not data recovery software

Dynastat status window. It looks so cool!

Why this is a bad idea when we need to recover data from the disk: Often the disks that start showing bad sectors show multiple bad sectors. Sometimes ‘grouped’ and sometimes multiple groups of them. Often these disks will start showing alarming SMART data. The occurrence of multiple bad sectors is a good indication that there may be a more structural underlying cause for those sectors to go bad.

On a disk that is going bad, you do not want to force the disk to do thousands of reads on bad sectors. So, you do not want it to do what Spinrite does. The stress from the re-reads may very well be the last push the disk needs.

Also, based on this article, re-reading sectors over and over, and doing long reads over and over, does not result in reliable data at all. It produces random bytes. There is zero point to it. 2000 times zero, is still zero.

Better alternatives to get data from a bad disk.

We need to get as much data, as quickly as we can from a possibly dying disk. Why waste time (you don’t know how much time you still have) on hard to read sectors rather than getting the easy to read sectors first?

And, why not, rather than ‘fixing’ data on a possibly dying disk, a disk that can never be actually be physically repaired, copy all data we can get to another disk?

This is why all people that are serious about data recovery, including data recovery labs will try to clone a hard disk first. They will employ software, or a combination of specialized hardware and software that first gets the easy to read data. This is often the bulk of the data. Areas that are hard to read will be processed last. If needed such combinations of specialized hardware/software can even avoid using a specific disk head or avoid using corrupt firmware.

For the hard to read areas re-reads can be tried. Also the bad areas can be approached from different angles: reverse cloning.

Specialized hardware is expensive. If data is not valuable enough to sent the bad disk to a data recovery lab, the end user can use specialized cloning software. In essence this software ignores read errors. Also, as bad sectors sometimes tend to group, the software typically skips a number of sectors after a read error. This to avoid bad sectors and lengthy error recovery procedures from the hard disk itself. After the software gets all the easy to read sectors, it can turn it’s attention to the sectors it initially skipped.

Examples of such software are Ddrescue (free) and my own tool DiskPatch (commercial).

There is only one bad sector anyway. Can I fix that?

Under circumstances it is actually safe to ‘fix’ a few bad sectors. I know I am on thin ice here, but I had a few of those disks myself which turned out to be okay: For example, I had a RAID controller flagging a array member as ‘bad’. I took the disk from the array and examined it’s SMART data. The disk looked healthy apart from two sectors pending reallocation.

Such sectors could not be read but since no data could be recovered from them they are pending reallocation until data is written to them. In such a case you can run a DiskPatch read/write surface scan after which the sectors will be reallocated. You can use Spinrite for that purpose as well. Run some more surface scans to make sure the disk is stable. Monitor the disk closely over the next few weeks (SMART). To do this automatically you can install a SMART monitor.

Sources:

https://www.recoveryforce.com/spinrite-a-data-recovery-program/ – A data recovery pro’s take on it
https://articles.forensicfocus.com/2013/01/21/bad-sector-recovery/
https://www.grc.com/groups/spinrite.dev:379
https://www.grc.com/files/sr5_lit.pdf
https://www.grc.com/groups/spinrite:10501
https://www.grc.com/x/news.exe?cmd=article&group=grc.spinrite&item=12688&utag=
https://www.grc.com/sr/spinrite.htm (Spinrite)
https://www.grc.com/sr/testimonials.htm
https://en.wikipedia.org/wiki/INT_13H
http://www.diydatarecovery.nl (DiskPatch)
https://www.gnu.org/software/ddrescue/ (Ddrescue)
http://www.linuxjournal.com/article/7684 – Comment section is hillarious

48 thoughts on “Spinrite is not Data Recovery software

  1. James

    Your garbage links don’t even work. How can YOU be trusted over Spinrite when the product you promote for disk repair contains no valid address. You’re a clown. At least Steve Gibson keeps links and apps always available and working.

    Reply
  2. Jon Forrest

    Here’s my experience with SpinRite 6. It isn’t positive. However, to their credit, GRC did refund
    my money so I have no beef with them. (This is from 2010).

    Why I’m Going to Return SpinRite for a Refund

    I bought SpinRite with some trepidation. First of all, the latest
    version was first released in 2004 – more than 6 years ago. A lot has
    happened in the last 6 years. SpinRite also has a checkered reputation,
    some even calling it “snake oil”. In the early version of SpinRite this
    reputation was clearly unwarranted because SpinRite was the only product
    that could non-destructively change the interleave factor of a disk
    drive. These days most people don’t even know what an interleave factor
    is, and most (all?) drives don’t even have an interleave factor, so this
    ability is of no use anymore.

    However, I was looking for a product that can analyze my rapidly growing
    pile of disk drives that are in questionable condition. I want to know
    which drives are still usable, and which drives could be made usable.
    SpinRite is the only product I’m aware of that claims to be able to do
    this. So, knowing that SpinRite has a 30-day guarantee I decided to take
    my chances.

    In summary, I was very disappointed. SpinRite is uncontrollable and
    incomprehensible. I have no idea if it does what it claims because most
    of the time it would have taken weeks or months for SpinRite to finish
    working on a drive. Most of the time SpinRite didn’t obey the simple
    commands I gave it so it was very frustrating to work with. Even when I
    got it to do what I wanted, I was often puzzled by the various
    statistics it displayed. I was left not trusting what I saw. I’m
    planning on asking for a refund.

    What follows are the notes I made while running SpinRite on various SATA
    drives. In all cases I used a Dell Optiplex GX280 with the A08 BIOS,
    which is the latest BIOS for this system. These notes are not in order
    of importance.

    1) “Push spacebar to select another screen to view” only works rarely.
    Most of the time it doesn’t do anything. This makes it very difficult to
    monitor what SpinRite is doing.

    2) When #1 did work, using the arrow keys or number keys would sometime
    work, and sometimes make the display choice window close. There seemed
    to be no rhyme or reason for what the arrow and number keys did.

    3) The Detailed Technical Log says in the “dma channel:” area “no, fast
    PIO mode”. Why isn’t dma being used? The computer can do it when running
    Windows.

    4) I left SpinRite running doing level 4 check on a 500GB drive over the
    weekend. When I came in on Monday, all I saw on the screen was a window
    saying “SpinRite has completed its work with this system …”. I saw no
    sign of any problems that were detected or repaired. There should have
    been some way of seeing a status report of the work done by SpinRite.

    5) When selecting Drives and Partitions, there is sometimes a ~5 second
    delay between the time you press space and when the partition shows up
    as selected. This didn’t happen with every disk.

    6) It takes several minutes for the “Selecting Drive For Use …” window
    to go away and for the test to start. What is going on during this time?
    Again, this didn’t happen with every disk.

    7) When the “Select Screen to View …” windows comes up, it doesn’t
    always go away after a choice is made.

    9) There should be a way to tell SpinRite that I don’t care what’s on
    the disk so it make a destructive pass through the disk to find hard errors.

    10) Sometimes I’m watching the “Graphic Status Display” but then the
    display switches over to the DynaStat data recovery display without me
    doing anything.

    11) When I tried to look at the SMART System Monitor I received a
    message saying that SpinRite doesn’t have access to SMART data published
    by the current physical drive. I know this isn’t true because I just
    took the drive out of another system that was able to display SMART data
    for the drive. In fact, the drive had 189 relocated sectors, which is
    why I took it out.

    12) I’ve been stuck in the DynaStat Data Recover window for over a day
    now. I try typing the space bar to go to another window but nothing
    happens. If there were some way of knowing what’s going on I might not
    feel so bad. But, all I see are the moving rectangles in the top right,
    the “Initiating DynaStat Recovery System” blinking, and the bit counts
    changing value. The cylinder, sector, and head numbers change every so
    often, which is to be expected. However, the “data samples”, “first
    uncertain bit”, “last uncertain bit”, and “uncertain bit span” don’t
    have any numbers next to them. The “unique samples” and the “discarded
    samples” numbers show 0. None of these has changed since I started
    running the program. Nor has the straight line through the center of the
    main window. I’m about to go away for 5 days. It will be interesting to
    see what’s on the screen when I return.

    13) I’m back. I notice that the display on the bottom left of the screen
    says cylinder 13, sector 14, and head 245. I didn’t know that disks
    these days have 245 heads!

    14) I suspect that the disk I’ve been running SpinRite on for 5 days is
    unrecoverable. That’s fine, but SpinRite should have suggested this
    possibility and given me a choice of what I wanted to do next.

    15) After running for ~3 hours, the status report on the screen saver
    says the Time Elapsed is 0 hrs and 0 min.

    16) In the DynaStat Data Recovery window, there’s a section that has
    three values, data samples, unique samples, and discarded samples.
    What’s strange is the the sum of unique samples plus discarded samples
    does not equal data samples. Where did the other samples go? I’m seeing
    the total off by 2.

    17) In the DynaStat Data Recovery window, I see those waveform-like
    shapes. However, the only thing that seems to be happening is that every
    ~8 seconds the number of data samples goes up. But, the bit counters on
    each side of the screen aren’t changing and neither the first and last
    uncertain bit counters. I have no idea what’s going on.

    18) I’m running a level 2 check on a 400GB SATA drive. When I left last
    night, I was at 0% complete. Now, ~14 hours later it’s still at 0% complete.

    19) I’m looking at the Graphic Status Display window. Near the bottom
    there’s a “sector status key” section that shows the various characters
    that appear as the sectors are analyzed. However, the character I’m
    seeing is the ‘?’ character, which doesn’t appear in the sector status
    key section.

    Reply
  3. Jason

    The only information I have is what Steve verbally said himself in the various podcasts over the year. I’ve never been a hardware guy, and Steve is not very good at explaining the how it works in any one attempt.

    From what I’ve pieced together. The primary utility is to force the drive to read/write all of its own sectors so it can realize there’s a problem and if the problem isn’t too bad the ecc can get the data, move the data to a different sector. Also, refreshes the data by having it re-written to the drive if you choose level 4 for maintenance, which you’re not supposed to do if you’re actively having an issue.

    It’s been over a decade since I tried to used the ungodly slow software. Anyway, he himself says if you start getting those bad sectors, you really need to start thinking about replacing the drive. In one specific of the podcasts, he did talk about how the fact that if it can’t read a sector, it will try over and over. Sometime it will try reading a sector from different parts of the drive in the hope that the head coming at the sector from a different angle will help it gather enough of the bits that the error correction will carry it the rest of the way. or something to that effect. I also vaguely recall him admitting that on very bad drives, this could be the death knell for it.

    As for my personal experience with the software. I don’t use it. Not that I don’t think it could have a useful place, but with today’s drives I’m not going wait around for literal WEEKS for it to complete if there’s something wrong with it. A good backup and new drive is just faster and this is especially true if I’m going to need to replace the failing drive anyway.

    I did have it save a computer ONCE. It was as laptop with full disk encryption that wouldn’t boot and we couldn’t recover anything off of it, so I tried it over night. If it failed we were starting over anyway. SpinRite didn’t get anywhere near done, but I guess it got far enough because I cancelled the process and the laptop started up without error.

    Supposedly, he’s working on updating SpinRite again now that SQRL is finished.

    Reply
  4. Johnny Kuhn

    Spinrite is an absolutely useless software. Unfortunately I fell for the scam and bought a license. I believed that the promises of the money back guarantee were true. But neither does anyone at support answer to my bug report nor does the “sales team” (which probably doesn’t even exist) claim my money back guarantee. We will file a criminal complaint. So if you read this, please don’t fall for it and buy the license, because the software doesn’t do what Steve Gibson promises in first place, nor do they pay back the money if the software doesn’t work. I wish I had done a little more research before I paid those scammers the money.

    Reply
    1. Joep Post author

      Well, and THAT surprises me. The support team is indeed one guy (used to be, called Greg). But from what I have observed they do follow up on support requests and they do returns/refunds. What I also noticed is they change their support email every year: so right now it probably is support2020@grc.com. Hope this helps.

      Reply
  5. Franc Zabkar

    In the following forum posts I have attempted to examine every claim made by Steve Gibson in respect of SpinRite.

    Deconstructing SpinRite:
    http://www.hddoracle.com/viewtopic.php?f=181&t=2929

    I concur with Joep that SpinRite is at best useless and at worst data destructive. I say this as someone who has used SpinRite during the MFM/RLL days of the late 80s and early 90s. However, after HDD manufacturers switched to voice coils, embedded servos and IDE interfaces, SpinRite instantly became irrelevant.

    Reply
    1. Joep Post author

      Very thorough research there Frank, the HDD Oracle forums! As a matter of fact I will link to it in the post, people may not go through all the comments.

      Reply
  6. RussG

    Well I read it wrong and sort of retract what I said about Joep’s comments. What I do want to say is that Spinrite is a usable tool that was exceptional when it was released and still relevant today if only to support the author.

    Reply
  7. RussG

    I’ve used Spinrite since it was released. I does what it claims and was originally (as mentioned above) to work with floppy drives. I’ve used it from one sided 256k floppy’s to HDD’s. It’s just another tool in the tool box and it was one of the only tools available back in 80’s. What utilities are available today that are still in use from the 80’s? It still works albeit not as well as other modern utilities. I’ll confirm that what JoeP has written is true. If anything buying the program helps support Steve Gibson whose been a White Hat forever.

    Reply
  8. Robert Bullock

    One thing it is useful for IMHO is recovering floppy disks. I have had it fix weak sectors and allow copies. Yes the head touches the disk. But it also could be consider cleaning said surface. Followed by a floppy drive head cleaner, then a re-read attempt has worked for me.

    It’s important to understand what Spinrite does, and yes it’s not magic. But like most tools if you understand how they work, they are useful.

    I will say also my Spinrite 6 license also got me a 5 license which is a nice addition.

    Reply
    1. Joep Post author

      Maybe. Of course it supports FAT so it can reclaim clusters marked bad but a format would do. I would have to look up what either BIOS or DOS interrupts would allow it to do with regards to ignoring ECC (long reads), perhaps it could do something there that for example a windows based surface scanner would not be able to do. All the supposed interaction with firmware is moot with regards to floppies of course. So, yeah, maybe. But still a far cry from all the wild claims the websit/Steve makes with regards to hand drives and SSD.

      Reply
  9. Jason

    I have owned Spinrite for many years. I used to run it on every hard drive. It has rarely fixed anything. I have had a number of hard drives fail over the years and Spinrite usually doesn’t even recognize them if they have failed. I believe 98%+ of what Spinrite does is just the hardrive using its own built in ECC or relocation to fix failing sectors. There is some value in reading and writing every sector to refresh them. However, it takes Spinrite 6 a full two weeks to do a full maintenance run on a 2TB SATA drive. And to make it worse, the drive and entire system are offline running in DOS mode for the entire time. I don’t have any production drives that can be taken offline for 2 weeks for maintenance. Spinrite is near useless these days. Gibson seems to be spending some small amount of time working on a 6.1 version that is supposed to be much faster, but I’ve been hearing that for several years. If 6.1 comes out soon, I will give it another try, but for now, it seems to be a thing of the past.

    Reply

Leave a Reply to Jason Cancel reply

Your email address will not be published. Required fields are marked *