@PabloBianchi: Cette question a exactement la même portée. Je leur demande un mod pour les fusionner.
David Foerster
Réponses:
101
Les disques
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-utilitypackage. Courirgksudo gnome-disks
Ou dans la version Ubuntu 16.04 (3.18):
Badblocks
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:
vérifiera tout le disque et imprimera tous les blocs défectueux rencontrés sur / dev / sda .
De badblocksmanuel:
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
fscklui-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.
En réalité, le manuel de badblocks déconseille de l’utiliser directement et dirige les utilisateurs vers e2fsck avec l’option "-c" (vérification en lecture seule) ou "-cc" (vérification en lecture-écriture).
mardi
2
en note, le 13.04, vous exécutez palimpseste en exécutant simplement "des disques" dans le menu Ubuntu, cependant ... Je ne vois pas d’option permettant de lancer un autotest (peut-être parce que je n’ai qu’un seul lecteur, et c’est celui-ci qui tourne Ubuntu ...)
rogerdpack
2
@ mrówa le manuel ne dit que faire cela si "la sortie des badblocks doit être alimentée par les programmes e2fsck ou mke2fs"
Jon
1
Mettez info que pour lister tous les disques, utilisez sudo fdisk -l
Kangarooo le
2
cela s'appelle maintenant gnome-disques
endolithe
74
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:
Gnome Disks (anciennement Utilitaire de disque Gnome, également appelé palimpsest), si une interface graphique est disponible, ou
sur le terminal, regardez la sortie de lsblket ls -l /dev/disk/by-idessayez de trouver le bon périphérique en fonction de la taille, du partitionnement, du fabricant et du nom du modèle.
Contrôle de base
détecte uniquement les supports qui ne répondent pas
presque instantanée (à moins que le support ne soit essoré ou cassé)
sûr
fonctionne sur un support en lecture seule (p. ex. CD, DVD, BluRay)
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).
Auto-test SMART
minutie réglable
instantanée à lente ou plus lente (dépend de la minutie de l'essai)
sûr
met en garde contre l'échec probable dans un proche avenir
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.
détecte uniquement certaines erreurs de support flash
assez fiable pour les disques durs
lent
sûr
fonctionne sur un support en lecture seule (p. ex. CD, DVD, BluRay)
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 ( -cen blocs) testées simultanément pour améliorer le débit; 16 Mo devrait convenir à la plupart des appareils.
Contrôle lecture-écriture non destructif
très complet
le plus lent
assez sûr (sauf coupure de courant ou panique intermittente du noyau)
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 ! badblocksrefuse 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, badblocksne 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' -noption à la badblockscommande ci-dessus .
Contrôle destructif en lecture-écriture
très complet
Ralentissez
Efface toutes les données sur le lecteur
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' -woption à la badblockscommande 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à.
Merci, la machine fonctionne sans moniteur, existe-t-il un moyen d'accéder à la sortie de la vérification après le redémarrage?
Guillaume Coté
J'ai créé le fichier et redémarré, mais c'était vraiment rapide et il n'y a rien de nouveau dans le fichier boot.log.
Guillaume Coté
fsck juste faire une vérification très rapide, j'ai essayé l'option -c pour vérifier le bloc défectueux.
Guillaume Coté
fsck -c vient de dire: / dev / sda9: mettre à jour l'inode de bloc défectueux. Je n'ai aucune information sur le nombre de nœuds défectueux et sur la proportion du système de fichiers qu'ils représentent.
Guillaume Coté
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).
organiser
20
badblocks
Vous pouvez vérifier si des badblocks exécutent la commande
sudo badblocks -nsv /dev/[device-partition] > bad-blocks-resultpour un test de lecture-écriture non destructif. Cela va générer un fichier appelé bad-blocks-resultavec 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.
Ensuite, vous pouvez exécuter 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 .
Pour continuer avec les badblocks plus tard ou si vous avez oublié d'exporter le secteur défectueux dans un fichier texte (comme moi), cette réponse vous aidera: superuser.com/a/693000/218025
chelder le
puis-je utiliser des badblocks pour vérifier ma partition Windows? Ou va-t-il en quelque sorte l'endommager?
Soldat
1
@Private Si vous avez une nouvelle question, veuillez utiliser le lien "Poser une question" en haut.
Jean
La fsckcommande échoue avec btrfsles systèmes de fichiers.
Excellente solution si le périphérique prend en charge SMART. Beaucoup de lecteurs flash amovibles (bon marché) et de très vieux disques durs n'en ont pas.
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)
badblocksavec -wou avec les fscksecteurs 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.
Pablo Un
4
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 ddl'indicateur de progression et que l'interface de ligne de commande est un peu plus standard et un peu moins typo . Notez que pvc'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 ddrescuedans le gestionnaire de paquets.
Cela ne détectera pas les problèmes apparaissant uniquement lors de l'accès en écriture et ne signalera pas la région affectée du support de stockage qu'il faudrait corriger ou contourner le problème. dd count=1est également assez rapide, sauf si le support de stockage est complètement cassé (ou non pris en charge).
Si vous avez une partition que vous ne pouvez pas perdre les données, suivez ces étapes
Déterminez quelle partition vous voulez vérifier pour le secteur défectueux en utilisant le
$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 /
qui déterminera quels sont les blocs défectueux du périphérique donné et les stockera dans un fichier appelé badsectors.txt
Vous pouvez maintenant utiliser la fsckcommande pour dire à Ubuntu de ne pas utiliser les secteurs défectueux mentionnés dans le fichier badsectors.txt.
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-disksDELETE / REMOVE de la partition à la main à l’aide du signe "-"
Utiliser gnome-disksCREATE une nouvelle partition et sélectionner l’option "slow" qui va vérifier l’espace donné pour des erreurs
Réponses:
Les disques
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):
Badblocks
Vous pouvez aussi utiliser
badblocks
pour simplement vérifier ou pour vérifier et corriger d’abord écrire le résultat dans un fichier temporaire:
vérifiera tout le disque et imprimera tous les blocs défectueux rencontrés sur / dev / sda .
De
badblocks
manuel: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.la source
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
etls -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.Contrôle de base
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:
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).
Auto-test SMART
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:
Vérification en lecture seule
Pour tester l’intégrité de lecture de l’ensemble du périphérique sans y écrire, nous pouvons utiliser
badblocks(8)
comme suit :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.Contrôle lecture-écriture non destructif
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 à labadblocks
commande ci-dessus .Contrôle destructif en lecture-écriture
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 à labadblocks
commande ci-dessus .la source
fsck - vérifie et répare un système de fichiers Linux. Invoquez-le en utilisant
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:
Vous pouvez également démarrer à partir d'un Live CD et lancer la vérification à partir de là.
la source
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).badblocks
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.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 .
la source
fsck
commande échoue avecbtrfs
les systèmes de fichiers.smartctl
OMI smartctl est un meilleur outil. Vous devez probablement l'installer d'abord
ensuite
d’imprimer les données de santé du lecteur, les attributs et les résultats de test disponibles. Pour quitter moins, tapez
q
. Alternativementsimplement imprimer des données de santé.
Pour commencer un nouveau test automatique en arrière-plan (quelques minutes) ou long (jusqu'à plusieurs heures):
GSsmartControl ( page d'accueil ) et les disques Gnome sont des interfaces graphiques si vous préférez.
Voir également
la source
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
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
)Lire les données de test
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 .
la source
badblocks
avec-w
ou avec lesfsck
secteurs marqués comme mauvais / endommagés afin qu’ils ne soient pas utilisés. F3 peut retourner quelque chose commeCorrupted: 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:
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 quepv
c'est la version de base et améliorée decat
. Il ne peut pas être installé par défaut, mais peut être installé avecsudo 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.la source
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 avecstatus=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 erreursla source
bionic beaver
gérer les vérifications de disque différemment?