Outils pour utilisateurs

Outils du site


sysadmin:recuperer-donnees

Récupération de données

Recommandations générales

  • En cas de corruption de données, tester la RAM avec UBCD, n'effectuer aucune opération sur les données si un problème est révélé avec la RAM.
  • Instabilités, gel et erreurs aléatoires en mémoire peuvent être provoqués par un défaut du bloc alimentation.
  • Ne jamais exécuter d'outil de réparation d'un système de fichiers sur un périphérique remontant des erreurs d'entrées/sorties.

Récupération de données sur partition corrompue

Si possible on monte le système de fichier en lecture seule.

Désactiver le montage automatique

gconftool-2 --set -t boolean /apps/nautilus/preferences/media_automount false

Vérifier que la configuration est effective:

yoann@hermes:~$ gconftool-2 --get /apps/nautilus/preferences/media_automount
false

Et pour désactiver l'ouverture automatique de la fenêtre, la commande qui va bien :

gconftool-2 -s -t boolean /apps/nautilus/preferences/media_automount_open false

Désactiver le montage automatique sur les version Ubuntu 11 et supérieures:

gsettings set org.gnome.desktop.media-handling automount false

Copie binaire avec dd ou ddrescue

Le système de fichier n'est pas montable en lecture seule, avant de tenter une réparation du système de fichier, il vaut mieux faire une copie brute de la partition avec dd (si pas d'erreurs E/S) ou ddrescue.

En cas d'erreurs d'entrées/sortie utiliser ddrescue prévu à cet effet (processus long mais efficace).
$ sudo apt-get install gddrescue ddrescueview

Déterminer la partition à sauvegarder avec fdisk:

fdisk -lu /dev/sda
Disk myosimage.img: 0 MB, 0 bytes
255 heads, 63 sectors/track, 0 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0×0003f47f
 
      Device    Boot  Start     End         Blocks    Id  System
myosimage.img1  *     63        208844      104391    83  Linux
myosimage.img2        208845    3662819     1726987+  83  Linux
myosimage.img3        3662820   4192964     265072+   82  Linux swap / Solaris

Les informations de début et de fin de partition sont données en secteurs. La ligne Unités = secteurs de … indique aussi la taille de chaque secteur. Repère la partition à transférer vers une autre partition.

Dans l'exemple donné, on voulait transférer la partition 'myosimage.img2': Ce qu'il reste à faire, c'est une copie bit à bit des données de la partition vers une autre partition. Pour ce faire, il suffit d'utiliser dd avec les options suivantes :

  • bs : la taille d'un secteur
  • skip : le nombre de secteurs à ignorer depuis le début du fichier (dans notre cas : tout ce qui précède la partition à copier)
  • count : le nombre de secteurs à copier (dans notre cas : le nombre de secteurs que contient la partition)

Dans cet exemple, bs vaut 512 octets, skip vaut 208845 secteurs et count vaut 3453974 secteurs (secteur de fin de 'myosimage.img2' - secteur de début de 'myosimage.img2', 3662819 - 208845).

Si on veut transférer le tout dans la partition /dev/sda1, par exemple:

sudo dd if=win_seven.raw of=/dev/sda1 bs=512 skip=208845 count=3453974 conv=noerror,sync

Faire une copie bit à bit avec dd avec les options conv=noerror,sync

Une fois la sauvegarde effectuée, travail sur la sauvegarde, fsch pour tenter de réparer si l'image est réparée, il est possible de la monter avec mount:

mount -t ext2 sauv_hda1.img mount_point 

Dans le cas ou la partition n'est pas restaurable, photorec permet de tenter la récupération de données brutes.

sudo apt-get install testdisk

Corruption d'un système de fichier NTFS

Après sauvegarde de la partition, tenter ntfsfix puis montage en lecture seule:

$ sudo ntfsfix /dev/loop0 
$ sudo ntfs-3g -o force,ro /dev/loop0 /mnt/disk/

Références

sysadmin/recuperer-donnees.txt · Dernière modification : 2023/02/08 20:43 de yoann