Tutoriel Ddrescue : Comment utiliser GNU Ddrescue pour récupérer des données sur Ubuntu

Découvrez comment utiliser GNU Ddrescue pour récupérer des données perdues ou supprimées sur Ubuntu. Ce tutoriel complet couvre tout, de l'installation à l'utilisation avancée, et présente sa meilleure alternative.

Téléchargement gratuit Téléchargement gratuit Plus de fonctionnalités > Plus de fonctionnalités >
100% sécurité pour le téléchargement gratuit

Sous Linux, GNU ddrescue est un outil qui peut être utilisé pour réparer et copier des disques. Il est applicable aux clés USB, aux DVD, aux disques durs, aux partitions et à tout autre support de stockage. En reproduisant les données par morceaux, il assure la récupération des données. Vous trouverez ici un tutoriel sur l'installation et l'utilisation de GNU Ddrescue pour récupérer des données sur Ubuntu.

Partie 1. Qu'est-ce que GNU Ddrescue ?

GNU ddrescue est un outil de récupération de données pour les disques durs, les DVD, les CD et autres supports de stockage numériques. Cette fonction permet de copier des blocs de stockage bruts, tels que des secteurs de disque, d'un périphérique ou d'un fichier à un autre, tout en gérant intelligemment les erreurs de lecture afin de réduire la perte de données en supprimant les bons secteurs des blocs partiellement lus.

gnu ddrescue pour ubuntu

Les opérations de base de Ddrescue sont entièrement automatisées. Vous ne devez pas attendre une erreur, arrêter le programme, le redémarrer à partir d'une position différente, etc. Les données sont récupérées lorsque vous utilisez la fonction "map file" de Ddrescue (seuls les blocs nécessaires sont lus). Ddrescue n'écrit pas de zéros en sortie et ne tronque pas le fichier de sortie à moins qu'on ne le lui demande, lorsqu'il reconnaît des secteurs défectueux en entrée. Chaque fois que vous l'exécutez sur le même fichier de sortie, il tente de combler les lacunes sans effacer les données précédemment sauvegardées.

Si vous disposez de deux ou plusieurs copies endommagées d'un fichier, d'un cdrom, etc., et que vous exécutez Ddrescue sur chacune d'entre elles, individuellement, avec le même fichier de sortie, vous devriez obtenir un fichier complet et exempt d'erreurs. C'est parce que la probabilité que la même zone soit endommagée dans toutes les copies est faible (si les erreurs sont localisées de manière aléatoire).

Caractéristiques

  • Ddrescue fonctionne uniquement sur des fichiers d'entrée et de sortie qui peuvent être recherchés (accès aléatoire), car il doit lire et écrire à des endroits aléatoires.
  • Ddrescue peut lire le fichier d'entrée directement à partir du disque, sans passer par le cache du noyau.
  • La version de Ddrescue comprend également un "mode de remplissage" qui vous permet d'écraser sélectivement des parties du fichier de sortie, ce qui peut être utile pour effacer des données, marquer des zones défectueuses ou même "réparer" des secteurs endommagés dans certains cas.
  • Parmi les points forts de Ddrescue, on peut citer le fait qu'il est indépendant de l'interface, de sorte qu'il peut être utilisé avec n'importe quel périphérique pris en charge par votre noyau (ATA, SATA, SCSI, anciens lecteurs MFM, disquettes, ou même cartes à mémoire flash comme SD).

Télécharger les options

GNU Ddrescue fonctionne dans les systèmes d'exploitation de type Unix, et voici les années et les versions de GNU ddrescue lorsqu'il a été publié.

  • 2014: GPL-2.0-or-later
  • 2007: GPL-3.0-or-later
  • 2004: GPL-2.0-or-later

Histoire de GNU Ddrescue

GNU ddrescue est un logiciel libre développé dans le langage de programmation C++ qui a été publié pour la première fois le 12 août 2004 (il y a 18 ans). En outre, il est disponible sous forme de composant binaire dans la plupart des distributions Linux.

Partie 2. Conseils pour utiliser Ddrescue en toute sécurité

  • GNU Ddrescue est un outil puissant, identique à tous les autres. Vous devez d'abord comprendre ce qu'il fait, puis obtenir des informations sur les appareils auxquels il s'adresse pour l'utiliser en toute sécurité.
  • Ne jamais tenter de récupérer une partition montée en mode r/w. Le texte obtenu devra peut-être être plus efficace. De préférence, la partition à sauver n'est pas montée, même si elle est en lecture seule.
  • NE PAS réparez un système de fichiers sur un lecteur présentant des erreurs d'E/S ; vous perdrez presque certainement plus de données.
  • Si vous utilisez un périphérique ou une partition comme destination, toutes les données qui y sont stockées seront écrasées.
  • Certains systèmes peuvent changer le nom des appareils au redémarrage. Vérifiez les noms des périphériques avant de redémarrer Ddrescue si vous redémarrez.
  • Si vous interrompez le sauvetage puis redémarrez, les partitions partiellement copiées devraient être cachées avant que tout système d'exploitation essayant de monter et de "réparer" les partitions qu'il voit ne puisse les toucher.

Partie 3. Comment installer Ddrescue sur Ubuntu

Vous devez d'abord installer Ddrescue sur votre système. En général, cet outil n'est pas installé par défaut, mais il est facile de l'installer à partir des répertoires de logiciels en ligne de votre distribution.

Exécutez la commande suivante pour installer ddrescue avec le gestionnaire de paquets de votre système. Voici les étapes à suivre pour l'installer sur toutes les principales distributions Linux :

  • Pour installer ddrescue sur Ubuntu, Debian ou Linux Mint.

sudo apt install gddrescue

  • Pour installer ddrescue sur Fedora, CentOS, AlmaLinux, et Red Hat.. :

sudo dnf install ddrescue

  • Pour installer ddrescue sur Arch Linux et Manjaro.

$ sudo pacman -S ddrescue

Partie 4. Mini tutoriel Ddrescue avec exemples

Les personnes qui connaissent déjà la commande dd sont invitées à suivre ce tutoriel. Les utilisateurs qui ne connaissent pas dd devraient d'abord chercher sur Internet des documents d'introduction à dd et à GNU Ddrescue.

Avec le temps, un disque défaillant développe de plus en plus d'erreurs. Par conséquent, vous devez sauvegarder les données d'un lecteur dès que vous voyez la première erreur. Faites attention, car à chaque fois qu'un disque endommagé est mis sous tension, il peut émettre des données.

Le mieux serait d'utiliser Ddrescue pour faire une copie du disque défaillant, puis d'essayer de réparer la copie. Si vos données sont importantes, utilisez la première copie comme maître pour une deuxième copie et essayez de réparer cette dernière. Si quelque chose ne va pas, vous pouvez toujours compter sur le maître.

Pour récupérer une partition entière, réparez d'abord la copie avec e2fsck ou un autre outil adapté au type de partition à récupérer, puis montez la copie réparée quelque part et tentez de récupérer les fichiers qu'elle contient.

En cas d'endommagement de la table de partition, sauvegardez l'ensemble du disque avant de réparer la table de partition et les partitions de la copie. Et si le disque endommagé n'est pas répertorié dans /dev, il ne peut pas être récupéré. En tout cas, pas avec ddrescue.

Exemple 1 : Sauvetage entièrement automatique d'un disque entier avec deux partitions ext2 dans /dev/sda vers /dev/sdb. Vous n'êtes pas obligé de partitionner /dev/sdb au préalable, mais si la table de partition sur /dev/sda est endommagée, vous devez la recréer sur /dev/sdb.

ddrescue -f -r3 /dev/sda /dev/sdb mapfile
fdisk /dev/sdb
e2fsck -v -f /dev/sdb1
e2fsck -v -f /dev/sdb2

Exemple 2 : Déplacer une partition ext2 de /dev/sda2 vers /dev/sdb2. Au préalable, vous devez utiliser fdisk pour créer la partition sdb2 avec le type et la taille appropriés.

ddrescue -f -n /dev/sda2 /dev/sdb2 mapfile
ddrescue -d -f -r3 /dev/sda2 /dev/sdb2 mapfile
e2fsck -v -f /dev/sdb2
mount -t ext2 -o ro /dev/sdb2 /mnt(read rescued files from /mnt)

Exemple 3 : En essayant de sauver l'intégralité du disque /dev/sda vers /dev/sdb, /dev/sda se bloque à la position 12345678.

ddrescue -f /dev/sda /dev/sdb mapfile # /dev/sda se bloque ici
(redémarrer /dev/sda ou redémarrer l'ordinateur)
(redémarrer la copie à une distance sûre du secteur en difficulté)
ddrescue -f -i 12350000 /dev/sda /dev/sdb mapfile
(puis copier à l'envers jusqu'au secteur en difficulté)
ddrescue -f -R /dev/sda /dev/sdb mapfile

Exemple 4 : Lors du transfert de données de /dev/sda vers /dev/sdb, /dev/sdb tombe en panne et vous devez transférer les données vers un troisième lecteur, /dev/sdc.

ddrescue -f -n /dev/sda /dev/sdb mapfile1 # /dev/sdb échoue ici
drescue -f -m mapfile1 /dev/sdb /dev/sdc mapfile2
ddrescue -f -n /dev/sda /dev/sdc mapfile2
ddrescue -d -f -r3 /dev/sda /dev/sdc mapfile2

Exemple 5 : Pendant le sauvetage d'une partition dans /dev/sda1 vers le fichier hdimage, /dev/sda1 cesse de répondre et commence à répondre aux erreurs de lecture, autorisant ddrescue à enregistrer le reste de la partition comme n'ayant pas été sauvée.

ddrescue -n /dev/sda1 hdimage mapfile # /dev/sda1 échoue ici
(redémarrez /dev/sda ou l'ordinateur)
ddrescue -n -A -i<pos> -O /dev/sda1 hdimage mapfile
(si /dev/sda1 échoue à nouveau, redémarrez /dev/sda ou l'ordinateur,
puis répétez la commande ci-dessus autant de fois que nécessaire jusqu'à ce qu'elle
réussisse. <pos> est la position où le lecteur a cessé de répondre)
ddrescue -d -r3 /dev/sda1 hdimage mapfile

Exemple 6 : Après avoir sauvé une partition de /dev/sda1 dans le fichier hdimage, sda1 disparaît de /dev.

ddrescue -n /dev/sda1 hdimage mapfile # /dev/sda1 échoue ici
(redémarrer /dev/sda ou redémarrer l'ordinateur et répéter la
commande ci-dessus autant de fois que nécessaire jusqu'à ce qu'elle réussisse)
ddrescue -d -r3 /dev/sda1 hdimage mapfile

Exemple 7 : Pendant la sauvegarde d'une partition de /dev/sda1 vers le fichier hdimage, la table de partition de /dev/sda devient illisible, et le système d'exploitation ne reconnaît plus sda1 dans /dev. Il faut déplacer le fichier map et lire la partition restante sda1 à partir de /dev/sda. Vous devez connaître le décalage de la partition sda1 dans le lecteur sda et la taille de sda1.

ddrescue /dev/sda1 hdimage mapfile # partition table fails here
ddrescuelog --shift -o<offset> mapfile > shifted_mapfile
ddrescue -i<offset> -o0 -s<size> /dev/sda hdimage shifted_mapfile

Exemple 8 : une fois qu'une partition de /dev/sda1 a été enregistrée dans le fichier hdimage, étendre hdimage pour copier l'ensemble du disque dans /dev/sda sans recopier la partition /dev/sda1 précédemment copiée. Pour ce faire, il faut renommer le fichier map, copier les données de sda1 vers leur emplacement final dans hdimage, puis lire les données restantes sur /dev/sda. Pour cela, vous devez connaître l'offset de la partition sda1 dans le lecteur sda et la taille de sda1.

ddrescue /dev/sda1 hdimage mapfile # rescue partition
ddrescuelog --shift -o<offset> mapfile > shifted_mapfile
ddrescue --same-file -o<offset> -s<size> --reverse hdimage hdimage
ddrescue /dev/sda hdimage shifted_mapfile # rescue reste de conduite

Partie 5. Utiliser Ddrescue pour récupérer des données sur Ubuntu - Guide complet

Etape 1. Lancez un terminal de ligne de commande et identifiez le chemin d'accès au disque dur ou à la partition que vous souhaitez cloner. Des outils tels que lsblk, fdisk, etc. permettent d'effectuer cette opération.

$ lsblk

Etape 2. Les données de la partition seront ensuite copiées dans un fichier image à l'aide de la commande syntaxique suivante. Dans l'exemple ci-dessous, nous utilisons /dev/sdX, mais vous pouvez facilement le remplacer par votre partition ou votre périphérique. Les données seront sauvegardées dans un fichier backup.img.

$ sudo ddrescue -d /dev/sdX backup.img backup.logfile

Note : L'option -d demande à ddrescue de contourner le cache du noyau et d'accéder directement au disque.

Etape 3. Pour récupérer les données d'un disque endommagé, ajoutez l'option -r après la première tentative décrite ci-dessus. Cela permet à ddrescue de réessayer les secteurs défectueux afin de récupérer autant de données que possible. Vous pouvez spécifier le nombre de tentatives après l'option.

$ sudo ddrescue -d -r3 /dev/sdX backup.img backup.logfile

Etape 4. Le nouveau fichier image est alors copié sur un autre disque ou une autre partition. Pour cela, nous pouvons utiliser la commande dd.

$ sudo dd if=backup.img of=/dev/sdX

Sinon, utilisez la commande ddrescue.

$ sudo ddrescue -f backup.img /dev/sdX clone.logfile

L'option -f indique que notre résultat est envoyé à un périphérique bloc plutôt qu'à un fichier.

Etape 5. Si vous souhaitez cloner un disque ou une partition directement sur un autre sans utiliser de fichier image, utilisez la syntaxe suivante. Dans cet exemple, nous clonons la partition /dev/sdX1 vers /dev/sdX2.

$ sudo ddrescue -d -f /dev/sdX1 /dev/sdX2 clone.logfile

Une fois les étapes précédentes terminées, vous devriez pouvoir accéder au stockage cloné et voir tous vos fichiers tels que ddrescue les a récupérés avec succès.

Partie 6. Suppression/désinstallation de Ddresuce dans Ubuntu

La récupération de vos données sur Ubuntu à l'aide de Ddrescue est suivie d'une désinstallation pour libérer de l'espace. Ci-dessous, vous trouverez la marche à suivre pour désinstaller ddrescue d'Ubuntu 12.04 LTS. Vous pouvez facilement désinstaller ce paquet du système d'exploitation Linux à l'aide de la commande apt.

Etape 1. La commande suivante est exécutée pour supprimer ddrescue :

sudo apt-get supprimer ddrescue

Etape 2. Il faut utiliser la commande suivante pour supprimer le paquet ddrescue et ses dépendances :

sudo apt-get remove --auto-remove ddrescue

En exécutant cette commande, vous désinstallez ddrescue et toutes ses dépendances, qui ne sont plus nécessaires au système.

Supprimer complètement ddrescue et tous les fichiers de configuration :

Etape 3. La commande suivante doit être utilisée avec précaution car elle supprime tous les fichiers de configuration et toutes les données :

sudo apt-get purge ddrescue

Etape 4. Vous pouvez également exécuter cette commande pour supprimer tous les fichiers de configuration et les données associés au paquet ddrescue. Il est impossible de récupérer les données supprimées, c'est pourquoi il convient d'utiliser cette commande avec prudence.

sudo apt-get purge --auto-remove ddrescue

Partie 7. [Facultatif] Installation de Recoverit - Un outil GUI pour la récupération de données sous Linux

Pour les utilisateurs peu familiarisés avec la ligne de commande, l'utilisation de GNU ddrescue pour Linux peut s'avérer un peu compliquée. Heureusement, il existe une excellente alternative : Wondershare Recoverit Linux Data Recovery. Cette solution de récupération de données pour les systèmes d'exploitation Linux est dotée d'une interface graphique. Il vous permet de récupérer en quelques clics les fichiers supprimés ou perdus sur les appareils Linux.

Wondershare Recoverit - Votre logiciel de récupération Linux sûr et fiable

5 481 435 personnes l'ont téléchargé.

Il récupère les documents, les photos, les vidéos, la musique, les courriels et plus de 1000 types de fichiers perdus ou supprimés, de manière efficace, sûre et complète.

Compatible avec toutes les distributions Linux courantes, y compris Ubuntu, Linux Mint, Debian, Fedora, Solus, Opensuse, Manjaro, etc.

Permet de répondre à plus de 500 scénarios de perte de données, tels que la suppression, le formatage de disque, le crash du système d'exploitation, la panne de courant, l'attaque de virus, la perte de partition, et bien d'autres encore.

Grâce à l'interface simple de type pointer-cliquer, vous pouvez récupérer les données des disques durs Linux en quelques clics seulement.

Fonctionne via une connexion à distance. Il est possible de récupérer les données perdues même lorsque votre appareil Linux est bloqué.

Pour récupérer vos données, voici un guide pas à pas de Wondershare Recoverit Linux Recovery, qui vous permettra de récupérer vos fichiers importants le plus rapidement possible.

Etape 1. Sélectionnez la récupération Linux

Après l'avoir téléchargé, installez Wondershare Recoverit. Puis, ouvrez-le et sélectionnez NAS et Linux comme première option, suivie de Récupération Linux.

sélection de la récupération sous linux

Etape 2. Connectez-vous à distance à un dispositif Linux

Compléter les champs nécessaires à l'établissement d'une connexion à distance. Lorsque vous avez terminé, appuyez sur le bouton Connecter. Recoverit lance ensuite une recherche automatique des fichiers manquants.

se connecter à distance avec recoverit

Etape 3. Récupération de fichiers et sauvegarde de données

La durée du processus de numérisation est déterminée par la quantité de données numérisées et est indiquée dans la barre inférieure. Si vous trouvez le fichier que vous souhaitez récupérer, vous pouvez arrêter la recherche.

analyse automatique des données

Suite à l'analyse, vous pouvez examiner les fichiers pour vous assurer que les données que vous souhaitez récupérer s'y trouvent. Sélectionnez ensuite Récupérer.

Le processus de récupération des données

Suivant les instructions du logiciel, vous pouvez enregistrer les fichiers récupérés. Cliquez sur Récupérer pour obtenir les données restaurées. Merci de sélectionner un chemin d'accès différent de celui du dernier fichier perdu.

le processus d'enregistrement des données
Téléchargement gratuit

Pour Windows Vista/7/8/10/11

Téléchargement gratuit

Pour macOS X 10.10 - macOS 13

Récapitulation

Ce tutoriel présente le logiciel GNU ddrescue pour Linux. Vous apprendrez également à installer l'outil GNU ddrescue sur les principales distributions Linux et à l'utiliser pour la récupération. Par ailleurs, nous proposons également la meilleure alternative à GNU ddrescue, à savoir Wondershare Recoverit Linux Recovery, pour des opérations de récupération plus faciles et moins compliquées.