Tout au long de cette réponse, je suppose qu'un lecteur de stockage apparaît comme un périphérique bloc au chemin d'accès /dev/sdc
. Pour trouver le chemin d'un lecteur de stockage dans notre configuration actuelle, utilisez:
-
Disques Gnome
(anciennement Utilitaire de disque Gnome, alias palimpsest
), si une interface graphique est disponible, ou
- sur le terminal regardez la sortie de
lsblk
et ls -l /dev/disk/by-id
et essayez de trouver le bon périphérique par taille, partitionnement, fabricant et nom de modèle.
Vérification de base
- détecte uniquement les médias qui ne répondent pas du tout
- presque instantané (sauf si le support est désactivé ou cassé)
- safe
- fonctionne sur un support en lecture seule (par exemple, CD, DVD, BluRay)
Parfois, un support de stockage refuse tout simplement de fonctionner. Il apparaît toujours comme un périphérique de bloc au noyau et dans le gestionnaire de disque, mais son premier secteur contenant la table de partition n'est pas lisible. Cela peut être vérifié facilement avec:
sudo dd if=/dev/sdc of=/dev/null count=1
Si cette commande génère un message concernant une "erreur d’entrée / sortie", notre disque est cassé ou ne fonctionne pas comme prévu avec le noyau Linux. Dans le premier cas, avec un peu de chance, un spécialiste de la récupération de données doté d'un laboratoire équipé de manière appropriée peut récupérer son contenu. Dans ce dernier cas, un système d'exploitation différent vaut la peine d'essayer. (J'ai rencontré des lecteurs USB fonctionnant sous Windows sans pilotes spéciaux, mais pas sous Linux ou OS X.)
S.M.A.R.T. auto-test
- rigueur réglable
- instantané à ralentir ou à ralentir (dépend de la rigueur du test)
- safe
- met en garde contre un échec probable dans un avenir proche
Les appareils qui le prennent en charge peuvent être interrogés sur leur état de santé via SMART ou invités à effectuer des auto-tests d’intégrité de différents types. minutie. C'est généralement la meilleure option, mais généralement disponible uniquement sur les disques durs (non anciens) et les disques SSD. La plupart des supports flash amovibles ne le prennent pas en charge.
Autres ressources et instructions:
- Répondez à propos de S.M.A.R.T. sur cette question
- Comment puis-je vérifier l'état SMART d'un lecteur sur Ubuntu 14.04 à 16.10?
Vérification en lecture seule
- détecte uniquement certaines erreurs de média flash
- assez fiable pour les disques durs
- lent
- safe
- fonctionne sur un support en lecture seule (par exemple, CD, DVD, BluRay)
Pour tester l’intégrité de la lecture de l’ensemble de l’appareil sans y écrire, nous pouvons utiliser badblocks(8)
comme ceci:
sudo badblocks -b 4096 -c 4096 -s /dev/sdc
Cette opération peut prendre beaucoup de temps, surtout si le lecteur de stockage est réellement endommagé. Si le nombre d'erreurs dépasse zéro, nous saurons qu'il y a un mauvais bloc. Nous pouvons interrompre l'opération en toute sécurité à tout moment (même avec force comme lors d'une panne de courant), si nous ne sommes pas intéressés par la quantité exacte (et peut-être l'emplacement) des blocs défectueux. Il est possible d'abandonner automatiquement en cas d'erreur avec l'option -e 1
.
Note pour une utilisation avancée: si nous voulons réutiliser la sortie pour e2fsck
, nous devons définir la taille du bloc ( -b
) à celle du système de fichiers contenu. Nous pouvons également modifier la quantité de données ( -c
, en blocs) testées en une fois pour améliorer le débit. 16 Mo devraient convenir à la plupart des appareils.
Vérification en lecture-écriture non destructive
- très complet
- le plus lent
- tout à fait sûr (sauf coupure de courant ou panique intermittente du noyau)
Parfois - en particulier avec les médias flash - une erreur se produit uniquement lorsque vous essayez d'écrire. (Ce ne détectera pas de manière fiable les médias (flash), qui affichent une taille supérieure à la taille réelle, utilisez Lutte contre la fraude Flash . à la place.)
-
JAMAIS utilisez cette option sur un lecteur doté de systèmes de fichiers montés ! badblocks
refuse de les utiliser de toute façon, sauf si vous le forcez.
-
N'interrompez pas cette opération avec force ! Ctrl + C (SIGINT / SIGTERM) et attendre une résiliation prématurée est acceptable, mais killall -9 badblocks
(SIGKILL) ne l’est pas. En cas de résiliation forcée, badblocks
ne peut pas restaurer le contenu original de la plage de blocs actuellement testée et la laissera écrasée par des données indésirables et éventuellement corrompra le système de fichiers.
Pour utiliser des contrôles de lecture-écriture non destructifs, ajoutez l'option -n
à la commande badblocks
ci-dessus.
Vérification destructive en lecture-écriture
- très complet
- plus lent
- EFFACE TOUTES LES DONNÉES SUR LE LECTEUR
Comme ci-dessus, mais sans restaurer le contenu du lecteur précédent après avoir effectué le test d'écriture, il est donc un peu plus rapide.Comme les données sont effacées de toute façon, la résiliation forcée reste sans conséquence négative (supplémentaire).
Pour utiliser des contrôles destructifs en lecture-écriture, ajoutez l'option -w
à la commande badblocks
ci-dessus.