Récupération de données

Un article de Gentoo Linux Wiki.

Cet article est une ébauche. Vous pouvez l'aider à s'enrichir en le complétant.

Sommaire

[modifier] Introduction

Cet article présente différentes solutions pour récupérer des données perdues.

[modifier] Récupération sur disque défectueux

Si vous possédez un disque dur comportant des zones défectueuses voici quelques solutions pour vous :

[modifier] En utilisant dd

L'outil dd est fourni par sys-apps/coreutils.

Lancez :

dd if=/dev/ancien_disque of=/dev/nouveau_disque conv=noerror,sync

ou créez un fichier image:

dd if=/dev/ancien_disque of=fichier_image conv=noerror

pour copier les données.

Pour accélérer le processus, vous pouvez ajouter bs=8k, cela permettra de lire/écrire sur le disque dur par blocs de 16 secteurs.

[modifier] DDRescue

DDRescue est une version modifiée de DD permettant la récupération automatique du disque et de façon optimale (le plus de zone défectueuse possible).

Installez dd-rescue :

emerge dd-rescue

Puis lancez :

dd_rescue -l /var/log/dd_rescue.log /dev/disque_source /dev/disque_destination

l'option -l (log) vous permet non seulement d'avoir le suivi de l'état du transfert mais en plus il permet à dd_rescue de reprendre où il en était en cas de coupure.


[modifier] Récupération de partition défectueuse

[modifier] ext2/ext3

[modifier] méthode simple

unmount /point_de_montage_de_la_partition
fsck /dev/partition

[modifier] reiserfs

Installez reiserfsprogs :

emerge reiserfsprogs

[modifier] méthode simple

umount /point_de_montage_de_la_partition
reiserfsck /dev/partition

[modifier] méthode complexe

Récupérez la taille des blocks de la partition

localhost ~ #debugreiserfs /dev/partition
debugreiserfs 3.6.19 (2003 www.namesys.com)
Filesystem state: consistency is not checked after last mounting
Reiserfs super block in block 16 on 0x301 of format 3.6 with standard journal
Count of blocks on the device: 14645232
Number of bitmaps: 447
Blocksize: 4096
Free blocks (count of blocks - used [journal, bitmaps, data, reserved] blocks): 0
Root block: 11141796
Filesystem is NOT clean
Tree height: 5
Hash function used to sort names: "r5"
Objectid map size 122, max 972
Journal parameters:
       Device [0x0]
       Magic [0x4c9a41ef]
       Size 8193 blocks (including 1 for journal header) (first block 18)
       Max transaction length 1024 blocks
       Max batch size 900 blocks
       Max commit age 30
Blocks reserved by journal: 0
Fs state field: 0x0:
sb_version: 2
inode generation number: 10535973
UUID: e04cd40f-e313-42db-af1b-4af97c56edd3
LABEL:
Set flags in SB:
       ATTRIBUTES CLEAN

Récupérez la taille des blocks (Blocksize).


Récupérez l'ensemble des blocks défectueux et remplacez 4096 par la valeur de votre Blocksize

badblocks -b 4096 /dev/partition >$HOME/badblocks_partition.list


Démarrez ensuite une vérification compléte de la partition

reiserfsck --rebuild-tree --scan-whole-partition --badblocks $HOME/badblocks_partition.list /dev/partition


Si le scan s'arréte en signalant un block défectueux ajoutez-le à la liste $HOME/badblocks_partition.list et relancez la commande ci-dessus.


[modifier] Suppression de données malencontreuse

En cas de suppression malencontreuse des données il ne faut surtout pas écrire sur la partition. Démontez la partition

umount /dev/partition

Si c'est la partition système arrêtez tout de suite le système.

[modifier] TestDisk

TestDisk est un logiciel tres simple d'utilisation ayant pour but de récuperer des partitions supprimées par mégarde ou de rendre celles ci à nouveau bootables après un accident, le plus courant étant la suppression/réecriture accidentelle de la table de partitions par un programme.

A noter qu'entres autres systèmes TestDisk tourne sur FreeBSD, NetBSD ainsi que OpenBSD, son utilisation est donc possible avec Gentoo/BSD.

TestDisk est capable de réparer la table des partitions pour les systèmes de fichiers suivants :

  • BeFS ( BeOS )
  • BSD disklabel ( FreeBSD/OpenBSD/NetBSD )
  • CramFS, Compressed File System
  • DOS/Windows FAT12, FAT16 and FAT32
  • HFS and HFS+, Hierarchical File System
  • JFS, IBM's Journaled File System
  • Linux Ext2 and Ext3
  • Linux Raid
    • RAID 1: mirroring
    • RAID 4: striped array with parity device
    • RAID 5: striped array with distributed parity information
    • RAID 6: striped array with distributed dual redundancy information
  • Linux Swap (versions 1 and 2)
  • LVM and LVM2, Linux Logical Volume Manager
  • Mac partition map
  • Novell Storage Services NSS
  • NTFS ( Windows NT/2K/XP/2003/Vista )
  • ReiserFS 3.5, 3.6 and 4
  • Sun Solaris i386 disklabel
  • Unix File System UFS and UFS2 (Sun/BSD/...)
  • XFS, SGI's Journaled File System


[modifier] Installation

emerge app-admin/testdisk
testdisk

Ensuite laissez vous guider, cela sera l'affaire de quelques clics.

[modifier] PhotoRec

Livré avec TestDisk, PhotoRec permet de récuperer des fichiers effacés sur quasiment tous les types de partitions à l'exception notable de ReiserFS en raison de certaines de ses caractéristiques qui compliquent grandement la tâche (b*tree leaf nodes).

Contrairement à ce que son nom pourrait faire croire PhotoRec permet de récuperer de nombreux types de fichiers dont la liste complète est disponible ici : [1]

[modifier] Installation

emerge app-admin/testdisk
photorec

Son utilisation est la même que TestDisk, une fois lancé il vous sera présenté une interface très aisé d'utilisation, le programme vous demanderas où vous désirez sauvegarder les fichiers récupérés et commenceras immediatement la recherche. A noter que pour diminuer le temps de recherche des fichiers effacés vous pouvez choisir d'exclure certains types de fichiers dans le menu "File Opt".

[modifier] R.I.P.

R.I.P. pour Recovery Is Possible ou encore la récupération est possible est une distribution live permettant de récupérer des données supprimées ou défectueuses sur des partitions de type fat, fat32, ext2 et ext3. Rip posséde une interface graphique facilitant l'utilisation Télécharger RIP