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édentes Révision précédente
Prochaine révision
Révision précédente
ddrescue [Le 29/12/2018, 19:06]
208.114.128.79 [ddrescue par des exemples]
ddrescue [Le 18/06/2019, 14:20] (Version actuelle)
88.182.40.86 [ddrescue par des exemples] Une bonne astuce.
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 ====
Ligne 141: Ligne 147:
  
 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.
 +
 +<note important>​Une bonne astuce est de commencer à écrire des zéros dans l'​espace destiné à recevoir la récupération. Cela permet de vérifier immmédiatement que la zone de sortie ​ est saine. Cela évite d'​avoir à dérouler la procédure de mise à zéro  des zones qui n'ont pas pu être copiées.
 +La commande sera du style    <​code>​sudo ​ dd  if=/​dev/​zero ​ of=/​dev/​Le_support_de_sortie bs=64k status=progress</​code>​ </​note>​
 + 
 +
 +
 === 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 168:
   - 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 180:
       - 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 186:
 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. ====
  • ddrescue.1546106790.txt.gz
  • Dernière modification: Le 29/12/2018, 19:06
  • par 208.114.128.79