J'ai un Macbook Pro fin 2011, exécutant Mavericks 10.9.2. Son seul disque dur est un disque de 750 Go, formaté avec Bootcamp. Il fonctionne toujours assez bien, mais en exécutant une passe de défragmentation dessus, j'ai identifié qu'il y a un tas de fichiers qui refusent d'être déplacés par le défragmenteur (iDefrag).
iDefrag signale un code d'erreur POSIX de 5 lors de l'accès aux fichiers. Choisir un au hasard et essayer de copier le fichier vers un autre emplacement dans le shell signale également une erreur, ce qui me fait penser que le problème est réel et avec le disque / FS. La sortie de cp est:
cp: unity_nophysx.nexe: Input/output error
Le code d'erreur 5 est «accès refusé» pour autant que je sache, mais le processus de défragmentation s'exécute en tant qu'administrateur et l'exécution de cp en utilisant sudo sur le fichier suspect ne fait aucune différence.
Utilitaire de disque, fsck et Apple Hardware Test affirment tous que le disque est bien. Aucune erreur SMART n'a été signalée, et bien qu'il y ait eu des erreurs d'autorisations, elles n'étaient pas avec les fichiers dont se plaignait iDefrag, et l'Utilitaire de disque prétend les avoir corrigées sans se plaindre.
Il y a peut-être une centaine de fichiers corrompus ou plus, mais toujours une très petite fraction du lecteur. Pour autant que je sache, aucun fichier système ou donnée cruciale n'est affecté. Bien qu'il serait bien de récupérer les données, cela ne me dérange pas de réinstaller ou d'aller aux sauvegardes. À ce stade, je ne sais pas si c'est vraiment le lecteur qui meurt, juste quelques secteurs défectueux en raison du déplacement du lecteur pendant l'écriture, ou une autre corruption mineure qui peut être contournée. J'imagine le pire des cas, et que je devrai probablement obtenir un disque dur légèrement plus grand et cloner le disque existant pour éviter d'avoir à reconstruire le système.
Ma question est vraiment de savoir comment procéder pour marquer ces fichiers cassés comme correctement cassés et les réparer ou les purger , afin qu'un clone du disque réussisse et ne se bloque pas sur les fichiers / blocs auxquels il ne peut pas accéder. L'Utilitaire de disque ne voit pas le problème, et je ne connais pas de ligne de commande ou d'outils tiers qui feront le travail. Je ne veux pas effacer le disque entier et recommencer à zéro, car le lecteur semble par ailleurs sain, donc je recherche des outils de réparation / diagnostic.
la source
Réponses:
Si vous êtes confronté à un système de fichiers sain au niveau de sa structure et que vous souhaitez rechercher des fichiers contenant des blocs défectueux sur le disque, voici comment procéder:
Faites une sauvegarde complète de votre disque avec
Time Machine
ou Carbon Copy ClonerVérifiez cette sauvegarde.
Exécutez la commande lourde et risquée suivante (si vous avez des blocs défectueux en dehors de votre structure de système de fichiers) (assurez-vous que le {} est cité pour que les noms de fichiers contenant des espaces fonctionnent):
Cette
find
commande lourde affichera pour tout fichier brut son nom (donc pas la lecture, mais juste son entrée de répertoire) et continuera ensuite à faire une lecture complète et rapide de tous ses blocs de données.Sur hiting le premier fichier contenant des blocs défectueux, cela
find
provoquera le noyau de se connecterread error
sur/var/log/system.log
, et il soit ralentir ou mettre votre système à un arrêt total. Cela dépendra principalement de la capacité du disque dur à déplacer les blocs défectueux trouvés sur son pool interne dédié à cette tâche de correction habituelle. Ce fichier contenant des blocs défectueux sera le nom de famille imprimé parfind
.Notez ce nom de fichier sur un morceau de papier! Disons que ce nom de fichier est:
À ce stade, vous pouvez avoir la possibilité de tuer
find
rapidement en appuyant sur ctrl+ C. Si le tuer correctement échoue, plantez simplement votre Mac.Au redémarrage de votre Mac, vérifiez directement le fichier contenant les blocs défectueux:
Si la commande se termine correctement, l'erreur était suffisamment légère pour que votre disque puisse lire ce fichier et réallouer les blocs défectueux.
Dans ce dernier cas, vous devez envisager de remplacer votre disque et de travailler à partir de vos dernières sauvegardes. Certains autres fichiers peuvent également contenir des blocs défectueux et peuvent ne pas être détectés depuis longtemps tant que vous ne les avez pas lus.
Le noyau ne déclenchera pas d'erreur de lecture sur un bloc que vous n'avez jamais lu.
la source
May 10 20:42:15 ICE kernel[0]: disk0s2: I/O error.
fenêtre contextuelle dans les journaux, mais aucun indice quant au fichier qui l'a déclenché. Mais alors, la commande s'exécute très heureusement.dd
ne règle rien, cette commande a pour but de copier les données et de les convertir le plus rapidement possible. Le disque est toujours capable de réparer les erreurs légères. Restez vigilant, le prix d'un disque n'a rien à voir avec votre travail.Redémarrez en mode mono-utilisateur en maintenant le Command+ Spendant le démarrage. Lorsque vous voyez une invite (devrait ressembler
root #
ou quelque chose de similaire), tapezfsck -f
et appuyez sur Return. Il s'agit de l'outil de vérification de cohérence du système de fichiers intégré à Mac et vous permet de rechercher et de réparer les erreurs avec le système de fichiers de démarrage. Exécutez cette commande jusqu'à ce que vous ne voyiez pas**The volume [volume name] was modified.**
ou que l'outil échoue trois fois de suite.Si l'outil échoue, cela pourrait indiquer un problème plus important (mais je ne pourrais pas vous dire quoi sans voir la sortie de l'outil). Dans tous les cas, assurez-vous d'avoir sauvegardé tout ce que vous pouvez avant d'exécuter un outil de disque. Lorsque vous avez terminé, tapez
reboot
l'invite et appuyez sur Entrée pour (vous l'avez deviné!) Redémarrer votre ordinateur.Pour plus d'informations, vous pouvez trouver les pages de manuel fsck ici .
la source
fsck
&Disk Utility
vérifient l'intégrité de la structure du système de fichiers. Ils lisent les blocs de disques alloués à la structure du système de fichiers. Ils ne sont pas faits pour vérifier l'intégrité des blocs de données. Par conséquent, ils peuvent fonctionner sur un disque avec des blocs défaillants sans augmenter aucune erreur de lecture. Si vous souhaitez vérifier votre disque, même les blocs qui peuvent être défectueux mais qui sont en fait inutilisés, utilisez simplement un outil de base au furdd if=/dev/disk0 of=/dev/null ibs=1k
et à mesure de l'exécution d'une autre fenêtre de shelltail -f /var/log/system.log
. C'est gratuit, extrême et ne vous cachera aucune erreur.Je recommande fortement DiskWarrior pour reconstruire les catalogues de disques et pour rechercher les fichiers potentiellement endommagés .
Lors de la reconstruction du catalogue, il peut également vous faire savoir s'il rencontre un retard en raison d'un dysfonctionnement du disque.
la source
En travaillant sur la réponse de Buscar, vous pouvez le faire automatiquement en utilisant un truc de ligne de commande assez lourd.
la source
Comme vous le dites, il n'est même pas clair que ces fichiers sont endommagés, du moins votre Mac ne le pense pas.
Chaque système d'exploitation crée des fichiers inamovibles qui sont nécessaires à ses opérations (points de restauration, fichiers actuellement actifs, etc.). Certaines défragmentation les montreront, d'autres non.
Le fait que vous ne puissiez pas y accéder ou les déplacer ne signifie pas qu'ils sont endommagés.
Normalement, les Mac sont très bons pour prendre soin d'eux-mêmes.
L'utilisation de la maintenance Apple se fait en: ouvrant le terminal et en tapant:
suivi de Retour, entrez votre mot de passe Administrateur et OS X s'occupera des choses pour vous.
Regardez dans la console pour les rapports sur ceux-ci si vous êtes intéressé.
Dans la console, recherchez (recherchez) les erreurs d'E / S qui indiqueraient que votre disque commence à avoir des problèmes, pour complimenter l'utilitaire de disque et les constatations de fsck.
À l'occasion, j'utilise un outil gratuit appelé OnyX pour des tâches de maintenance supplémentaires. Il est fait par des français et comme ils mangent c'est tout simplement génial :)
OnyX est un utilitaire multifonction pour OS X qui vous permet de vérifier le disque de démarrage et la structure de ses fichiers système, d'exécuter diverses tâches de maintenance du système, de configurer certains paramètres cachés du Finder, Dock, QuickTime, Safari, Mail, iTunes , la fenêtre de connexion, Spotlight et de nombreuses applications d'Apple, pour supprimer les caches, supprimer un certain nombre de fichiers et de dossiers qui peuvent devenir encombrants, etc.
Cela dit, je ne remets pas en question votre décision d'utiliser le défragmenteur (iDefrag) car je ne le connais pas, mais plutôt de proposer des solutions alternatives.
la source
fsck
il semble ne se soucier que des problèmes de système de fichiers, pas bloquer les problèmes d'accessibilité. La console n'a montré d'erreurs que lorsque j'ai essayé manuellement de copier / lire les données de l'un de ces fichiers cassés, cela ne m'a pas aidé à les trouver.Aussi déraisonnable que cela puisse paraître, avant de faire quoi que ce soit, vous devez dupliquer toutes vos données sur un bon disque connu. Si le démarrage à partir du programme d'installation et la copie des données échouent, il existe un utilitaire de ligne de commande appelé «dd» qui peut effectuer une duplication de bas niveau et de manière beaucoup plus intransigeante.
pour plus d'informations sur dd, y compris l'utilisation et la syntaxe appropriée.
Un autre vote pour le post de Matt, démarrez le mode mono-utilisateur et exécutez
encore et encore jusqu'à ce que fsck cesse de signaler des erreurs.
Vote pour la publication d'Adam, DiskWarrior est une application simple à utiliser mais très puissante qui signalera les défaillances du disque dur, vérifiera les fichiers individuels pour les erreurs et les réparera si possible, et reconstruira et optimisera les structures de répertoires.
Une autre solution possible qui peut sembler déraisonnable mais qui est souvent une dernière tentative de récupérer des données avec beaucoup de preuves annacdotiques de succès est de retirer le lecteur, de le protéger de l'humidité à l'aide de quelques couches de sacs de congélation et de le placer dans votre congélateur pour 30-45 minutes. Ensuite, pendant que le lecteur est froid, montez le lecteur sur une station d'accueil USB externe et utilisez un autre système temporaire pour tenter à nouveau de copier les données corrompues sur un autre lecteur. En règle générale, cette option est utilisée en cas de problème matériel et de panne du lecteur. Si vous pouvez dupliquer l'intégralité du disque avec vos données intactes, c'est l'idéal, car souvent une répartition et un reformatage donneront au disque un nouveau souffle.
la source
fsck
à la liste des "choses qui pensent que le disque est bien", j'avais répondu à la réponse en mentionnantfsck
son utilité.fsck
et Disk Utility remplissent à peu près la même fonction, c'est-à-dire qu'ils opèrent sur les structures du système de fichiers, pas au niveau du bloc. J'ai essayé d'être assez précis sur le fait qu'il s'agit d'un problème de bloc, pas d'un problème de système de fichiers.Pour un seul fichier qui ne peut pas être lu dans son intégralité en raison d'une erreur de lecture de disque, vous pouvez utiliser l'
dd
utilitaire pour dupliquer le fichier sur un volume externe, en substituant des octets NUL aux blocs qui ne peuvent pas être lus. Il est fortement recommandé de dupliquer sur un volume différent (par exemple "Disque USB" dans l'exemple ci-dessous).Exemple:
En utilisant des blocs de 512 octets, le nombre maximal de blocs lisibles sera récupéré.
La récupération peut prendre beaucoup de temps, car le noyau se bloquera pendant un certain temps à chaque échec de lecture.
la source