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 03/10/2018, 18:43]
L'Africain ancienne révision (Le 23/09/2018, 20:18) restaurée
ddrescue [Le 29/03/2019, 20:09] (Version actuelle)
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 fonctionné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 fonctionnerIl 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. ====
  • ddrescue.1538585006.txt.gz
  • Dernière modification: Le 03/10/2018, 18:43
  • par L'Africain