J'ai récupéré un disque dur en utilisant dd_rescue, ce qui me fournit une liste de tous les secteurs de périphériques qu'il pouvait pas de copie en raison d'erreurs matérielles.Comment mapper des secteurs physiques d'un disque aux fichiers qui les contiennent sur un volume HFS + sur Mac OS X
Je voudrais prendre cette liste, et écrire un outil pour me donner tous les fichiers qui contiennent ces secteurs défectueux afin que je puisse les supprimer. Je ne suis pas sûr quelles APIs je peux utiliser pour faire ceci - essentiellement je veux obtenir une liste de tous les dossiers sur le disque et pour chaque dossier, une liste des secteurs de secteurs qu'il occupe sur le disque. Ma première supposition est que je vais itérer sur chaque entrée du répertoire sur le disque et vérifier si le fichier chevauche l'un de ces secteurs défectueux. Peut-être qu'il y a un meilleur moyen.
Merci pour la réponse, Graham. J'ai découvert une fonctionnalité de hfsdebug qui va non seulement m'aider à comprendre le système de fichiers, mais aussi à implémenter une solution à ce problème. Il est possible d'écrire un (http://www.osxbook.com/blog/2008/07/23/extending-hfsdebug/ "Filter") pour hfsdebug. C'est à peu près un mécanisme de rappel qui sera appelé comme hfsdebug itère sur chaque nœud de répertoire. Je peux comparer les blocs pris par les extensions du fichier avec les blocs en question. –