Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
ddrescue [Le 29/12/2021, 12:39]
37.164.114.228 [Pour continuer la récupération avec d'autres outils]
ddrescue [Le 29/01/2024, 22:24] (Version actuelle)
krodelabestiole [Support endommagé] l'option -T c'est pas (plus ?) ça du tout d'après ddrescue --help : -T, --timeout=<interval>
Ligne 1: Ligne 1:
- 
 {{tag>​récupérer système sauvegarde}} {{tag>​récupérer système sauvegarde}}
  
Ligne 20: Ligne 19:
 Vérifiez votre matériel. Un disque est parfois endommagé à cause d'un contrôleur de disque défectueux,​ vous risquez d'​aggraver la situation en continuant à l'​utiliser pour la récupération. De la mémoire vive défectueuse peut avoir endommagé les données du disque à sauvegarder puis corrompre des données encore valides qui seront copiées sur le nouveau disque. Vérifiez votre matériel. Un disque est parfois endommagé à cause d'un contrôleur de disque défectueux,​ vous risquez d'​aggraver la situation en continuant à l'​utiliser pour la récupération. De la mémoire vive défectueuse peut avoir endommagé les données du disque à sauvegarder puis corrompre des données encore valides qui seront copiées sur le nouveau disque.
  
-Vérifiez que le disque sur lequel vous enregistrez le fichier cible et le fichier journal soit en bon état ! +Vérifiez que le disque sur lequel vous enregistrez le fichier cible et le fichier journal soit en bon état !
 <code bash>​smartctl -a /​dev/​disque_recepteur</​code>​ <code bash>​smartctl -a /​dev/​disque_recepteur</​code>​
   ​   ​
Ligne 33: Ligne 32:
 ==== Installation ​ de ddrescue ==== ==== Installation ​ de ddrescue ====
 === Dans une instance opérationnelle ou la version liveusb 21.10. === === Dans une instance opérationnelle ou la version liveusb 21.10. ===
-Pour installer ce logiciel, ​il suffit d'[[:​tutoriel:​comment_installer_un_paquet#​paquet_present_dans_les_depots|installer le paquet]] **[[apt>​gddrescue|gddrescue]]**.+Pour installer ce logiciel, [[:​tutoriel:​comment_installer_un_paquet#​paquet_present_dans_les_depots|installer le paquet]] **[[apt>​gddrescue|gddrescue]]**.
  
 <note important>​ <note important>​
 Il existe un paquet nommé ''​ddrescue''​ **qu'​il ne faut pas installer**. Le paquet ''​ddrescue''​ contient un logiciel nommé //​dd_rescue//,​ plus ancien que celui présenté ici. Il existe un paquet nommé ''​ddrescue''​ **qu'​il ne faut pas installer**. Le paquet ''​ddrescue''​ contient un logiciel nommé //​dd_rescue//,​ plus ancien que celui présenté ici.
 </​note>​ </​note>​
-V 
-  
 === Dans une instance "​live"​ avant la version 21.10. === === Dans une instance "​live"​ avant la version 21.10. ===
 En ligne de commande En ligne de commande
Ligne 102: Ligne 99:
 ''<​nom_fichier_journal>''​ = le nom du fichier de log comportant la liste des secteurs récupérés et de ceux à relire. Très fortement recommandé,​ voir ci-dessous. ''<​nom_fichier_journal>''​ = le nom du fichier de log comportant la liste des secteurs récupérés et de ceux à relire. Très fortement recommandé,​ voir ci-dessous.
  
-J'ai essayé de suivre votre tuto, je n'ai rien obtenu à part le message :"Too many files"​. Vous devriez écrire un vrai exemple de commande pour sauvegarder les fichiers Image et log sur une clé USB. Car là, ce n'est vraiment pas clair. ​+FIXME 
 +J'ai essayé de suivre votre tuto, je n'ai rien obtenu à part le message :"Too many files"​. Vous devriez écrire un vrai exemple de commande pour sauvegarder les fichiers Image et log sur une clé USB. Car là, ce n'est vraiment pas clair.
  
 Pour obtenir une liste exhaustive des fonctions du logiciel, se reporter au site officiel ou à sa documentation:​ Pour obtenir une liste exhaustive des fonctions du logiciel, se reporter au site officiel ou à sa documentation:​
Ligne 131: Ligne 129:
  
 permet de s'​occuper en priorité des zones non endommagées et de revenir traiter celles-ci après. permet de s'​occuper en priorité des zones non endommagées et de revenir traiter celles-ci après.
- 
-=== Option -T === 
- 
-<code bash>​sudo ddrescue <​source>​ <​cible>​.img <log> -T</​code>​ 
- 
-permet de reprendre une copie qui a été interrompue du fait de la disparition du matériel (déconnexion brutale, matériel instable qui "​disparaît"​). En fait, reprend toutes les zones qui n'ont pas encore été explorées. 
-Dans le cas général, pour interrompre une copie il faut utiliser Ctrl+C et reprendre avec la même ligne que celle utilisée pour lancer la première copie, avec le fichier de log bien sûr. 
  
 === Option -r === === Option -r ===
 <code bash>​sudo ddrescue <​source>​ <​cible>​.img <log> -r1</​code>​ <code bash>​sudo ddrescue <​source>​ <​cible>​.img <log> -r1</​code>​
  
-Reprend la copie en se concentrant sur les zones considérées comme erronées en première lecture : le chiffre derrière r est un paramètre qui spécifie combien de tentative d'​accès doivent être effectuées à chaque erreur rencontrée. ​   +Reprend la copie en se concentrant sur les zones considérées comme erronées en première lecture : le chiffre derrière r est un paramètre qui spécifie combien de tentative d'​accès doivent être effectuées à chaque erreur rencontrée.
  
 === Option -S === === Option -S ===
Ligne 175: Ligne 166:
 sudo ddrescuelog -l- -b512 /​home/​ubuntu/​dd/​suivi >/​home/​ubuntu/​dd/​badblocs</​code>​ sudo ddrescuelog -l- -b512 /​home/​ubuntu/​dd/​suivi >/​home/​ubuntu/​dd/​badblocs</​code>​
 ==Fabriquer les secteurs qui n'ont pas été copiés == ==Fabriquer les secteurs qui n'ont pas été copiés ==
-- Avec mise d'un commentaire personnel. ​+- Avec mise d'un commentaire personnel.
 <code bash>​ddrescue --fill-mode=- <(printf "​SECTEUR ILLISIBLE On va marquer au fer rouge  tous ces secteurs faussement ​ défectueux ​ afin de rechercher dans les fichiers ceux qui sont impactés par SECTEUR ILLISIBLE"​) --force /dev/sde /​home/​ubuntu/​dd/​suivi </​code>​ <code bash>​ddrescue --fill-mode=- <(printf "​SECTEUR ILLISIBLE On va marquer au fer rouge  tous ces secteurs faussement ​ défectueux ​ afin de rechercher dans les fichiers ceux qui sont impactés par SECTEUR ILLISIBLE"​) --force /dev/sde /​home/​ubuntu/​dd/​suivi </​code>​
 - ou avec écriture de zéros. - ou avec écriture de zéros.
Ligne 183: Ligne 174:
 === Sauvegarde d'une partition dans une partition avec un livecdrom === === Sauvegarde d'une partition dans une partition avec un livecdrom ===
 La taille du secteur est de 4096 bytes. La taille du secteur est de 4096 bytes.
-La partition est celle contenant les données de l'​utilisateur (sda6). ​+La partition est celle contenant les données de l'​utilisateur (sda6).
 Le disque externe a été formaté avec au moins deux partitions; ​ sde1 pour le suivi du processus (taille 1 Go) et sde2 pour recevoir la duplication (la taille étant au moins égale à sda6). Le disque externe a été formaté avec au moins deux partitions; ​ sde1 pour le suivi du processus (taille 1 Go) et sde2 pour recevoir la duplication (la taille étant au moins égale à sda6).
 == Faire la copie des secteurs de bonne qualité == == Faire la copie des secteurs de bonne qualité ==
Ligne 189: Ligne 180:
 sudo mkdir /​media/​ubuntu/​dd sudo mkdir /​media/​ubuntu/​dd
 sudo ddrescue -f -N -n        -b4096 -K524288 /dev/sda6 /dev/sde2 /​media/​ubuntu/​dd/​suivi6 sudo ddrescue -f -N -n        -b4096 -K524288 /dev/sda6 /dev/sde2 /​media/​ubuntu/​dd/​suivi6
-sudo ddrescue -f -c1  -b4096 ​ /dev/sda6 /​media/​ubuntu/​dd/​suivi6</​code>​+sudo ddrescue -f -c1  -b4096 ​ /​dev/​sda6 ​/​dev/​sde2 ​/​media/​ubuntu/​dd/​suivi6</​code>​
 == Faire la copie des secteurs endommagés == == Faire la copie des secteurs endommagés ==
 <code bash>​sudo ddrescue -d -f -R -r27 -b4096 -c1 /dev/sda6 /dev/sde2 /​media/​ubuntu/​dd/​suivi6</​code>​ <code bash>​sudo ddrescue -d -f -R -r27 -b4096 -c1 /dev/sda6 /dev/sde2 /​media/​ubuntu/​dd/​suivi6</​code>​
Ligne 196: Ligne 187:
 sudo ddrescuelog -l- -b4096 /​media/​ubuntu/​dd/​suivi6 >/​media/​ubuntu/​dd/​badblocs6</​code>​ sudo ddrescuelog -l- -b4096 /​media/​ubuntu/​dd/​suivi6 >/​media/​ubuntu/​dd/​badblocs6</​code>​
 == Fabriquer les secteurs qui n'ont pas été copiés == == Fabriquer les secteurs qui n'ont pas été copiés ==
-- Avec mise d'un commentaire personnel. ​+- Avec mise d'un commentaire personnel.
 <code bash>​ddrescue --fill-mode=- <(printf "​SECTEUR ILLISIBLE On va marquer au fer rouge  tous ces secteurs faussement ​ défectueux ​ afin de rechercher dans les fichiers ceux qui sont impactés par SECTEUR ILLISIBLE"​) --force /dev/sde2 /​media/​ubuntu/​dd/​suivi6 </​code>​ <code bash>​ddrescue --fill-mode=- <(printf "​SECTEUR ILLISIBLE On va marquer au fer rouge  tous ces secteurs faussement ​ défectueux ​ afin de rechercher dans les fichiers ceux qui sont impactés par SECTEUR ILLISIBLE"​) --force /dev/sde2 /​media/​ubuntu/​dd/​suivi6 </​code>​
 - ou avec écriture de zéros. - ou avec écriture de zéros.
Ligne 216: Ligne 207:
 Lire de telles données peut donc se révéler problématique si elles sont accidentellement de même [[https://​www.cgsecurity.org/​wiki/​Formats_de_fichier_r%C3%A9cup%C3%A9r%C3%A9s_par_PhotoRec|type de format]] puisque les logiciels de lecture vont alors pouvoir lire normalement les fichiers. Lire de telles données peut donc se révéler problématique si elles sont accidentellement de même [[https://​www.cgsecurity.org/​wiki/​Formats_de_fichier_r%C3%A9cup%C3%A9r%C3%A9s_par_PhotoRec|type de format]] puisque les logiciels de lecture vont alors pouvoir lire normalement les fichiers.
  
-Pour un film, ce n'est pas très grave. Personne ​ ne verra qu'un paquet de 512 bytes est remplacé par une autre animation. ​ +Pour un film, ce n'est pas très grave. Personne ​ ne verra qu'un paquet de 512 bytes est remplacé par une autre animation.
  
 Pour une image, cela pourrait être visible avec une petite zone sans rapport avec le dessin. Pour une image, cela pourrait être visible avec une petite zone sans rapport avec le dessin.
Ligne 226: Ligne 217:
 Pour un document du style  calc, il va être plus difficile de s'​apercevoir que les chiffres ne sont pas valables. Si par malheur cela concerne le tableau final....... Pour un document du style  calc, il va être plus difficile de s'​apercevoir que les chiffres ne sont pas valables. Si par malheur cela concerne le tableau final.......
  
-Pour toutes ses raisons, il est tentant de mettre des données fictives (des zéros ou autre chose) dans ces secteurs. Cependant c'est à double tranchant pour les logiciels car ceux-ci pourraient ne plus lire le fichier abîmé. __Il faudrait alors utiliser la version moins un du fichier ​ qui est très certainement inexistante. ​ +Pour toutes ses raisons, il est tentant de mettre des données fictives (des zéros ou autre chose) dans ces secteurs. Cependant c'est à double tranchant pour les logiciels car ceux-ci pourraient ne plus lire le fichier abîmé. __Il faudrait alors utiliser la version moins un du fichier ​ qui est très certainement inexistante.__
-__+
  
  
Ligne 256: Ligne 246:
 cat sdb2.files</​code>​ cat sdb2.files</​code>​
 ==== Connaître les fichiers stockés dans une partition NTFS impactés par les blocs défectueux. ==== ==== Connaître les fichiers stockés dans une partition NTFS impactés par les blocs défectueux. ====
-Pour obtenir la liste des fichiers qui sont encore corrompus, il est nécessaire d'​avoir récupéré en  totalité le répertoire des noms de fichiers. La première action à faire est de s'​assurer que ce répertoire est en bon état. Cette action peut se faire pendant la dernière phase de récupération lorsque les tentatives de récupération deviennent de plus en plus longues. ​ La commande suivante doit se terminer sans signaler d'​erreurs. ​+Pour obtenir la liste des fichiers qui sont encore corrompus, il est nécessaire d'​avoir récupéré en  totalité le répertoire des noms de fichiers. La première action à faire est de s'​assurer que ce répertoire est en bon état. Cette action peut se faire pendant la dernière phase de récupération lorsque les tentatives de récupération deviennent de plus en plus longues. ​ La commande suivante doit se terminer sans signaler d'​erreurs.
 <code bash>​sudo ​  ​ntfsfix ​ -n -b -d   <​nom_partition_cible></​code>​ <code bash>​sudo ​  ​ntfsfix ​ -n -b -d   <​nom_partition_cible></​code>​
 Si cette commande répond que la structure des répertoires ​ est en mauvais état, il faut retenter de récupérer des secteurs illisibles. ​   Sinon, on peut obtenir la liste des fichiers non totalement récupérés avec ces commandes Si cette commande répond que la structure des répertoires ​ est en mauvais état, il faut retenter de récupérer des secteurs illisibles. ​   Sinon, on peut obtenir la liste des fichiers non totalement récupérés avec ces commandes
Ligne 265: Ligne 255:
 ==== Sur l'​écran de la session ​ terminal en exécution ==== ==== Sur l'​écran de la session ​ terminal en exécution ====
  
-Pendant toute la durée de l'​exécution,​ une grille permettant un suivi est affichée. ​+Pendant toute la durée de l'​exécution,​ une grille permettant un suivi est affichée.
 Il n'est pas possible de la mettre dans la discussion en cours  avec la technique ​ copier/​coller ​ puisque ​ la grille se met à jour régulièrement. ​  Il est nécessaire de tuer le process pour en effectuer une capture! Il n'est pas possible de la mettre dans la discussion en cours  avec la technique ​ copier/​coller ​ puisque ​ la grille se met à jour régulièrement. ​  Il est nécessaire de tuer le process pour en effectuer une capture!
 <​code>​GNU ddrescue 1.22 <​code>​GNU ddrescue 1.22
Ligne 281: Ligne 271:
 Signification de quelques zones: Signification de quelques zones:
  
-**Initial status**: Lorsque ddrescue est relancé suite à une interruption,​ le fichier de log permet de continuer l'​action en cours. La ligne qui suit fait un récapitulatif de tout ce qui a déjà été traité. Les deux lignes ne sont pas présentes lors du premier lancement. ​+**Initial status**: Lorsque ddrescue est relancé suite à une interruption,​ le fichier de log permet de continuer l'​action en cours. La ligne qui suit fait un récapitulatif de tout ce qui a déjà été traité. Les deux lignes ne sont pas présentes ​lors du premier lancement. 
 + 
 +**ipos** ​  Poste d'​entrée. La position dans le fichier d'​entrée à partir de laquelle les données sont actuellement lues.  
 + 
 +**opos** ​  Poste de sortie. La position dans le fichier de sortie où les données sont actuellement écrites. Zéro lors du premier lancement.
  
-**ipos opos**   Indique la position début ​dans le support entrée et le support sortie. ​Zéro lors du premier lancement.+**current rate** / **average rate**   Débit actuel et débit moyen d'​écriture ​dans le support sortie. ​Une valeur faible signifie une difficulté de lecture ​du support émetteur.
  
-**Current rate  Average rate**   Débit actuel et débit moyen d'écriture dans le support sortieUne valeur faible signifie une difficulté ​de lecture du support émetteur.+**non-tried**   Taille de la partie du domaine de secours en attente ​d'être essayéeC'est la somme des tailles ​de tous les blocs non essayés.
  
-** rescued pct rescued** ​   Taille déjà récupérée ​ ainsi que le pourcentage par rapport à la totalité de l'​espace émetteur.+**rescued** / **pct rescued** ​   Taille déjà récupérée ​ ainsi que le pourcentage par rapport à la totalité de l'​espace émetteur.
  
-**run time** Temps écoulé depuis le début de la commande exprimé en  jours heures minutes. ​+**run time** Temps écoulé depuis le début de la commande exprimé en  jours heures minutes.
  
 **remaining time** ​ Temps estimé pour la fin de la commande exprimé en jours heures minutes ou N/A lorsque ce n'est pas connu. **remaining time** ​ Temps estimé pour la fin de la commande exprimé en jours heures minutes ou N/A lorsque ce n'est pas connu.
  
-**time since last successful read** Temps écoulé depuis une dernière lecture réussie exprimé en heures minute seconde. ​  ​+**time since last successful read** Temps écoulé depuis une dernière lecture réussie exprimé en heures minute seconde.
  
 **Scraping failed blocks... (forwards)** ​  Type d'​action actuellement en cours. Evolue en fonction de l'​avancement de la récupération. Dans ce cas, on est à l'​étape de lecture des blocs qui n'ont pas été lus lors du premier passage rapide. **Scraping failed blocks... (forwards)** ​  Type d'​action actuellement en cours. Evolue en fonction de l'​avancement de la récupération. Dans ce cas, on est à l'​étape de lecture des blocs qui n'ont pas été lus lors du premier passage rapide.
Ligne 301: Ligne 295:
 <code bash>​ddrescuelog ​ -tvv  <​nom_fichier_journal>​ </​code>​ <code bash>​ddrescuelog ​ -tvv  <​nom_fichier_journal>​ </​code>​
 Il est possible de connaitre la liste exhaustive de numéros de secteurs non encore récupérés (à ne pas faire pendant le premier passage) avec cette commande Il est possible de connaitre la liste exhaustive de numéros de secteurs non encore récupérés (à ne pas faire pendant le premier passage) avec cette commande
-d<code bash>​drescuelog -l-    <​nom_fichier_journal></​code>​+<code bash>​drescuelog -l-    <​nom_fichier_journal></​code>​ 
 +Il est possible de transmettre facilement la géographie du disque. 
 +<code bash>cat <​nom_fichier_journal>​ </​code>​ 
 +Il est possible de visualiser en couleurs l'​état du disque. 
 +<code bash>​ddrescueview</​code>​ 
 +Puis onglet **File** ​  et action **Open filemap** et choisir ​ **<​nom_fichier_journal>​**.
 ===== Pour continuer la récupération avec d'​autres outils ===== ===== Pour continuer la récupération avec d'​autres outils =====
  
  • ddrescue.1640777976.txt.gz
  • Dernière modification: Le 29/12/2021, 12:39
  • par 37.164.114.228