SpinRite
SpinRite is a commercial hard disk scanning and data recovery utility first created by Gibson Research Corporation in 1988, with the latest version 6 having been released in 2004.
SpinRite is a program that tests the data surfaces of hard drives and analyses their contents. Though most easily comparable to CHKDSK or SCANDISK, SpinRite is more like badblocks and dd_rescue in that does not examine the file system for errors.
SpinRite is much more thorough in its surface scans than basic utilities, being able to recover data from damaged portions of hard disks that might not otherwise be read by the operating system. SpinRite uses 'DynaStat' to perform statistical analysis of bad blocks. When it encounters a block which cannot be read, it repeatedly attempts to re-read it, and tries to determine the value of each byte. The data is then saved onto the same disk (after re-allocating the physical block), this is a potentially risky operation if the disk write head is not operating properly.
In addition to the data recovery capability, SpinRite is advertised to contain a number of features of questionable value. These include the 'Surface Defect Detection' mode of operation's use of "sophisticated magnetodynamic physics models"[1]. Further unsupported claims are made to the absolute uniqueness of certain features[2], such as disabling disk write caching, compatibility with disk compression, identification of the "data-to-flux-reversal encoder-decoder" used in a drive, and seperate testing of buffered and unbuffered disk read performance.
The program itself is written in x86 assembly language. It can only be run under DOS on PCs, but it is compatible with hard disks containing any volume management or file system since it only operates on the disk itself. Version 6 includes a Microsoft Windows utility to create a FreeDOS boot disk for the program. A bootable CD-ROM (containing the utility and FreeDOS) can also be created under either MS Windows or Wine on Unix.
Alternatives to SpinRite include dd_rescue and dd_rhelp or ddrescue. These utilities perform a slightly different task: rather than try to read every single byte accurately (which might yield perfect data recovery, but could take from hours to years depending on the damage), dd_rhelp first extracts all the readable data, and saves it to a file, inserting zeros where bytes cannot be read. Then it tries to re-read the invalid data and update this file. So, dd_rhelp will yield a complete disk image, in reasonable time, but containing some errors. SpinRite will also attempt to recover the entire disk contents if possible, but may take very much longer to do so since it performs repeated reads for each error it encounters. By rewriting sectors it can also make things worse if the write head on the disk is not operating properly. With a failing disk it is better to copy the data to a different disk, and not write any data at all on the failing disk.
References & notes
- ^ "SpinRite Defect Detection" (HTML). 2003. Retrieved 2006-03-26.
{{cite web}}
: Unknown parameter|org=
ignored (help) - ^ "SpinRite Exclusive Features" (HTML). 2003. Retrieved 2006-03-26.
{{cite web}}
: Unknown parameter|org=
ignored (help)