enregistrement des données d'un disque défectueux

12

Un disque dur externe de 3½ "semble être en danger d'échec - il émet des signaux sonores lorsqu'il est inactif .

J'ai acquis un disque de remplacement et je veux connaître la meilleure stratégie pour extraire les données du disque douteux avec les meilleures chances d'économiser autant que possible.

Certains répertoires sont plus importants que d'autres. Cependant, je suppose que choisir et choisir des répertoires va réduire mes chances de sauvegarder le tout. Je devrais également le monter, vider une liste de fichiers, puis le démonter afin de pouvoir hiérarchiser efficacement les répertoires. Ajoutant au fait que cela prend du temps, je m'éloigne de cette approche.

J'ai envisagé de simplement utiliser dd, mais je ne sais pas comment il traiterait les erreurs de lecture ou d'autres problèmes qui pourraient empêcher seulement certaines parties des données d'être sauvées, ou qui pourraient être surmontées avec quelques tentatives, mais pas tellement qu'elles mettre en danger la sauvegarde d'autres parties du disque. Je suppose que l'idéal serait de faire un seul passage pour en obtenir le plus possible, puis de recommencer pour réessayer tout ce qui a été manqué en raison d'erreurs.

Est-il possible que la copie plus lente - par exemple, une pause tous les x Mo / Go - soit mieux que de simplement exécuter l'opération à pleine inclinaison, par exemple pour éviter tout problème de surchauffe?

Pour la foule "où est votre sauvegarde": il s'agit en fait de mon lecteur de sauvegarde, mais il contient également des éléments non critiques et volumineux, comme la musique, qui ne sont pas des sauvegardes, c'est-à-dire ne sont pas sauvegardés.

Le lecteur n'a montré aucun signe clair de panne autre que ce son quelque peu inquiétant. J'ai dû fsck quelques erreurs récemment - inodes orphelins, nombre de blocs / inodes libres incorrects, différences de bitmap d'inode, zéro heure sur les inodes supprimés; environ 20 erreurs en tout.

Le système de fichiers de la partition est ext3.

intuition
la source
cross-posté sur askubuntu et superutilisateur
intuition

Réponses:

9

Vous pouvez utiliser ddrescueou dd_rescueou myrescuepour cloner le disque défaillant, sans abandonner sur aucun secteur illisible. (Myrescue est moins configurable mais a une meilleure stratégie par défaut car il essaie de sauter les régions illisibles.) Cela copiera tout, y compris l'espace vide et ne vous permettra pas de définir des priorités. Cependant, une telle approche à faible niveau a un avantage sur les outils au niveau du système de fichiers: si un répertoire est illisible, vous pouvez toujours récupérer les fichiers qu'il contient en recherchant l'image brute avec des outils tels que foremost, magicrescue, photorecinclus dans TestDisk , etc.

Gilles 'SO- arrête d'être méchant'
la source
Le lien pour magicrescuesemble rompu; Voulez-vous dire itu.dk/~jobr/magicrescue à la place?
landroni
@landroni Oui, je suppose que cet étudiant a obtenu son diplôme, merci.
Gilles 'SO- arrête d'être méchant'
"Myrescue [..] a une meilleure stratégie par défaut" Envisageriez-vous de publier un ddrescueexemple configuré avec les myrescuevaleurs par défaut? Merci!
landroni
1
Pour ddrescue/ dd_rescuevous effectuez le premier passage avec une grande taille de bloc et changez en plus petit dans les passages suivants (par exemple, diviser par deux la taille à chaque fois). Bien sûr, cela vous oblige à utiliser un fichier journal (voir la page de manuel).
peterph
De façon confuse, sur les systèmes basés sur Debian, la commande ddrescuevient du paquet gddrescue; dd_rescuedu paquet ddrescue; et myrescuedu paquet myrescue.
landroni
8

Il n'y a aucun moyen de connaître le meilleur de vos options sans savoir exactement ce qui ne va pas avec le lecteur. S'il s'agit d'une défaillance mécanique, éviter de le chauffer peut aider, mais si cela est dû à des erreurs dans les données d'asservissement, la chaleur n'est pas susceptible d'avoir de l'importance.

Je commencerais immédiatement à copier les données uniques sur le nouveau disque avec rsync. rsyncvous permettra de suspendre, de reprendre et de redémarrer si nécessaire jusqu'à ce que toutes les données soient supprimées.

Ensuite, je lance un nettoyage des données sur le disque. Je suppose à partir du ext3système de fichiers que vous utilisez Linux, alors essayez ceci:

# umount /dev/sdX
# badblocks -n /dev/sdX

(Le démontage du disque en premier est important.)

Cela lira chaque secteur du disque et le réécrira sans changement. Cela forcera le firmware du lecteur à vérifier chaque secteur pour les erreurs et à remapper tous les secteurs défectueux qu'il trouve. C'est la partie la plus importante de ce que fait le coûteux programme SpinRite . Passez à l'étape suivante uniquement en cas d' badblockséchec et vous n'avez toujours pas obtenu toutes les données uniques du lecteur: SpinRite essaie plus fort que lui badblocks.

Warren Young
la source
2

Si le disque est en train de mourir, assurez-vous d'abord d'en faire le meilleur clonage possible (voir la réponse de Gilles) et ensuite, continuez à jouer avec le lecteur. De cette façon, vous aurez toujours au moins quelques données, au cas où quelque chose se passe mal (ce qui peut souvent arriver avec un matériel défaillant).

Si vous utilisez ddrescue(ou dd_rescue, je ne suis pas sûr des autres), vous pouvez toujours faire une copie des données partiellement clonées et du fichier journal associé et essayer de l'améliorer en exécutant à ddrescuenouveau après avoir fait quelque chose qui était censé réparer le lecteur. Il essaiera de lire les parties manquantes tout en laissant intactes les parties bien clonées.

peterph
la source