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 Prochaine révision Les deux révisions suivantes | ||
ddrescue [Le 29/12/2018, 19:05] 208.114.128.79 [ddrescue par des exemples] |
ddrescue [Le 29/03/2019, 20:09] 37.165.202.83 [ddrescue par des exemples] |
||
---|---|---|---|
Ligne 78: | Ligne 78: | ||
=====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.** | ||
+ | Dans un tel contexte, il ne faut dupliquer que cette partition. Dans l'ensemble cette partition est "moins abîmée" que les partitions contenant les O.S. Il est alors inutile de vouloir dupliquer le disque entier. | ||
====Fonctionnement de base==== | ====Fonctionnement de base==== | ||
Ligne 136: | Ligne 138: | ||
Use sparse writes for **output file**. (The blocks of zeros are not actually allocated on disc). May save a lot of disc space in some cases. Not all systems support this. | Use sparse writes for **output file**. (The blocks of zeros are not actually allocated on disc). May save a lot of disc space in some cases. Not all systems support this. | ||
+ | === récupération d'un RAID1 === | ||
+ | Si votre [[tutoriel:raid1_logiciel_sur_installation_existante|RAID-1]] est devenu inutilisable car les deux disques sont en mauvais état, ddrescue est capable de récupérer les secteurs en bon état du premier disque et d'aller chercher les secteurs en mauvais état sur le second disque. | ||
+ | |||
+ | |||
==== ddrescue par des exemples ==== | ==== ddrescue par des exemples ==== | ||
Ce sous-chapitre est écrit par un 'débutant' de ddrescue le 31/12/2015. Merci à ceux qui connaissent bien l'outil de faire les corrections qu'ils jugeront nécessaire. | Ce sous-chapitre est écrit par un 'débutant' de ddrescue le 31/12/2015. Merci à ceux qui connaissent bien l'outil de faire les corrections qu'ils jugeront nécessaire. | ||
- | D'abord, il faut déterminer si la technique "sauvetage des partitions" est possible. Si oui, c'est la solution à privilégier car on peut fabriquer les partitions de duplication de taille identique sur d'autres supports avec l'application [[:gnome-disk-utility|Disques]] en fournissant la taille exacte de chaque partition en précisant que l'unité est le **Kio**. Cela sous-entend que la commande " **sudo fdisk -l** " a pu fonctionner. il suffit de diviser par deux, le nombre de secteurs indiqués. | + | D'abord, il faut déterminer si la technique "sauvetage des partitions" est possible. Si oui, c'est la solution à privilégier car on peut fabriquer les partitions de duplication de taille identique sur d'autres supports avec l'application [[:gnome-disk-utility|Disques]] en fournissant la taille exacte de chaque partition en précisant que l'unité est le **Kio**. Cela sous-entend que la commande " **sudo fdisk -l** " a pu fonctionner. Il suffit de diviser par deux, le nombre de secteurs indiqués. |
=== Sauvegarde du disque interne "sda" sur un disque externe "sde" avec une liveusb__PERSISTANTE__ === | === Sauvegarde du disque interne "sda" sur un disque externe "sde" avec une liveusb__PERSISTANTE__ === | ||
La taille du secteur est de 512 bytes. | La taille du secteur est de 512 bytes. | ||
Ligne 156: | Ligne 162: | ||
- ddrescuelog -l- -b512 /home/ubuntu/dd/suivi >/home/ubuntu/dd/badblocs | - ddrescuelog -l- -b512 /home/ubuntu/dd/suivi >/home/ubuntu/dd/badblocs | ||
- echo "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" >/home/ubuntu/dd/marque | - echo "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" >/home/ubuntu/dd/marque | ||
- | - sudo sed 's|^|sudo dd if=/home/ubuntu/dd/marque of=/dev/sde bs=512 count=1 seek=|' /home/ubuntu/dd/badblocs>/home/ubuntu/dd/ecrire | + | - sed 's|^|sudo dd if=/home/ubuntu/dd/marque of=/dev/sde bs=512 count=1 seek=|' /home/ubuntu/dd/badblocs>/home/ubuntu/dd/ecrire |
- pg /home/ubuntu/dd/ecrire | - pg /home/ubuntu/dd/ecrire | ||
- | - exécuter le contenu du fichier /home/ubuntu/dd/ecrire | + | - exécuter le contenu du fichier /home/ubuntu/dd/ecrire. Il est aussi possible de simplement y mettre des zéros avec cette commande: <code>ddrescue --fill-mode=- --force --synchronous /dev/zero /dev/sde /home/ubuntu/dd/suivi</code> |
+ | - exit | ||
=== 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. | ||
Ligne 167: | Ligne 174: | ||
- sudo mkdir /home/ubuntu/dd | - sudo mkdir /home/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 /dev/sde2 /media/ubuntu/dd/suivi6 | + | - sudo ddrescue -f -c1 -b4096 /dev/sda6 /media/ubuntu/dd/suivi6 |
== Faire la copie des secteurs endommagés == | == Faire la copie des secteurs endommagés == | ||
- sudo ddrescue -d -f -R -r27 -b4096 -c1 /dev/sda6 /dev/sde2 /media/ubuntu/dd/suivi6 | - sudo ddrescue -d -f -R -r27 -b4096 -c1 /dev/sda6 /dev/sde2 /media/ubuntu/dd/suivi6 | ||
Ligne 173: | Ligne 180: | ||
J'ai pensé à cette action afin de récupérer 'facilement' les fichiers qui sont en mauvais état suite à certains blocs manquants. C'est possible pas les outils de gestions des mauvais blocks ou la recherche dans les fichiers. | J'ai pensé à cette action afin de récupérer 'facilement' les fichiers qui sont en mauvais état suite à certains blocs manquants. C'est possible pas les outils de gestions des mauvais blocks ou la recherche dans les fichiers. | ||
- sudo -i | - sudo -i | ||
- | - ddrescuelog -l- -b4096 /media/ubuntu/dd/suivi >/media/ubuntu/dd/badblocs | + | - ddrescuelog -l- -b4096 /media/ubuntu/dd/suivi6 >/media/ubuntu/dd/badblocs |
- echo "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" >/media/ubuntu/dd/marque | - echo "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" >/media/ubuntu/dd/marque | ||
- | - sed 's|^|sudo dd if=/media/ubuntu/dd/marque of=/dev/sde bs=4096 count=1 seek=|' /media/ubuntu/dd/badblocs>/media/ubuntu/dd/ecrire | + | - sed 's|^|sudo dd if=/media/ubuntu/dd/marque of=/dev/sde2 bs=4096 count=1 seek=|' /media/ubuntu/dd/badblocs>/media/ubuntu/dd/ecrire |
- pg /media/ubuntu/dd/ecrire | - pg /media/ubuntu/dd/ecrire | ||
- | - exécuter le contenu du fichier /media/ubuntu/dd/ecrire | + | - exécuter le contenu du fichier /media/ubuntu/dd/ecrire. Il est aussi possible de simplement y mettre des zéros avec cette commande: <code>ddrescue --fill-mode=- --force --synchronous /dev/zero /dev/sde2 /media/ubuntu/dd/suivi6</code> |
+ | - exit | ||
- | == Copier dans un fichier. == | + | === Copier dans un fichier. === |
sudo ddrescue -b 512 --sparse --log-rates=/mnt/rescueRate.log /dev/disk/by-id/ata-MAXTOR_STM3160215A_9RA8V0BK-part1 /mnt/disk.img /mnt/rescue.map | sudo ddrescue -b 512 --sparse --log-rates=/mnt/rescueRate.log /dev/disk/by-id/ata-MAXTOR_STM3160215A_9RA8V0BK-part1 /mnt/disk.img /mnt/rescue.map | ||
+ | ===== Remarques concernant le forçage en écriture des secteurs qui n'ont pas pu être copiés. ===== | ||
+ | Ces secteurs du support de sortie contiennent donc des informations sans rapport avec le support d'entrée. | ||
+ | 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 une image, cela pourrait être visible avec une petite zone sans rapport avec le dessin. | ||
+ | |||
+ | Pour une musique, les experts pourraient entendre une fausse note. | ||
+ | |||
+ | Pour un document du style word, on pourra s'apercevoir que 512 octets ne sont pas dans la même langue ou qu'ils sont sans rapport avec l'histoire racontée. | ||
+ | |||
+ | Pour un document du style excel, 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. | ||
+ | __ | ||
+ | |||
+ | |||
+ | A titre d'exemple avec le visionneur d'images. Mettre 16 blocs à zéro à partir du bloc 100 provoque l'erreur suivante | ||
+ | //"Erreur fatale de lecture du fichier d'image XXXX.png IDAT.CRC error//". Mais en mettre seulement 8 permet l'ouverture du fichier avec seulement l'affichage du début. | ||
+ | |||
+ | Il est fort probable que chaque logiciel de lecture dispose de sa propre logique. | ||
+ | |||
+ | |||
==== Connaître les fichiers stockés dans une partition EXT4 impactés par les blocs défectueux. ==== | ==== Connaître les fichiers stockés dans une partition EXT4 impactés par les blocs défectueux. ==== |