Je soupçonne qu'il peut y avoir un secteur défectueux 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?
Je soupçonne qu'il peut y avoir un secteur défectueux 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?
Réponses:
Pour rechercher les secteurs défectueux, vérifiez les données SMART, probablement les meilleures accessibles, en lançant l' utilitaire Disks ( Palimpsest ). 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 gnome-disk-utility
package. Courirgksudo gnome-disks
Ou dans la version Ubuntu 16.04 (3.18):
Vous pouvez aussi utiliser badblocks
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 tout le disque et imprimera tous les blocs défectueux rencontrés sur / dev / sda .
De badblocks
manuel:
Remarque importante: si la sortie des badblocks doit être alimentée par les 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 fortement 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
fsck
lui-même ne vous aidera pas à trouver les secteurs défectueux, 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
), si une interface graphique est disponible, oulsblk
et ls -l /dev/disk/by-id
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 doté 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 SMART ou sur instruction d'effectuer 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 à semi-conducteurs. La plupart des supports flash amovibles ne le prennent pas en charge.
Autres ressources et instructions:
Pour tester l’intégrité de lecture de l’ensemble du périphérique sans y écrire, nous pouvons utiliser badblocks(8)
comme suit :
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 l'utilisation avancée: si nous voulons réutiliser la sortie e2fsck
, nous devons définir la taille de bloc ( -b
) à celle du système de fichiers contenu. Nous pouvons également modifier la quantité de données ( -c
en blocs) testées simultanément 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. (Cela ne permettra pas de détecter de manière fiable les supports (flash), qui annoncent une taille plus grande qu’ils ne l’ont réellement; utilisez plutôt Fight Flash Fraud .)
Ne l' utilisez JAMAIS sur un lecteur avec des systèmes de fichiers montés ! badblocks
refuse de fonctionner sur ceux de toute façon, sauf si vous le forcez.
N'interrompez pas cette opération avec force ! Ctrl+ C(SIGINT / SIGTERM) et l’attente d’une fin prématurée harmonieuse est acceptable, mais pas killall -9 badblocks
(SIGKILL). En cas de résiliation forcée, badblocks
ne peut pas restaurer le contenu original 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' -n
option à la badblocks
commande ci-dessus .
Comme ci-dessus, mais sans restaurer le contenu du lecteur 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' -w
option à la badblocks
commande ci-dessus .
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' dans 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
Vous pouvez également démarrer à partir d'un Live CD et lancer la vérification à partir de là.
sudo dumpe2fs -b /dev/sda9
. Mais je pense qu'il est préférable que le disque traite les secteurs défectueux, pas le système de fichiers (SMART, badblocks, etc., voir mon post).
Vous pouvez vérifier si des badblocks exécutent la commande
sudo badblocks -nsv /dev/[device-partition] > bad-blocks-result
pour un test de lecture-écriture non destructif. Cela va générer un fichier appelé bad-blocks-result
avec les secteurs endommagés.
-n Utilise 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 de complétion 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ù sont les secteurs défectueux et en éloigner les données, si possible.Vous pouvez trouver plus de lecture à ce sujet ici .
fsck
commande échoue avec btrfs
les systèmes de fichiers.
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 les disques Gnome sont des interfaces graphiques si vous préférez.
smartctl
: "Pont USB inconnu", "Veuillez spécifier le type de périphérique avec l’option -d". J'ai trouvé les données dont j'avais besoin à l' adresse suivante : smartmontools.org/wiki/Supported_USB-Devices .
F3 (Fight Flash Fraud) est une autre option qui devrait en outre 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
Écrivez les données de test dans l'espace libre sur le lecteur (vérifiez où votre lecteur est monté lsblk
)
f3write /media/$USER/D871-DD7C/
Lire les données de test
f3read /media/$USER/D871-DD7C/
Référence:
Les badblocks fonctionnent bien, mais ils ne sont pas conçus pour détecter les faux lecteurs flash et ne peuvent signaler aucune erreur .
badblocks
avec -w
ou avec les fsck
secteurs marqués comme mauvais / endommagés afin qu’ils ne soient pas utilisés. F3 peut retourner quelque chose comme Corrupted: 16.01 MB (32784 sectors)
, mais marque-t-il ces secteurs comme mauvais? Ou avons-nous encore besoin de badblocks pour ça? J'essaie avecdumpe2fs -b
et il semble que ça ne marque pas.
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
l'indicateur de progression et que l'interface de ligne de commande est un peu plus standard et un peu moins typo . Notez que pv
c'est la version de base et 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 acharnement". Rechercher ddrescue
dans le gestionnaire de paquets.
dd count=1
est également assez rapide, sauf si le support de stockage est complètement cassé (ou non pris en charge).
ddrescueview
dd
a un indicateur de progression avec status=progress
.
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
commande pour dire à 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 PERDRE TOUTES LES DONNÉES sur cette partition ou est 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
Utilisation de gnome-disks
DELETE / REMOVE de la partition à la main à l’aide du signe "-"
Utiliser gnome-disks
CREATE une nouvelle partition et sélectionner l’option "slow" qui va vérifier l’espace donné pour des erreurs
bionic beaver
gérer les vérifications de disque différemment?