- Bonjour
Rmy, tes tests sont impressionnants ! Merci pour ces infos live !
- Il existe une excellente présentation de
ddrescue ici par
Romsk (je ne sais si tu peux y trouver des compléments) :
http://forum.pcastuces.com/sujet.asp?f=1&s=120710&page=1
- Le même
Romsk a également réalisé un tuto sur
Testdisk :
http://forum.pcastuces.com/sujet.asp?f=01&s=102819
- Et un cours sur
MBR, EBR, boot, FAT à donner la migraine :
http://forum.pcastuces.com/sujet.asp?f=01&s=108547
rmy a écritdd_rescue est encore une autre variante (personnellement je ne fais pas bien la différence avec ddrescue)
- En fait ddrescue est le successeur de dd_rescue ; historique là :
http://www.serverwatch.com/tutorials/article.php/3689006
http://www.gnu.org/software/ddrescue/ddrescue.html
http://savannah.gnu.org/projects/ddrescue/
ftp://ftp.cs.univ-paris8.fr/mirrors/ftp.gnu.org/gnu/ddrescue
Ne pas confondre GNU ddrescue d'Antonio Diaz et dd_rescue (avec underscore !) de Kurt Garloff.
Quand un disque présente des erreurs d'accès, devient bruyant et émet un cliquetis, c'est qu'il est détérioré et qu'il est urgent de sauvegarder son contenu.
Existe alors deux risques :
- d'une part, qu'il s'altère d'autant plus qu'il tourne, ce qui nécessite d'intervenir dessus à partir d'un système d'exploitation situé ailleurs que sur le disque lui-même (et d'autant plus que si certains fichiers système sont situés sur des blocs défectueux le système pourrait ne pas fonctionner correctement) et,
- d'autre part, qu'il cesse de fonctionner à tout instant, ce qui conduit à ce que la sauvegarde soit la plus brève possible.
Les live-CD Linux détachent le système d'exploitation du disque dur ce qui permet de réaliser toutes les opérations de maintenance imaginables. De son côté le programme ddrescue effectue une sauvegarde de partition rapidement (moins de 30 minutes pour un disque récent de 80 Go) sans avoir besoin du coûteux Ghost.
Le programme
dd permet de faire des copies de partition par blocks (et non par fichiers) mais s'arrête s'il rencontre un block défectueux ; il ne peut donc être utilisé pour copier un disque lésé.
Dans cette optique, Kurt Garloff créa
dd_rescue qui saute au block suivant s'il en rencontre un altéré.
Cependant les zones abimées rassemblent souvent toute une série de blocks que dd_rescue essaie de lire l'un après l'autre ce qui entraîne une perte de temps importante et regrettable.
dd_rhelp a donc été écrit pour piloter dd_rescue de telle sorte qu'il saute tout un groupe de blocks et revienne en marche arrière jusqu'à rencontrer à nouveau un block défectueux puis reparte en marche avant de l'endroit où il avait sauté. Ainsi, dans cette première passe un maximum de blocks sains sont récupérés. Dans une deuxième passe, dd_rhelp va explorer les trous de la première passe afin d'y rechercher des blocks intacts isolés.
dd_rhelp est un script bash accouplé à dd_rescue programme compilé en C. Antonio Diaz a rassemblé l'ensemble des fonctionnalités dans un seul programme en C :
GNU ddrescue (sans underscore !) dont l'usage est recommandé par le créateur de dd_rhelp («
Antonio Diaz did write an ideal replacement for my tool : GNU ddrescue. I really encourage you to use this replacement tool »).
La partition receveuse devra être d'une taille au moins égale à la partition à cloner. À noter que le système FAT32 ne peut accueillir de fichiers > 4 Go (2 To pour ext3 ou ntfs) (important si la sauvegarde est faite sous forme d'un fichier image).
**********************
* ddrescue commandes *
**********************
Résumé
******
ddrescue -B -v -n /dev/sda1 /mnt/sda3/image_sda1.img /mnt/sda3/recup_sda1.log
Si erreurs :
ddrescue -B -v -c 16 -r 2 /dev/sda1 /mnt/sda3/image_sda1.img /mnt/sda3/recup_sda1.log
ntfsfix /mnt/sda3/image_sda1.img
mount -t ntfs -o loop /mnt/sda3/image_sda1.img /mnt/recup/
ddrescue
********
root@slaxlfi:~# ddrescue -B -v -n /dev/sda1 /mnt/sda3/image_sda1.ima /mnt/sda3/recup_sda1.log
About to copy 20001 MiBytes from /dev/sda1 to /mnt/sda3/image_sda1.ima
Starting positions: infile = 0 B, outfile = 0 B
Copy block size: 128 hard blocks
Hard block size: 512 bytes
Max_retries: 0 Split: no Truncate: no
Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued: 0 B, errsize: 0 B, errors: 0
Current status
rescued: 20001 MiB, errsize: 0 B, current rate: 59392 KiB/s
ipos: 20000 MiB, errors: 0, average rate: 21069 KiB/s
opos: 20000 MiB
ntfsfix /mnt/sda3/image_sda1.img
********************************
root@slaxlfi:~# ntfsfix /mnt/sda3/image_sda1.img
Refusing to operate on read-write mounted device /mnt/sda3/image_sda1.img.
root@slaxlfi:~# umount /mnt/recup
root@slaxlfi:~# ntfsfix /mnt/sda3/image_sda1.img
Mounting volume... OK
Processing of $MFT and $MFTMirr completed successfully.
NTFS volume version is 3.1.
Setting required flags on partition... OK
Going to empty the journal ($LogFile)... OK
NTFS partition /mnt/sda3/image_sda1.img was processed successfully.
mount
*****
root@slaxlfi:~# mount -t ntfs -o loop /mnt/sda3/image_sda1.img /mnt/recup/
root@slaxlfi:~#