J'ai un erreur d'E/S chaque fois que je copie des dossiers et des fichiers d'une partition sur un disque dur de sauvegarde.
Alors, comment puis-je sauvegarder en toute sécurité ces données sur mon disque dur de sauvegarde?
Tout d'abord, si votre lecteur rencontre des erreurs d'E/S, vous devez vérifier si votre lecteur est suffisamment sain. Les erreurs d'E/S peuvent être localisées uniquement sur un/certains bloc (s) mauvais/blocs défectueux (s) spécifique (s), mais en avoir un/certains est généralement à l'origine d'une défaillance de lecteur.
Vous pouvez utiliser smartctl
pour vérifier le statut de votre lecteur S.M.A.R.T.
, qui fournit de nombreuses informations sur les conditions générales du lecteur, notamment sur le nombre de secteurs réaffectés/en attente. Vous pouvez installer smartctl
en installant le paquet smartmontools
:
Sudo apt-get update && Sudo apt-get install smartmontools
Pour les lecteurs SATA
, vous pouvez vérifier l'état de S.M.A.R.T.
de votre lecteur en exécutant:
Sudo smartctl -a -d <device_file>
* <fichier_périphérique> = fichier de périphérique auquel votre lecteur est mappé (sous la forme de /dev/sdX
; vous pouvez le vérifier en exécutant _ lsblk
);
Pour les lecteurs IDE
, vous pouvez vérifier l'état de S.M.A.R.T.
de votre lecteur en exécutant:
Sudo smartctl -a <device_file>
* <fichier_périphérique> = fichier de périphérique auquel votre lecteur est mappé (sous la forme de /dev/sdX
; vous pouvez le vérifier en exécutant _ lsblk
);
Les index les plus importants à vérifier sont Reallocated sector count
et Current pending sector count
. Le premier indique le nombre de secteurs "morts" du lecteur, tandis que le second indique le nombre de secteurs "presque morts" du lecteur qui seront réaffectés si une nouvelle tentative de lecture échoue.
Si le disque est un peu vieux, ces nombres ne seront probablement pas 0, ce qui est la condition idéale. La gravité de ces chiffres dépend en particulier de l'âge et de la taille du lecteur. Considérez que chaque secteur "mort" sur la plupart des disques durs équivaut déjà à 512 B
valeur d’espace de stockage déjà perdu, mais surtout, un nombre déjà élevé a tendance à augmenter plus rapidement, ce qui est généralement le signe d’une défaillance proche.
En dehors de cela, vous pouvez essayer avec ddrescue
. Si la partition contenant le (s) fichier (s) que vous essayez de récupérer est la partition root
, effectuez cette opération à partir d'un DVD live, car le système de fichiers cible doit être monté en lecture seule.
Attention également que la lecture/écriture d'un disque non sain peut le ruiner davantage.ddrescue
est censé faire le moins de dégâts possible, mais il n'y a aucune garantie.
Tout d'abord, si la partition cible est montée, démontez-la:
Sudo umount /media/<username>/<partition_mount_point>
* <nom d'utilisateur> = votre nom d'utilisateur; <partition_mount_point> = point de montage de la partition (vous pouvez le vérifier en exécutant lsblk
);
Remontez la partition cible en lecture seule:
Sudo mkdir /media/<username>/ddrescue && Sudo mount -o ro /dev/<sdXY> /media/<username>/ddrescue
* <nom d'utilisateur> = votre nom d'utilisateur; <sdXY> = périphérique en bloc sur lequel la partition est mappée (vous pouvez le vérifier en exécutant lsblk
);
Créez un répertoire dans lequel copier le ou les fichiers récupérés (dans ce cas, il s’agit d’un dossier "recovered
" dans votre home
):
mkdir ~/recovered
Exécuter ddrescue
:
ddrescue /media/<username>/ddrescue/<file_path> ~/recovered
* <nom d'utilisateur> = votre nom d'utilisateur; <chemin_fichier> = chemin du fichier dans la partition cible;
Et répétez cette dernière étape pour chaque fichier que vous souhaitez récupérer.
Une fois cela fait, démontez la partition cible et supprimez le dossier temporaire:
Sudo umount /media/<username>/ddrescue && Sudo rmdir /media/<username>/ddrescue
* <nom d'utilisateur> = votre nom d'utilisateur;