| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| ddrescue [Le 11/09/2025, 13:22] – [Installation de ddrescue] iznobe | ddrescue [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 |
|---|
| 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. |
| 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é. \\ |
| |
| FIXME | ===Trouver le chemin d'une partition=== |
| 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 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). \\ |
| |
| Pour obtenir une liste exhaustive des fonctions du logiciel, se reporter au site officiel ou à sa documentation: | **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. |
| <code bash> man ddrescue</code> | |
| ou encore | |
| <code bash>info ddrescue</code> | |
| |
| | ===Trouver le chemin d'un fichier/dossier=== |
| ====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. | Pour récupérer le chemin complet vers un fichier ou dossier, utiliser ''realpath <nom>''. \\ |
| <code bash>sudo ddrescue <nom_fichier_source> <nom_fichier_cible>.img <chemin_fichier_log></code> | 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''. \\ |
| 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é. | **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> |
| |
| (on peut avoir un exemple? Pour les novices c'est très abstrait) | 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é==== |
| =====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. |
| |