# SpinRite

SpinRite est un programme informatique permettant d'analyser les périphériques de stockage à accès aléatoire (RAS) tels que les disques durs, de lire et de réécrire les données afin de résoudre et de récupérer les données illisibles par MS-DOS ou Windows. La première version a été publiée en 1987 par Steve Gibson (en).
SpinRite est exécuté à partir d'un support amorçable (tel qu'un CD, un DVD ou une clé USB) sur un ordinateur compatible PC, ce qui lui permet d'analyser le support de stockage de l'ordinateur. Il ne dépend pas du système d'exploitation installé sur l'ordinateur.

## Histoire

SpinRite a été conçu à l'origine comme un outil d'entrelacement de disques durs. À l'époque où SpinRite a été conçu, les disques durs comportaient souvent une liste de défauts imprimée sur la plaque signalétique, répertoriant les secteurs défectueux connus découverts en usine. En modifiant l'entrelacement du disque, SpinRite devait être capable de remapper ces défauts physiques en différents secteurs logiques. SpinRite a donc acquis ses capacités de récupération de données et de test en tant qu'effet secondaire de son objectif initial. L'entrelacement des disques n'est plus un problème depuis longtemps, mais SpinRite a continué à être développé, utilisant désormais son remappage comme outil de récupération de données.
SpinRite teste les surfaces de données des disques magnétiques inscriptibles, notamment les disques IDE, SATA et les disquettes, ainsi que les disques SSD Solid State. Il analyse leur contenu et peut rafraîchir les surfaces des disques magnétiques ou la mémoire flash pour leur permettre de fonctionner de manière plus fiable.
SpinRite tente de récupérer les données des lecteurs que le système d'exploitation ne peut pas lire. Lorsque le programme rencontre des erreurs de lecture des données, il utilise une programmation propriétaire pour tenter de lire le secteur jusqu'à 2 000 fois, afin de déterminer, en comparant les résultats successifs, la valeur la plus probable de chaque bit. Les données sont ensuite enregistrées à l'emplacement d'origine ou à un emplacement sur le même disque ; il ne sauvegarde pas les données ailleurs. À cet égard, SpinRite diffère de la plupart des logiciels de récupération de données, qui fournissent généralement (et recommandent) une option permettant de sauvegarder les données récupérées sur un autre disque ou sur une partition distincte du même disque.
Gibson dit qu'il a conçu SpinRite pour résoudre les problèmes du secteur, et non les pannes de circuits imprimés, de moteurs ou d'autres pièces mécaniques. Lorsque la capacité d'un disque dur à lire des données ralentit et/ou devient peu fiable, SpinRite peut récupérer des données qui peuvent ensuite être copiées sur un autre disque.
SpinRite est revendiqué par son développeur comme possédant certaines fonctionnalités uniques, telles que la désactivation de la mise en cache d'écriture sur disque, la désactivation de la relocalisation automatique, la compatibilité avec la compression de disque, l'identification du "codeur décodeur d'inversion de flux de données" utilisé. dans un lecteur, et des tests séparés des performances de lecture du disque avec et sans tampon, et un accès direct au niveau matériel, par lequel le contrôleur interne du lecteur interagit directement avec le programme, plutôt que via le système d'exploitation. Ceci, à son tour, permet un repositionnement dynamique de la tête, grâce auquel, lors de la lecture d'un secteur défectueux, la tête de lecture est délibérément déplacée d'avant en arrière à plusieurs reprises, de quantités variables, dans l'espoir qu'à chaque fois qu'elle revient dans le secteur, elle puisse revenir à reposez-vous dans une position légèrement différente. En effectuant une analyse statistique sur la succession des résultats ainsi obtenus, SpinRite est, selon son créateur, souvent capable de "reconstruire" les données des secteurs endommagés, et même dans les cas où une reconstruction complète s'avère impossible, SpinRite est capable d'extraire toutes les données intactes. bits d'un partiellement illisible, et les réécrire ou les copier dans un nouveau bloc, minimisant ainsi la quantité de données perdues.
SpinRite est écrit en langage assembleur x86 et fonctionne sur n'importe quel ordinateur compatible PC, quel que soit le système d'exploitation installé. Il peut fonctionner sur n’importe quel périphérique de stockage connecté doté d’une interface compatible. Les disques des ordinateurs dotés de processeurs incompatibles peuvent être testés en connectant le disque à un ordinateur compatible. Spinrite est distribué sous forme de programme exécutable Microsoft Windows qui peut créer un lecteur amorçable contenant à la fois le système d'exploitation compatible FreeDOS MS-DOS et le programme Spinrite lui-même. La version 6 est compatible avec les disques durs contenant n'importe quel système de gestion de volumes logiques ou système de fichiers tel que FAT16 ou 32, NTFS, Ext3 ainsi que d'autres systèmes de fichiers Linux, HFS+ pour Mac OS X, TiVo et autres. La version 6 offre un accès complet à l'intégralité de la surface du disque, quels que soient les paramètres de partitionnement, de technologie d'autosurveillance, d'analyse et de reporting (SMART) et le contrôle de l'analyse partielle dans une plage de pourcentage spécifiée. La version 5 était limitée aux disques durs AT Attachment (PATA, IDE) ; la version 6 peut, sur les cartes mères appropriées, fonctionner sur les disques durs Serial ATA (SATA) et USB plus récents, ainsi qu'avec tout autre type de disque — SCSI, 1394/ FireWire — qui peut être rendu visible par MS-DOS grâce à l'ajout du BIOS du contrôleur ou des pilotes DOS supplémentaires.
En mai 2013, Steve Gibson a annoncé le début des travaux sur Spinrite 6.1 et 7.

## Problèmes
### Disques SSD

Spinrite peut être exécuté et peut être efficace sur les SSDs, mais l'exécution dans un mode supérieur à 1 ou 2 est préjudiciable, car il use le SSD en écrivant dessus inutilement. Dans l'épisode 387 du podcast Security Now! Gibson a déclaré : "Exécutez le niveau 2 parce que le niveau 1 n'est pas autorisé à réparer quoi que ce soit" "La différence est que les niveaux 1 et 2 sont en lecture seule, et c'est la clé. Vous ne voulez pas exécuter le niveau 4". Dans l'épisode 194 du podcast Security Now ! Gibson a déclaré qu'il ne voyait "absolument aucun avantage à exécuter SpinRite sur un disque à semi-conducteurs" et que "SpinRite est une question de mécanique et de magnétisme, qui n'existent pas, de par leur conception, dans un disque SSD". Dans l'épisode 338, Gibson a précisé que "c'est en fait préjudiciable parce que [les disques à semi-conducteurs] n'aiment pas être écrits", tout en soulignant qu'une exécution en lecture seule pouvait être bénéfique : "Le niveau 1 de SpinRite est une analyse en lecture seule, et faire cela sur un disque SSD est très logique. L'analyse en lecture seule d'un SSD indique au contrôleur du SSD qu'il y a un problème de lecture d'un secteur, puis il le cartographie ou le réécrit afin de renforcer ce secteur, si possible. C'est donc une valeur ajoutée pour SpinRite sur les disques durs à semi-conducteurs". Par ailleurs, Gibson a répondu à une question posée sur son site web que "SpinRite fonctionne sur les clés USB et sur tous les autres disques durs à semi-conducteurs".

### SMART sur les disques SATA

Bien que les disques SATA soient pris en charge, les contrôleurs SATA qui incluent un processeur et un logiciel de diagnostic peuvent limiter la capacité de SpinRite à obtenir et à afficher les données S.M.A.R.T. (les contrôleurs SATA "à contrôleur fin" n'ont pas cette limitation). Ce moniteur de données n'affecte pas la capacité de récupération et de diagnostic de SpinRite ; les données S.M.A.R.T., lorsqu'elles sont disponibles, aident à la maintenance à long terme des disques et à la prédiction des défaillances. GRC a déclaré en 2006 que ce problème serait résolu dans la version 6.1, qui devrait être une mise à jour gratuite pour les utilisateurs de SpinRite 6.0. En juin 2022, la version 6.0 de SpinRite était toujours d'actualité, incapable de fonctionner avec des systèmes utilisant des bios EFI, et son prix restait inchangé$^,$..

### Grands disques

Dans certains cas, Spinrite ne peut analyser qu'entre les 128 premiers giga-octets et 1 024 giga-octets d'un disque selon que le disque dispose de 512 octets par secteur ou de 4 096 octets par secteur, et selon le BIOS utilisé.
SpinRite utilise la méthode du secteur de la culasse pour adresser le disque dur. Ce schéma d'adressage 28 bits se décompose comme suit :
* Cylindre (16 bits) : 0–65535
* Tête (4 bits) : 0–15
* Secteur (8 bits) : 0–255
Cela limite SpinRite à accéder à un maximum de 268 435 456 secteurs. Une fois que SpinRite atteint le numéro de piste 65 535, il rencontrera une erreur de division par zéro et s'arrêtera avec un message d'erreur. Cela semble être dû à une restriction du système d'exploitation FreeDOS (un clone MS-DOS) fourni avec Spinrite. Certains utilisateurs ont signalé que Spinrite avait des problèmes avec des disques très volumineux et qu'en utilisant, par exemple, un disque de démarrage MS-DOS créé à partir de Windows 95 ou 98 (qui se présente lui-même sous le nom de MS-DOS version 7, qui n'est par ailleurs pas vendu séparément), Spinrite testera l'intégralité du disque sans erreur logicielle ; d'autres utilisateurs signalent que cela n'a pas résolu l'erreur de débordement de division.
Une page de décembre 2011 sur le site Web de Spinrite indique qu'une anomalie, nommée « anomalie de Roger » en hommage à son découvreur, est due à une erreur dans le BIOS de certaines cartes mères qui n'affecte pas l'utilisation normale et peut donc ne pas être découverte. Une carte mère présentant ce problème ne fonctionnera pas avec Spinrite, bien qu'il soit parfois résolu dans une mise à jour ultérieure du BIOS. En cas de problème de compatibilité de la carte mère, Spinrite indique que les disques peuvent toujours être temporairement connectés à une autre carte mère où "SpinRite acceptera presque certainement de fonctionner sans problème". La taille du disque n’est pas mentionnée comme facteur.

## Réception

En 1989, le magazine BYTE a classé SpinRite parmi les lauréats « Distinction » des BYTE Awards, déclarant que même si des alternatives étaient apparues, « pour l'instant, SpinRite est notre choix ».

## Controverse

Certains critiques publics doutent de la capacité de SpinRite à « rafraîchir » les disques vieillissants, et la « récupération » des secteurs marqués comme « endommagés » est considérée par certains comme indésirable et contre-productive.

## Voir également

* Liste des logiciels de récupération de données