J'ai un disque dur de 2 To "partition unique formatée en ext4". Récemment, alors que je travaillais sous Windows 7 sur le même ordinateur, j’ai endommagé la partition susmentionnée. Ce qui s’est passé, c’est que pendant que j’essayais de récupérer un lecteur USB externe, j’ouvrais l’outil standard de gestion des disques de Windows, qui me demandait si je voulais rendre le disque1 "actif". A ce moment-là, je n'avais pas réalisé que "disk1" n'était pas mon disque USB, mais le disque interne ext4. Après avoir cliqué sur OK, Windows a créé une "partition réservée au système" de 100 Mo sur le disque, sans toucher au reste.
Lorsque je me suis connecté à Linux, la partition n'était pas montée. J'ai supprimé la "partition réservée au système" créée par Windows NT 100 Mo et j'ai essayé de lancer Testdisk. Testdisk voit mon ancienne partition ext4, mais à la fin, indique quelque chose comme "aucune partition ne peut être récupérée".
Est-il possible de récupérer ma partition et ma structure de répertoire + données? Le problème, c’est que j’y ai retrouvé tous mes programmes (C/C++) et répertoires de travail, ainsi que des données expérimentales, c’est-à-dire des fichiers n’ayant pas d’en-têtes spécifiques comme jpg ou pdf. Est-il possible de récupérer ces données? Puis-je, par exemple, récupérer une partie de la partition, disons tout ce qui dépasse 100 Mo?
P.S. Évitons les commentaires du type "vous auriez dû faire une sauvegarde" .. :) j'avais une sauvegarde, mais elle était stockée sur la clé USB que j'essayais de récupérer en premier .. (une défaillance générale du disque, le disque n'est pas lisible ).
Pour la récupération, je n'utilisais que la copie "dd" du disque:
Sudo dd if=/dev/sdb of=/dev/sdd
("sdb" est le disque endommagé et "sdd" est celui que j'ai utilisé pour les tests)
D'abord, j'ai utilisé "gdisk" pour créer une nouvelle table de partition GUID vide (option -o).
$ Sudo gdisk /dev/sdd
Command (? for help):
$ o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N):
$ y
$ w
J'ai essayé Sudo e2fsck /dev/sdd
- échec (le premier superbloc était corrompu)
$ Sudo e2fsck /dev/sdd
e2fsck 1.41.12 (17-May-2010)
e2fsck: Superblock invalid, trying backup blocks...
e2fsck: Bad magic number in super-block while trying to open /dev/sdd
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
alors j'ai fait Sudo mke2fs -n /dev/sdd
pour lister les superblocs
$ Sudo mke2fs -n /dev/sdd1
mke2fs 1.41.12 (17-May-2010)
/dev/sdd is entire device, not just one partition!
Proceed anyway? (y,n)
$ y
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
122101760 inodes, 488378646 blocks
24418932 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
14905 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848
then - Sudo e2fsck -b 214990848 /dev/sdd
après avoir appliqué plusieurs correctifs, je me suis retrouvé avec une partition partiellement restaurée! En fait, ce n'était pas si simple. J'ai essayé avec plusieurs superblocs et différentes options e2fsck. Quoi qu'il en soit, c'était la recette générale.
Addendum: lors de la récupération, j'ai répondu "non" à toutes les questions telles que:
One or more block group descriptor checksums are invalid. Fix(y)?
$ no
/lost+found not found. Create(y)?
$ no
Free blocks count wrong for group # (32768, counted=0). Fix(y)?
$ no
Free inodes count wrong (122101749, counted=1606). Fix(y)?
$ no
Vous avez peut-être rencontré ce problème mais ce n'est pas vraiment clair. Si tel est le cas, le vôtre est le premier cas du genre dont j'ai entendu parler, et vous pouvez remercier les GNU développeurs séparés de s'être assis sur un correctif pendant plus de deux ans.
En pratique, votre meilleur pari pour la récupération est le suivant:
Sudo dd if=/dev/sdc of=/path/to/backup.img
sauvegarde /dev/sdc
(s'il s'agit du disque endommagé) sur /path/to/backup.img
(vous pouvez modifier ce répertoire cible ou ce nom de fichier, si vous le souhaitez). Il est évident que vous devez disposer de suffisamment d'espace libre dans /path/to
pour pouvoir conserver la sauvegarde. Cela signifie que vous devrez peut-être acheter un nouveau disque de sauvegarde, le préparer et le monter à /path
ou /path/to
. Vous pouvez sauter cette étape, mais ensuite, si vous aggravez la situation, il deviendra plus difficile de récupérer, voire de devenir impossible.fdisk
(si le disque utilise MBR) ou gdisk
(si le disque utilise GPT) pour recréer vos partitions d'origine. Puisque vous dites que vous avez une seule partition sur le disque, il est probable que celle-ci ait démarré au secteur 2048 et étendue à la fin du disque. Ainsi, supprimer la ou les partitions actuelles et recréer celle-ci peut fonctionner. Ne pas créer un nouveau système de fichiers sur le disque; il suffit de créer une partition vide . (GParted aime créer un nouveau système de fichiers et doit donc être évité. Il est possible de le créer pour créer une partition vide, mais pourquoi prendre le risque?)e2fsck
sur la partition que vous venez de créer. Si vous êtes très chanceux, il peut localiser suffisamment de structures de données ext4fs pour redonner vie au disque, mais probablement avec des fichiers manquants ou d’autres problèmes. Vous voudrez peut-être utiliser fsck.ext4 pour vous assurer qu'il reconnaît correctement qu'il s'agit d'un système de fichiers ext4. L'utilisation des options e2fsck
(telles que -b
) peut améliorer vos chances de récupérer des données, mais ces options sont très avancées. Consultez la page de manuel e2fsck
pour plus de détails.Essayez GNU ddrescue.
GNU ddrescue est un outil de récupération de données. Il copie les données d'un fichier ou d'un bloc (disque dur, cdrom, etc.) dans un autre, en essayant de récupérer les données en cas d'erreur de lecture.
Le fonctionnement de base de ddrescue est entièrement automatique. En d'autres termes, vous n'avez pas à attendre une erreur, arrêter le programme, lire le journal, l'exécuter en mode inverse, etc.
Pour plus d'informations et pour télécharger ddrescue, consultez leur site web .
buntu Rescue Remix est un système live GNU/Linux fonctionnant à partir d'un CD ou d'un périphérique flash USB. Il fournit au spécialiste de la récupération de données un environnement d’interface de ligne de commande doté des meilleurs outils de récupération de données et d’informatique légale libres et libres disponibles.
Il existe également d'excellents produits, mais pas gratuits. Tels que R-STUDIO pour la récupération de données Linux .
Vous pouvez également essayer R-Studio .
R-Studio est une famille de logiciels de récupération de données et de récupération de données puissants et économiques. Grâce aux nouvelles technologies uniques de récupération de données, il s'agit de la solution de récupération de données la plus complète pour les fichiers de récupération des variantes UFS1, NTFS, NTFS5, ReFS, FAT12/16/32, exFAT, HFS/HFS + (Macintosh), Partitions UFS2 (FreeBSD/OpenBSD/NetBSD/Solaris) et Ext2/Ext3/Ext4 FS (Linux). Il utilise également la récupération de fichier brut (analyse des types de fichiers connus) pour les systèmes de fichiers très endommagés ou inconnus. Il fonctionne sur les disques locaux et réseau, même si ces partitions sont formatées, endommagées ou supprimées. Les paramètres flexibles vous donnent un contrôle absolu sur la récupération de données.