- SpinRite
Infobox Software
name = SpinRite
caption = SpinRite 6.0
developer =Gibson Research Corporation
released = June 7, 2004
frequently_updated = yes
programming language =Assembly language
operating system =
language =
genre =Hard Disk Recovery
license = proprietary and Commercialsoftware
website = [http://www.grc.com/sr/spinrite.htm GRC.com SpinRite Website]SpinRite is a
computer software program for scanning magnetic data storage devices such ashard disk s, recovering data from them and refreshing their surfaces. It is proprietary and commercialsoftware written by Steve Gibson of Gibson Research Corporation. The first version was released in 1988, and the latest version, Version 6, in 2004 [Citation | title = SpinRite Version History | url=http://www.grc.com/srhistory.htm | accessdate = 2008-02-16] . SpinRite may be run from abootable floppy disk orCD-ROM on a computer with anx86 processor, independent of theoperating system installed on the host computer.Features
SpinRite tests the data surfaces of read-write magnetic disks including IDE, SATA, USB, floppy, ZIP and others. It analyzes their contents and is claimed to be able to refresh 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 sense, SpinRite differs from most data recovery software, which usually provides an option (generally recommended) to save the recovered data onto another disk, or onto a separate partition on the same disk.SpinRite is claimed to diagnose the quality of a disk drive, and to make it work as reliably as possible for future use. Its author, Steve Gibson, states that 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 [http://www.grc.com/sn/sn-155.txt] . Nevertheless, it should be noted that, in such circumstances, "no" purely software-based solution would be sufficient to overcome the problem. Moreover, even 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 developers to have certain unique features [Citation | title = SpinRite Exclusive Features | url=http://www.grc.com/srdocs.htm | accessdate = 2008-02-16] , 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
buffer ed 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 makers, 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.It should be noted that certain claims made by SpinRite's makers have proved controversial. The program's claimed ability to "refresh" ageing drives has met with particular scepticism, while its "recovery" of sectors marked as damaged by the file system controller is considered by some to be undesirable and ultimately counter-productive. See External Links below.
SpinRite is written in
x86 assembly language , and runs only on systems with an x86 (32-bit) processor, but it can operate on any attached storage device with a compatible interface. It can be run only underMS-DOS on PCs, but Version 6 is compatible with hard disks containing anyvolume management or file system such asNTFS ,Linux ,Apple Macintosh ,Tivo and others, as it operates only on the disk itself. Drives attached to computers with other processors can be recovered by temporarily connecting the drive to a suitable computer. Version 6 includes aMicrosoft Windows utility to create aFreeDOS bootfloppy disk orCD-ROM for the program.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 (SMART) parameters and control of partial scanning within a specified percentage range. Version 5 is limited to ordinaryAT Attachment (PATA, IDE) hard drives. By contrast, Version 6 may, on suitable motherboards, work on newerSerial ATA (SATA) and USB hard drives.The price, as of August 2008, is USD$89. Documentation may be downloaded free of charge from the SpinRite website.
Alternatives
SpinRite works entirely on the drive under investigation, attempting to recover partially damaged data by rewriting it to an undamaged part of the disk. This approach is unsuitable if there are many errors, as the task may take an unreasonably long time to complete (perhaps even many years for a high-capacity disk, as SpinRite attempts to read damaged parts up to 2000 times). The program is also unsuitable for disks that are badly damaged and possibly worsening with use, as the data, even if successfully read, cannot be re-written securely on the disk. Also, if little free space remains on a faulty disk, there may be insufficient room to transfer all of the recovered data. In these cases, software that can recover as much data as possible and copy it to another drive will generally be a more suitable alternative. However, standard disk imaging and cloning software is not ideally suited for data recovery, even if some such software may be configured to copy only good sectors, ignoring sectors that are not easily readable.
There are many commercial and freeware file recovery programs available. Some are intended to recover only accidentally deleted files (e.g., [http://www.officerecovery.com/freeundelete/ OfficeRecovery's FreeUndelete] ), while others will attempt to recover all files, or a chosen subset thereof (e.g., [http://www.runtime.org/data-recovery-software.htm Runtime's GetDataBack] – separate versions for FAT and NTFS). Still others will recover certain types of file, according to the file extension (e.g., [http://www.getdata.com/ GetData's Recover My Files] ).
[http://www.roadkil.net/program.php?ProgramID=29 Roadkil's Unstoppable Copier] runs under Windows and copies on a file, not sector, basis. It can be set to copy all undamaged files first, and then to try to copy as much as possible of damaged files (although, during extraction, it is difficult to see which file is being copied, and thus to avoid copying files not worth recovering).
Open Source unix-based alternatives include [http://www.garloff.de/kurt/linux/ddrescue/ dd_rescue] and [http://www.kalysto.org/utilities/dd_rhelp/index.en.html dd_rhelp] , which work together, or [http://www.gnu.org/software/ddrescue/ddrescue.html GNU ddrescue] . 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. GNU ddrescue can be used to copy data directly to a new disk if needed, just like Linux dd.
dd_rhelp or GNU ddrescue will yield a complete disk image, faster but possibly with some errors. GNU ddrescue is generally much faster, as it is written entirely in C++, whereas dd_rhelp is a shell script wrapper around dd_rescue. Both dd_rhelp and GNU ddrescue aim to copy data quickly from sectors there are no errors, then copy in smaller blocks, with retries when necessary, where errors are found. These programs are more complicated to use than SpinRite, although GNU ddrescue is fairly easy to use with default options, and can easily be downloaded and compiled on Linux-based
Live CD s such asKnoppix . It can also be used withSystemRescueCD .On some disks, many files may be damaged. In practice, though, in most cases, most damaged files will be unimportant: temporary files, files which may easily be replaced by reinstalling software, and so on. Executable program files are generally not worth rescuing unless they are guaranteed 100% intact. Moreover, fully recovered program folders will often not give rise to working software, as corresponding registry entries will no longer be associated with them correctly. By contrast, some documents may be worth rescuing even if incomplete. For example, a document created by a given word-processing program may become corrupted, thus rendering it unreadable by the program normally associated with it, yet much of the text contained in the document may still be read, and perhaps extracted, by making use of a more generic text editor (although, in such a case, program-specific formatting characters will usually be dispersed throughout the text, making both reading and extraction laborious).
Any sector-based rescue system is bound to spend a lot of its time trying to read unwanted data. File-based systems, by contrast, will often allow the user to ignore files that are a waste of time, and will also often identify and list files that are not intact. Such systems can, therefore, sometimes prove more practical for the puposes of useful file recovery. However, a sector-based program, which reads data in raw format, sometimes using specialized techniques to recover partially damaged information, may ultimately recover more useful data.
References & notes
See also
*
Self-Monitoring, Analysis, and Reporting Technology External links
* [http://www.grc.com/sr/spinrite.htm Official site]
* [http://groups.google.com/group/comp.dcom.xdsl/msg/9aeee32323c2978e?dmode=source&hl=en Criticism of SpinRite's marketing claims – groups comp.dcom.xdsl ]
Wikimedia Foundation. 2010.