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édentesRévision précédente
Prochaine révision
Révision précédente
ddrescue [Le 25/10/2020, 11:24] – [Support endommagé] 78.198.95.3ddrescue [Le 11/11/2026, 16:12] (Version actuelle) – [Restaurer une sauvegarde d'un disque] Il faut entrer le chemin vers le fichier sauvé et pas seulement son nom. ExoticApple57
Ligne 9: Ligne 9:
 ddrescue copie les données d'un fichier ou disque (disque dur, SSD, CD-ROM, etc.) vers un autre. À la différence de [[dd]] qui lit les données séquentiellement, **ddrescue saute les zones endommagées** dont la lecture est lente afin de récupérer rapidement un maximum de données. **Il revient ensuite récupérer** ce qui peut l'être dans les **zones endommagées**. Il est donc **particulièrement adapté pour sauvegarder un disque dur en fin de vie**, qui peut cesser de fonctionner avant la fin de la récupération. ddrescue copie les données d'un fichier ou disque (disque dur, SSD, CD-ROM, etc.) vers un autre. À la différence de [[dd]] qui lit les données séquentiellement, **ddrescue saute les zones endommagées** dont la lecture est lente afin de récupérer rapidement un maximum de données. **Il revient ensuite récupérer** ce qui peut l'être dans les **zones endommagées**. Il est donc **particulièrement adapté pour sauvegarder un disque dur en fin de vie**, qui peut cesser de fonctionner avant la fin de la récupération.
  
-ddrescue dispose notamment une **intéressante fonction de "fusion" **qui permet d'obtenir **une copie saine** d'un disque ou fichier **à partir de plusieurs copies endommagées** dudit disque ou fichier.+ddrescue dispose notamment une **intéressante fonction de "fusion" **qui permet d'obtenir **une copie saine** d'un disque ou fichier**à partir de plusieurs copies endommagées** dudit disque ou fichier.
  
 Son interface en ligne de commande et ses nombreuses options en font un outil à destination des utilisateurs avertis. Son interface en ligne de commande et ses nombreuses options en font un outil à destination des utilisateurs avertis.
Ligne 19: 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 31: Ligne 31:
  
 ==== Installation  de ddrescue ==== ==== Installation  de ddrescue ====
-=== Dans une instance opérationnelle. === +=== 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]]**. 
 +<code>sudo apt install gddrescue</code>
  
 <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>
- +=== Dans une instance "live" avant la version 21.10. ===
-  +
-=== Dans une instance "live". ===+
 En ligne de commande En ligne de commande
 <code bash>sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe" <code bash>sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
Ligne 66: Ligne 65:
  
  
-ddrescue  fonctionne de la  [[https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html#Algorithm | façon suivante]]:+ddrescue fonctionne de la [[https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html#Algorithm | façon suivante]] :
  
-- Si le fichier map est vide, dire que le traitement  est à faire sur la totalité du support entrée, sinon récupérer ce qui a déjà été analysé. Ecrire régulièrement l’état de la récupération.+- Si le fichier map est vide, dire que le traitement  est à faire sur la totalité du support entrée, sinon récupérer ce qui a déjà été analysé. Écrire régulièrement l’état de la récupération.
  
-- Le premier passage lit la totalité du support d’entrée  en faisant des demandes de lecture de taille très importante ( probablement   plusieurs Mo). Si la lecture est possible, la duplication a lieu. Si cette lecture  est impossible,  la totalité des secteurs de cette zone  est marquée « ignorée».  Quel que soit le résultat, la grande zone suivante est alors traitée. Cela jusqu'à la fin du support entrée.+- Le premier passage lit la totalité du support d’entrée  en faisant des demandes de lecture de taille très importante (probablement plusieurs Mo). Si la lecture est possible, la duplication a lieu. Si cette lecture  est impossible, la totalité des secteurs de cette zone est marquée « ignorée». Quel que soit le résultat, la grande zone suivante est alors traitée. Cela jusqu'à la fin du support entrée.
  
 - Le second passage vérifie que les zones marquées "ignorée" sont peut-être devenues lisibles pour certaines d'entre elles en partant de la fin du support entrée (Cette phrase est à confirmer). - Le second passage vérifie que les zones marquées "ignorée" sont peut-être devenues lisibles pour certaines d'entre elles en partant de la fin du support entrée (Cette phrase est à confirmer).
  
- +- Le troisième passage appelé rognage (Trimming) reprend chaque entité de taille très importante en traitant **secteur par secteur** (Secteur logique ? Secteur physique ?). On traite le premier secteur :
-- Le troisième passage appelé rognage (Trimming) reprend chaque entité de  taille très importante  en traitant **secteur par secteur** (Secteur logique ?  Secteur physique?). On traite le premier secteur :+
   *        Si le secteur est lisible, il est dupliqué et le secteur suivant est lu.   *        Si le secteur est lisible, il est dupliqué et le secteur suivant est lu.
-  *        Si le secteur  suivant est illisible, on traite le dernier secteur  de l’entité. +  *        Si le secteur suivant est illisible, on traite le dernier secteur de l’entité. 
-  *        Si le dernier secteur est lisible , il est dupliqué et le secteur précédant est lu. +  *        Si le dernier secteur est lisible, il est dupliqué et le secteur précédent est lu. 
-  *        Si le secteur précédant  est illisible, on passe au traitement de l’entité suivante de grande taille.+  *        Si le secteur précédent est illisible, on passe au traitement de l’entité de grande taille suivante.
  
-- Le quatrième passage appelé grattage (Scraping)  lit **chaque secteur**  non encore dupliqué :+- Le quatrième passage appelé grattage (Scraping) lit **chaque secteur** non encore dupliqué :
   *       Si le secteur est lisible, il est dupliqué et le secteur suivant est lu.   *       Si le secteur est lisible, il est dupliqué et le secteur suivant est lu.
-  *       Si le secteur est  illisible, il est marqué défectueux et le  secteur suivant est lu. +  *       Si le secteur est illisible, il est marqué défectueux et le secteur suivant est lu. 
-  *       Lorsque le dernier secteur est traité, l’opération est terminée.+  *       Lorsque le dernier secteur est traité l’opération est terminée.
  
-- Cependant, un secteur considéré comme défectueux peut quelquefois être relu. Il est donc possible (souhaitable?) de redemander un certain nombre de fois l’exécution du quatrième passage. +- Cependant un secteur considéré comme défectueux peut quelquefois être relu. Il est donc possible (souhaitable ?) de redemander un certain nombre de fois l’exécution du quatrième passage. 
-Lorsque le dernier secteur est  traité, l’opération de grattage continue en commençant par la fin pour se terminer au début, elle repart du début jusqu’à ce que le nombre de passages prévus soit atteint. Cependant il est possible d’interrompre l’exécution à tout instant si le taux de récupération est jugé insuffisant en appuyant sur les touches **Crtl C**.+Lorsque le dernier secteur est traité, l’opération de grattage continue en commençant par la fin pour se terminer au début, elle repart du début jusqu’à ce que le nombre de passages prévus soit atteint. Cependant il est possible d’interrompre l’exécution à tout instant si le taux de récupération est jugé insuffisant en appuyant sur les touches **Ctrl + C**.
 =====Utilisation===== =====Utilisation=====
 Si le disque usagé est un disque assez classique, il peut être équipé de pas mal de partitions **dont une seule contient les données de l'utilisateur.** Si le disque usagé est un disque assez classique, il peut être équipé de pas mal de partitions **dont une seule contient les données de l'utilisateur.**
 Dans un tel contexte, il ne faut dupliquer que cette partition. Dans l'ensemble cette partition est "moins abimée" que les partitions contenant les O.S.  Il est alors inutile de vouloir dupliquer le disque entier. Dans un tel contexte, il ne faut dupliquer que cette partition. Dans l'ensemble cette partition est "moins abimée" que les partitions contenant les O.S.  Il est alors inutile de vouloir dupliquer le disque entier.
 +
 +Si le disque usagé contient une partition NTFS, il ne faut pas utiliser une sortie image mais une sortie disque ou partition afin que l’utilitaire de réparation windows ( chkdsk ) puisse fonctionner.
  
 ====Fonctionnement de base==== ====Fonctionnement de base====
 L'application est lancée depuis une [[console]] ou un [[terminal]] : L'application est lancée depuis une [[console]] ou un [[terminal]] :
-<code bash>sudo ddrescue <nom_fichier_source> <nom_fichier_cible>.img <nom_fichier_journal></code>+<code>sudo ddrescue <source> <cible> <journal></code>
      
-Avec:\\ +Avec :\\ 
-''<nom_fichier_source>'' = le nom du fichier ou du périphérique à tenter de sauver, par exemple machin.ext, /media/disk, /dev/sda, etc. (Pour un CD ou un DVD, rentrer le chemin du périphérique, par exemple /dev/dvd ). N'essayez pas de monter le disque endommagé ! Pour connaître le nom du périphérique, vous pouvez utiliser la commande ''dmesg | tail'' lorsque vous le branchez. \\  +''<source>'' : chemin du fichier ou périphérique à tenter de sauver, par exemple machin.ext, /media/disk, /dev/sda, etc. Pour un CD/DVD, rentrer le chemin du périphérique (ex : /dev/dvd). N'essayez pas de monter le disque endommagé ! \\  
-''<nom_fichier_cible>'' = le nom du fichier où sauver le résultat. Si le nom du fichier n'est pas spécifié et que le fichier cible est simplement un disque dur ou une partition, le contenu sera écrasé par la sauvegarde.  \\ +''<cible>'' : chemin du fichier où sauver le résultat suivi de ".img". S'il n'est pas spécifié et que la cible est un disque dur ou une partition, le contenu sera écrasé par la sauvegarde.  \\ 
-''<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.+''<journal>'' : chemin du fichier de log gardant la mémoire de la liste des secteurs récupérés et de ceux à relire. Il est vivement conseillé de l'utiliser, soit pour pouvoir interrompre puis reprendre une récupération sans recommencer depuis le début, soit pour l'exploiter ultérieurement et analyser l'état matériel du disque. Attention, il peut atteindre une taille conséquente pour la récupération d'un support très endommagé. \\
  
-Pour obtenir une liste exhaustive des fonctions du logiciel, se reporter au site officiel ou à sa documentation: +===Trouver le chemin d'une partition=== 
-<code bash> man ddrescue</code> +Pour récupérer le chemin complet vers les partitions d'un disque, utiliser ''lsblk -p'' quand le disque est débranché, le brancher et recommencer : elles vont apparaître (ex : /dev/sdd1). \\
-ou encore +
-<code bash>info ddrescue</code>+
  
-   +**Attention** : les chemins doivent respecter les majuscules / minuscules et sont à écrire entre simples quotes ' ' s'il y a des espaces dans les noms de fichiers. Vous aurez sinon l'erreur "Too many files", ddrescue considérant qu'il y a une variable en plus à cause de l'espace, ceux-ci servant à délimiter les variables dans les commandes de la console. Privilégier des noms de fichiers courts en minuscules et sans espaces sous Linux. 
- ====Utiliser un fichier log====+
  
-Il est vivement conseillé d'utiliser un fichier de log, soit pour pouvoir l'exploiter ultérieurement et analyser l'état matériel du disque, soit pour pouvoir interrompre puis reprendre une récupération. +===Trouver le chemin d'un fichier/dossier===
-<code bash>sudo ddrescue <nom_fichier_source> <nom_fichier_cible>.img <chemin_fichier_log></code> +
-   +
- Avec:\\ +
-<chemin_fichier_log> = chemin absolu ou relatif vers l'endroit où vous désirez enregistrer le log. Attention, il peut atteindre une taille conséquente pour une récup d'un support très endommagé.+
  
-(on peut avoir un exemple? Pour les novices c'est très abstrait)+Pour récupérer le chemin complet vers un fichier ou dossier, utiliser ''realpath <nom>''. \\ 
 +Si mon fichier s'appelle 'mapfile.log', ''realpath mapfile.log'' retourne ''/home/mapfile.log''. \\ 
 +Si mon dossier s'appelle 'Documents', ''realpath Documents'' retourne ''/home/user/Documents''. \\ 
 + 
 +**Attention** : ne pas l'utiliser pour trouver l'emplacement d'une partition, car cela indiquera l'emplacement où elle est montée, et non le chemin vers la partition elle-même.  
 + 
 +===Exemples=== 
 +1. Si la partition à récupérer est ''/dev/sdc1'' et la cible un fichier ''sauv.img'' situé dans le dossier ''/home'' du PC, avec un log ''mapfile.log'' : \\ 
 + 
 +<code>sudo ddrescue '/dev/sdc1' '/home/sauv.img' '/home/mapfile.log'</code> 
 + 
 +2. Si la partition à récupérer est ''/dev/sdc1'' et la cible un fichier ''sauv.img'' situé sur la partition ''/dev/sdd1'' d'une clé USB ou d'un disque sain, avec un log ''mapfile.log'' : \\ 
 + 
 +<code>sudo ddrescue '/dev/sdc1' '/dev/sdd1/sauv.img' '/dev/sdd1/mapfile.log'</code> 
 + 
 +3. Si la partition à récupérer est ''/dev/sdc1'' et la cible la partition ''/dev/sdd1'' d'une clé USB ou d'un disque sain **qui va être écrasée**, avec un log ''mapfile.log'' sauvé dans le dossier ''/home'' du PC : \\ 
 + 
 +<code>sudo ddrescue '/dev/sdc1' '/dev/sdd1' '/home/mapfile.log'</code> 
 + 
 +Pour obtenir une liste exhaustive des fonctions du logiciel, se reporter au [[https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html|site officiel]] ou à sa documentation : ''man ddrescue'' ou ''info ddrescue''. \\
  
 ====Support endommagé==== ====Support endommagé====
Ligne 128: Ligne 140:
  
 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 172: Ligne 177:
 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 180: Ligne 185:
 === 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é ==
 <code bash>sudo mount /dev/sde1 /media/ubuntu <code bash>sudo mount /dev/sde1 /media/ubuntu
-sudo mkdir /home/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 193: Ligne 198:
 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 213: Ligne 218:
 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 223: Ligne 228:
 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 253: Ligne 257:
 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 262: Ligne 266:
 ==== 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 278: Ligne 282:
 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 sortie. Une 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ée. C'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 298: Ligne 306:
 <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>ddrescuelog -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 =====
  
Ligne 310: Ligne 323:
   * [[mount]] et [[umount]] pour accéder au contenu des partitions ;   * [[mount]] et [[umount]] pour accéder au contenu des partitions ;
   * [[convmv]] pour convertir les noms de fichiers en UTF8 ;   * [[convmv]] pour convertir les noms de fichiers en UTF8 ;
 +  * Si partition NTFS, la duplication est possible en ignorant les secteurs illisibles. [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22519703#p22519703|Exemple.]] <code bash> ntfsclone -f --rescue  --overwrite '/dev/sda1'  '/dev/sdd1' </code>
 =====Restaurer une sauvegarde d'un disque==== =====Restaurer une sauvegarde d'un disque====
 Pour restaurer une sauvegarde effectuée par ddrescue, soit vous utilisez la commande [[dd]] soit cette commande ddrescue: Pour restaurer une sauvegarde effectuée par ddrescue, soit vous utilisez la commande [[dd]] soit cette commande ddrescue:
-<code bash>sudo ddrescue -f <nom_de_votre_fichier_de_sauv>.img /dev/sdx restore.logfile</code>+<code bash>sudo ddrescue -f <chemin_fichier_sauve>.img /dev/sdx restore.logfile</code>
 modifier sdx par le disque sur lequel vous souhaitez restaurer l'image de sauvegarde. modifier sdx par le disque sur lequel vous souhaitez restaurer l'image de sauvegarde.
  
Ligne 322: Ligne 336:
  
   * [[probleme_de_disque|Problème de disque ou partition]]   * [[probleme_de_disque|Problème de disque ou partition]]
-  * [[http://forum.ubuntu-fr.org/viewtopic.php?id=92840&p=1|Discussion « Bilan : comment récupérer des données perdues » sur le forum Ubuntu-fr]], très utile pour la récupération de données sur un disque dur endommagé +  * [[https://forum.ubuntu-fr.org/viewtopic.php?id=92840&p=1|Discussion « Bilan : comment récupérer des données perdues » sur le forum Ubuntu-fr]], très utile pour la récupération de données sur un disque dur endommagé 
-  * [[http://forum.ubuntu-fr.org/viewtopic.php?id=447877|Discussion « Topic unique récupération de données » sur le forum Ubuntu-fr]], à consulter pour y soumettre votre cas et trouver de l'aide +  * [[https://forum.ubuntu-fr.org/viewtopic.php?id=447877|Discussion « Topic unique récupération de données » sur le forum Ubuntu-fr]], à consulter pour y soumettre votre cas et trouver de l'aide 
-  * [[http://linuxfr.org/news/ddrescue-dd_rescue-myrescue-recuperer-ses-donnees-apres-un-crash-disque]], autre cas, plus récent, de récupération de données+  * [[https://linuxfr.org/news/ddrescue-dd_rescue-myrescue-recuperer-ses-donnees-apres-un-crash-disque]], autre cas, plus récent, de récupération de données
   * **(en)** [[http://www.gnu.org/software/ddrescue/ddrescue.html|page officielle de GNU ddrescue]]   * **(en)** [[http://www.gnu.org/software/ddrescue/ddrescue.html|page officielle de GNU ddrescue]]
   * **(en)** [[http://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html|Aide en ligne de GNU ddrescue]]   * **(en)** [[http://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html|Aide en ligne de GNU ddrescue]]