Thursday, November 07, 2013

Up and running, thanks to the miracle of SpinRite

sr6SpinRite 6.0 finished its work about 11:25 last night but I waited until this morning to see how things turned out.

They turned out fine, as evidenced by the fact that I’m using my desktop machine to write this blog entry.

Over the span of 80 hours and 46 minutes, Steve Gibson’s amazing little 170K (Really!) program examined every sector of my 1 TB hard drive and fixed whatever corrupted data had caused it to crash Sunday afternoon.

When I came up to the office this morning, SpinRite said it had satisfactorily analyzed my hard drive and instructed me to remove the SpinRite CD and reboot the machine. I did and Windows 7 loaded successfully, to my everlasting relief. Anyone who uses a Windows computer needs this tool. It’s saved my data several times.

Here’s the Wikipedia explanation of what SpinRite does:

SpinRite tests the data surfaces of writeable magnetic disks, including IDE, SATA, and floppy disks. It analyses their contents and can refresh the magnetic disk surfaces to allow them to operate more reliably.

SpinRite attempts to recover data from hard disks with damaged portions that may not be readable via the operating system. When the program encounters a sector with errors that cannot be corrected by the disk drive's error-correcting code, it tries to read the sector up to 2000 times, in order to determine, by comparing the successive results, the most probable value of each bit. The data is then saved onto a new block on the same disk; it cannot be saved elsewhere. In this respect SpinRite differs from most data recovery software, which usually provides (and recommends) an option to save the recovered data onto another disk, or onto a separate partition on the same disk.

Gibson Research Corporation claims their SpinRite software will diagnose the quality of a disk drive, and make it work as reliably as possible with future use. Its developer, Steve Gibson, says his software was specifically designed to fix sector problems. However, if a hard drive's circuit board, drive motors or other mechanical parts are defective, or there is systemic file system corruption, SpinRite may be of little or no help. In fact, regarding mechanical issues no purely software-based solution would be sufficient to overcome the problem. When a hard drive has begun to develop mechanical faults, a program like SpinRite may sometimes be able to extend its usable life for long enough to carry out successful file recovery with other specialized software.

SpinRite is declared by its developer to have certain unique features, such as disabling of disk write caching, disabling of auto-relocation, compatibility with disk compression, identification of the "data-to-flux-reversal encoder-decoder" used in a drive, and separate testing of buffered and unbuffered disk read performance. Another important feature is direct hardware-level access, whereby the drive's internal controller interacts directly with the program, rather than through the operating system. This, in turn, allows dynamic head repositioning, whereby, when reading a faulty sector, the reading head is deliberately moved backwards and forwards many times, by varying amounts, in the hope that each time it returns to the sector, it may come to rest in a slightly different position. By performing statistical analysis on the succession of results thus obtained, SpinRite is, according to its maker, often able to "reconstruct" data from damaged sectors; and even in those cases in which complete reconstruction proves impossible, SpinRite is able to extract all intact bits from a partially damaged sector, and to copy them to a new block, thereby minimizing the amount of data lost.

Certain claims made by SpinRite's makers have proved controversial. The program's claimed ability to "refresh" aging drives has been met with particular skepticism, while its "recovery" of sectors marked as damaged by the file system controller is considered by some to be undesirable and ultimately counter-productive.

SpinRite is written in x86 assembly language, and runs on any PC-compatible computer (as long as it is capable of running MS-DOS—virtually all can), regardless of the operating system actually installed. It can operate on any attached storage device with a compatible interface. Drives in computers with incompatible processors can be tested by attaching the drive to a compatible computer. Spinrite is distributed as a Microsoft Windows executable program which can create a bootable floppy disk or CD-ROM containing both the FreeDOS MS-DOS-compatible operating system and the Spinrite program itself. Version 6 is compatible with hard disks containing any logical volume management or file system such as FAT16 or 32, NTFS, Ext3 as well as other Linux file systems, HFS+ For Mac OS X, Tivo and others, as it operates only on the disk itself.

Version 6 is rather different from previous versions. It offers full access to the entire disk surface regardless of partitioning, Self-Monitoring, Analysis, and Reporting Technology (S.M.A.R.T.) parameters and control of partial scanning within a specified percentage range. Version 5 was limited to AT Attachment (PATA, IDE) hard drives; version 6 may, on suitable motherboards, work on newer Serial ATA (SATA) and USB hard drives, and with any other type of drive—SCSI, 1394/Firewire—that can be made visible to MS-DOS through the addition of controller BIOS or add-on DOS drivers.

The price is $89. Documentation can be downloaded free of charge from the SpinRite website:

No comments: