Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
ddrescue [Le 11/09/2022, 10:34] moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
ddrescue [Le 24/04/2025, 13:39] (Version actuelle) 185.39.141.13 [Principe de fonctionnement de ddrescue] |
||
---|---|---|---|
Ligne 32: | 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 66: | Ligne 64: | ||
- | 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.** | ||
Ligne 101: | Ligne 98: | ||
''<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. | ||
+ | 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. | 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. | ||
Ligne 130: | Ligne 128: | ||
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 === | ||
Ligne 225: | Ligne 216: | ||
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 282: | Ligne 272: | ||
**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 opos** Indique la position début dans le support entrée et le support sortie. Zéro 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. | ||
+ | |||
+ | **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. | ||
Ligne 300: | Ligne 294: | ||
<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 ===== | ||