Je soupçonne qu'il pourrait y avoir un mauvais secteur sur un disque. J'ai utilisé le système de fichiers ext3.
Quel outil est le meilleur équivalent de l'outil de vérification d'erreur de Windows?
Pour rechercher les secteurs défectueux, vérifiez les données SMART, probablement les mieux accessibles, en lançant l'utilitaire Disks (Palimpseste). Même si vous ne voyez pas de blocs défectueux, lancez un auto-test pour en être sûr.
Le programme est fourni dans le package gnome-disk-utility
. Exécutez gksudo gnome-disks
Ou dans la version Ubuntu 16.04 (3.18):
Vous pouvez également utiliser badblocks
name__
Sudo badblocks -sv /dev/sda
pour simplement vérifier ou pour vérifier et corriger d’abord écrire le résultat dans un fichier temporaire:
Sudo badblocks -sv /dev/sda > bad-blocks-result
Sudo fsck -t ext4 -l bad-blocks-result /dev/sda1
vérifiera le disque entier et imprimera tous les blocs défectueux rencontrés sur /dev/sda .
De badblocks
manual:
Remarque importante: Si la sortie de badblocks doit être transmise aux programmes e2fsck ou mke2fs, il est important que la taille du bloc soit correctement spécifiée, car les numéros de bloc générés dépendent beaucoup de la taille de bloc utilisée par le système de fichiers. Pour cette raison, il est vivement recommandé aux utilisateurs de ne pas exécuter les badblocks directement, mais d'utiliser l'option -c des programmes e2fsck et mke2fs.
fsck
name__fsck
ne vous aidera pas à trouver les secteurs défectueux, et pire encore, s'il y a beaucoup de secteurs défectueux, cela peut endommager davantage vos données. Utilisez-le uniquement lorsque le disque est en bon état.
Tout au long de cette réponse, je supposerai qu'un lecteur de stockage apparaît comme un périphérique bloc sur le chemin /dev/sdc
. Pour trouver le chemin d'un lecteur de stockage dans notre configuration actuelle, utilisez:
palimpsest
name__), si une interface graphique est disponible, oulsblk
et ls -l /dev/disk/by-id
et essayez de trouver le bon périphérique en fonction de la taille, du partitionnement, du fabricant et du nom du modèle.Parfois, un support de stockage refuse tout simplement de fonctionner. Il apparaît toujours comme un périphérique de bloc pour le noyau et dans le gestionnaire de disques, mais son premier secteur contenant la table de partition n'est pas lisible. Ceci peut être vérifié facilement avec:
Sudo dd if=/dev/sdc of=/dev/null count=1
Si cette commande génère un message relatif à une "erreur d'entrée/sortie", notre lecteur est en panne ou ne parvient pas à interagir avec le noyau Linux comme prévu. Dans le cas précédent, avec un peu de chance, un spécialiste en récupération de données disposant d'un laboratoire correctement équipé 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 clés USB fonctionnant sous Windows sans pilotes spéciaux, mais pas sous Linux ou OS X).
Les appareils qui le prennent en charge peuvent être interrogés sur leur état de santé via S.M.A.R.T. ou chargés de réaliser des auto-tests d’intégrité de différentes minuties. C’est généralement la meilleure option, mais elle n’est généralement disponible que sur des disques durs (non anciens) et à état solide. La plupart des supports flash amovibles ne le prennent pas en charge.
Autres ressources et instructions:
Pour tester l'intégrité de lecture de tout le périphérique sans écrire dessus, 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 0, nous saurons qu'il existe un bloc incorrect. Nous pouvons interrompre l'opération en toute sécurité à tout moment (même avec force, comme lors d'une panne de courant), si le nombre exact (et peut-être même l'emplacement) des blocs défectueux ne nous intéresse pas. Il est possible d'abandonner automatiquement en cas d'erreur avec l'option -e 1
.
Remarque pour une utilisation avancée: si nous voulons réutiliser la sortie pour e2fsck
, nous devons définir la taille de bloc (-b
) sur celle du système de fichiers contenu. Nous pouvons également modifier la quantité de données (-c
, en blocs) testées en même temps pour améliorer le débit; 16 Mo devrait convenir à la plupart des appareils.
Parfois, en particulier avec le support Flash, une erreur ne se produit que lorsque vous essayez d’écrire. (This ne découvrira pas de manière fiable le support (flash), qui annonce une taille supérieure à celle dont ils disposent, utilisez Fight Flash Fraud à la place.)
JAMAIS utilisez-le sur un lecteur avec systèmes de fichiers montés ! badblocks
refuse de les utiliser de toute façon, sauf si vous le forcez.
Ne pas interrompre cette opération avec force ! Ctrl+C (SIGINT/SIGTERM) et l’attente d’une résiliation anticipée 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 d'origine de la plage de blocs actuellement testée et le laissera écrasé par des données indésirables, ce qui risquerait de corrompre le système de fichiers.
Pour utiliser des contrôles de lecture-écriture non destructifs, ajoutez l'option -n
à la commande badblocks
ci-dessus.
Comme ci-dessus, mais sans restaurer le contenu du disque précédent après le test d'écriture, le processus 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 ci-dessus badblocks
name__.
fsck - vérifie et répare un système de fichiers Linux. Invoquez-le en utilisant
fsck /dev/sda1
où/dev/sda1 est le lecteur à vérifier. Voir 'man fsck' pour plus de détails.
Il y a aussi la commande 'badblocks' qui vérifie un périphérique, vous l'aurez deviné, de mauvais blocs.
Le lecteur doit être démonté une fois coché. Pour vérifier la partition racine, vous devez créer un fichier 'forcefsck' à la racine de la partition et redémarrer. Le périphérique sera vérifié lors du prochain démarrage:
Sudo touch /forcefsck
Sudo reboot
Alternativement, vous pouvez démarrer à partir d'un Live CD et lancer la vérification à partir de là.
OMI smartctl est un meilleur outil. Vous devez probablement l'installer d'abord
Sudo apt-get install smartmontools
Ensuite
Sudo smartctl -a /dev/sda | less
d’imprimer les données de santé du lecteur, les attributs et les résultats de test disponibles. Pour quitter moins, tapez q
. Alternativement
Sudo smartctl -H /dev/sda
simplement imprimer des données de santé.
Pour commencer un nouveau test automatique en arrière-plan (quelques minutes) ou long (jusqu'à plusieurs heures):
Sudo smartctl -t [short|long]
GSsmartControl ( page d'accueil ) et Gnome Disks sont des interfaces graphiques si vous préférez.
Vous pouvez vérifier si des badblocks exécutent la commande
Sudo badblocks -nsv /dev/[device-partition] > bad-blocks-result
pour un test lecture-écriture non destructif. Cela générera un fichier appelé bad-blocks-result
avec les secteurs endommagés. - n Utilisez le mode lecture-écriture non destructif. Par défaut, seul un test en lecture seule non destructif est effectué.
- s Affiche la progression de l'analyse en écrivant le pourcentage approximatif d'achèvement des badblocks actuels passés sur le disque.
- v Mode verbeux.
Sudo fsck -t ext3 -l bad-blocks-result /dev/[device-partition]
pour indiquer au système de fichiers où se trouvent les secteurs défectueux et, si possible, en éloigner les données.Vous pouvez trouver plus de lecture à ce sujet ici .
F3 (Fight Flash Fraud) est une autre option qui devrait également détecter les faux lecteurs flash (lecteurs flash dont la capacité réelle représente une fraction de la capacité annoncée):
Installer F3
Sudo apt install f3
Insérez votre lecteur
Ecrivez les données de test dans l'espace libre sur le lecteur (vérifiez l'emplacement où votre lecteur est monté avec lsblk
)
f3write /media/$USER/D871-DD7C/
Lire les données de test
f3read /media/$USER/D871-DD7C/
Référence:
Badblocks fonctionne bien, mais il n'est pas conçu pour détecter les faux lecteurs flash et peut ne pas signaler d'erreur pour eux .
Vous pouvez tester-lire l’ensemble du disque tout en affichant un indicateur de progression:
time Sudo pv /dev/sdc >/dev/null
Certains problèmes de disque se manifesteraient par des erreurs d'E/S signalées. C’est un peu plus agréable que dd
en raison de l’indicateur de progression et du fait que l’interface de ligne de commande est un peu plus standard et un peu moins typo-prone . Notez que pv
est fondamentalement la version améliorée de cat
. Il ne peut pas être installé par défaut, mais peut être installé avec Sudo apt-get install pv
.
Une approche similaire consiste à lire le disque avec l'un des nombreux outils disponibles qui prennent spécifiquement conscience des erreurs d'E/S sur le disque, et qui ont pour caractéristique "d'essayer de sauver les données avec difficulté". Recherchez ddrescue
dans le gestionnaire de paquets.
Si vous avez une partition que vous NE POUVEZ PAS PERDRE LES DONNÉES, suivez ces étapes
$fdisk -l commnd
Supposons que la partition à vérifier s'appelle/dev/sdPTC (partition à vérifier) et que vous avez une autre partition pour stocker les résultats montés sur le dossier/scan/resultPath /
2.Alors vous pouvez exécuter cette commande
$Sudo badblocks -v /dev/sdPTC > /scan/resultPath/badsectors.txt
qui déterminera quels sont les blocs défectueux du périphérique donné et les stockera dans un fichier appelé badsectors.txt
fsck
pour indiquer à Ubuntu de ne pas utiliser les secteurs défectueux mentionnés dans le fichier badsectors.txt.$Sudo fsck -l /scan_result/badsectors.txt /dev/sda
De cette façon, la durée de vie du disque dur est un peu augmentée jusqu'à ce que vous en remplaciez un nouveau.
Si vous souhaitez rechercher des secteurs physiques défectueux sur une partition complète et que vous POUVEZ VOUS PERDRE DE PERDRE TOUTES LES DONNÉES sur cette partition ou si vous êtes VIDE, procédez comme suit
$Sudo apt-get install gnome-disk-utility
$Sudo gnome-disks
Vérifiez et vérifiez qu'il n'y a pas de données importantes sur cette partition
Utiliser gnome-disks
SUPPRIMER/RETIRER la partition à la main en utilisant le signe "-"
En utilisant gnome-disks
CREATE une nouvelle partition et sélectionnez l’option "slow" qui va vérifier l’espace donné pour des erreurs