Réponses:
Il est parfois inapproprié d'utiliser les capacités de relocalisation automatique d'un secteur d'un lecteur, de sorte que la question soulevée par ohho devient distinctive:
S'il y a un secteur défectueux, alors vous allez soit:
- réfléchissez à ceci avant d' exécuter toute action susceptible de provoquer une relocalisation (ou un remappage ou une économie, ou tout autre nom).
Alors que SpinRite 6 n'est pas pour Mac, une page 2003 pour la version 5 est éclairante:
Notez la section sur l'auto-relocalisation et le risque associé de perte de données.
SpinRite mis à part, avance rapidement d'une décennie de 2003 à 2013:
À la question ici…
Pour Mac - pour OS X - je ne connais rien d'aussi capable et prudent que SpinRite (rien pour désactiver la relocalisation automatique).
Donc, dans l'état actuel des choses: pour vérifier les secteurs d'un disque sur USB avec OS X , nous sommes probablement limités à utiliser des utilitaires qui peuvent provoquer une relocalisation . Je ne peux pas estimer le degré de risque de perte de données associée, mais si ce risque est acceptable, je dois d'abord m'orienter vers:
Astuce: ce qui est sous la question connexe (1) est plus immédiatement convivial.
Le système d'exploitation seul ne peut pas utiliser les technologies SMART sur des disques externes à des bus tels que USB 2.0 et FireWire.
Ailleurs, il y a une mine d'informations (et de malentendus;) je vais donc concentrer cette partie de la réponse sur un seul point:
kasbert / OS-X-SAT-SMART-Driver sur GitHub:
… Un pilote de noyau pour les disques externes USB ou FireWire de Mac OS X. Il étend le comportement standard du pilote en fournissant un accès aux données SMART du lecteur. L'interface avec les données SMART est la même qu'avec le pilote de la famille ATA, donc la plupart des applications existantes devraient fonctionner. Le pilote nécessite un boîtier de disque externe compatible SAT (SCSI ATA Translation). …
Si vous essayez ce KEXT avec Lion, comme pour toute extension de noyau tierce, procédez avec prudence.
La commande intégrée OS X fsck_hfs
a une option -S
qui apparemment vérifiera s'il y a un mauvais bloc sur un disque dur USB sous OS X.
Depuis la page de manuel officielle :
-S Causes fsck_hfs à analyser l'ensemble du dispositif à la recherche d'erreurs d' E / S. Il essaiera de mapper les blocs avec des erreurs aux noms, similaire à l' option -B .
Exemple:
fsck_hfs -fy -S /dev/disk3s11
Il semble faire que lorsqu'il est exécuté sur des partitions sans blocs défectueux mais je n'ai pas encore vérifier / document ce qu'il fait quand il y a des blocs défectueux.
Ouvrez le Terminal.app dans Applications / Utilitaires.
Coupez et collez ceci à l'intérieur pour installer Brew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Installez e2fsprogs avec brew:
brew install e2fsprogs
Tapez diskutil list
pour trouver votre appareil (/ dev / diskX)
Exécutez badblocks
sur votre appareil: (remplacez le X par le numéro de votre appareil)
/usr/local/Cellar/e2fsprogs/1.44.3/sbin/badblocks -v /dev/diskX
Operation not permitted while trying to determine device size
(avec / sans sudo)
Selon le système de fichiers sur le lecteur que vous pourriez exécuter
fsck_msdos /dev/disk1s1
Cela vérifierait un FAT FS. C'est peut-être ce que tu veux? Les commandes possibles sont:
fsck_cs
fsck_exfat
fsck_hfs
fsck_msdos
fsck_udf
fsck_hfs -S
analyse l'intégralité du contenu du système de fichiers et mappe les blocs présentant des erreurs d'E / S aux noms.
La seule façon de vraiment savoir est d'écrire dans chaque secteur et de le relire pour voir si vous obtenez la même chose, en vérifiant les erreurs sur le chemin.
badblocks
sous Linux fait cela. badblocks
a un mode de test de lecture / écriture non destructif.
Sous Windows, je crois que si vous invoquez chkdsk
le /F
, /B
et les /R
options qu'il permettra de tester chaque secteur pour les secteurs défectueux. Il est également non destructif, mais je ne sais pas s'il écrit réellement dans chaque secteur à tester.
Cette réponse de superutilisateur suggère que SpinRite 6 peut également faire la même chose mais je n'ai pas testé.
Permettez-moi de vous indiquer dans quel ordre vous devez procéder si vous pensez / savez que vous avez de mauvais secteurs:
1) Faites une copie de votre partition entière sur un autre appareil en utilisant dd (recherchez le nom de votre partition en utilisant df
). Cela peut prendre un certain temps, peut-être plus d'une journée sur un disque USB2 pour 400 Go. bs=
accélère (facteur 5 ou plus), sync
remplit les blocs d'entrée avec des zéros s'il y avait des erreurs de lecture.
dd if=/dev/disk3s8 of=/dev/disk4s9 bs=1024k conv=noerror,sync
2) Vérifiez ensuite si cela a fonctionné, non seulement la structure des dossiers, mais aussi ouvrez le contenu.
3) Si ce n'est pas le cas, essayez de copier le contenu de votre partition au niveau d'un fichier.
cp -Rp /Volumes/<source>/ /Volumes/<destination>/
4) Ce n'est que maintenant que vous avez essayé d'enregistrer autant que vous le pouvez sans toucher au système de fichiers, exécutez une vérification sur la partition. -f
L'option forcera même si elle semble correcte, -S
recherche les blocs défectueux. Cette opération n'est pas garantie d'être non restrictive, mais elle peut enregistrer votre disque.
fsck_hfs -fS /dev/disk3s8