J'ai accidentellement utilisé dd
et écrit sur les premiers 208 Mo de mon disque externe. Ce que j'ai écrit est une partition à part entière (Debian nestinstaller) donc ce que je vois maintenant n'est pas mon ancienne partition ext4 (maintenant endommagée) mais une autre plus petite partition. Cela limite les outils et les conseils que je pourrais suivre.
Mon plan était de recréer la table de partition avec testdisk
puis de tout réparer avec les superblocs de sauvegarde comme décrit ici . Je perdrais les premiers 208 Mo, mais c'est correct par rapport aux 300 autres Go de données. Quelque chose comme ceci:
mke2fs -n /dev/sdb1 # doesn't work because sdb1 is the 208MB new partition
testdisk ... # used this to create new correct partition table
mke2fs -n /dev/sdb1 # now works fine, get backup superblock positions
e2fsck -b backup_position -y /dev/sdb1 # returns many errors hence the -y
Cependant, je n'ai rien pu récupérer. J'avais l'habitude testdisk
d'écrire une nouvelle table de partition qui correspondait à ce que j'avais avant. Lorsque j'exécute e2fsck, j'obtiens de nombreuses erreurs différentes. Je reçois un système de fichiers après cela, mais il est complètement vide, pas de fichiers.
Le répertoire lost + found est plein de fichiers (ceux récupérés je pense) mais j'ai besoin de récupérer l'arborescence des répertoires, pas seulement les fichiers. J'ai besoin du nom de fichier et des répertoires précédents pour savoir quels sont les fichiers (images de microscope, données de masse, etc. Sans les noms et les répertoires où ils étaient, ils ne veulent rien dire).
J'ai obtenu un autre HD exactement le même et j'ai fait une copie de tout le HD avec dd
afin que je puisse expérimenter la récupération sans rien perdre. Aucun conseil?
la source
testdisk
de recréer la partition. Je vais essayer avecfdisk
.fdisk
je ne pouvais même pas utilisere2fsck
car il ne trouverait pas les sauvegardes de superbloc. Je pense que le problème était que je ne pouvais pas éditer le CHS (la nouvelle partition l'a mis à 64 mais devrait être 255)Réponses:
J'ai finalement réussi à résoudre ce problème. Juste pour mémoire, voici comment je l'ai fait. Une partie de la solution que j'ai trouvée ici et qui implique de connaître les paramètres utilisés pour créer le système de fichiers (j'étais presque sûr de ne pas avoir modifié les valeurs par défaut).
Fondamentalement, j'ai d'abord dû fixer la table de partition pour refléter ce que j'avais réellement là-bas (j'ai utilisé
testdisk
pour cela maisparted
,cfdisk
oufdisk
devrait bien fonctionner aussi). Je viens de supprimer les mauvaises partitions et de les remplacer par une seule partition de type ext4 couvrant tout le disque avec les valeurs CHS correctes.Le reste provient principalement du lien au début (lisez-le pour plus de détails) mais en gros j'ai couru
mke2fs -n /dev/xxx
pour trouver les positions pour la sauvegarde des superblocs. Ensuite, utilisé la dernière sauvegarde la plus proche de la fin du disque (seules celles au début du disque ont été écrasées avec dd) pour exécuter fsck. Cela a généré beaucoup d'erreurs mais fsck a une-y
option (pas la même que-a
).Je pensais que cela n'avait pas fonctionné car je ne pouvais voir aucun fichier, mais en fait, ils avaient tous été enregistrés dans le
lost+found
répertoire.Donc, à la fin, j'ai récupéré la plupart de mes fichiers tout en conservant leurs noms de fichiers et leur structure de répertoires. J'espère que cela pourra aider les autres à l'avenir.
la source
Ok, cela fonctionne pour la récupération à partir d'un lecteur accidentellement inité dans une baie MegaRAID. Mon contrôleur RAID a activé TOUS les disques du RAID, pas seulement ceux de la matrice RAID6 que je refaisais. Aie! Au moins, j'ai fait un démarrage rapide, et non pas un démarrage lent - le démarrage lent efface le lecteur à zéro.
L'initialisation rapide efface 10M au début et à la fin des disques. Donc, moi avec une partition ext4 sur tout le disque (sous Linux) et un disque, RAID0, j'ai eu une chance. Avec le disque étant un disque de 6 To, et presque 5 To dessus, je transpirais - c'était ma sauvegarde de la matrice RAID6 que je reformais!
Soit dit en passant, je n'ai pas dérapé - le LSI MegaRAID ne devrait PAS avoir démarré les lecteurs de mon autre groupe de lecteurs - mais il l'a fait. En tant que note, ce que j'aurais dû faire est de SUPPRIMER CE LECTEUR DE L'ENCEINTE et de le réimporter APRÈS avoir eu le groupe de disques RAID6 nouvellement organisé. Que je suis bête. VRAIMENT idiot de moi ....
OK, heureusement, le LSI MegaRaid n'a rien d'extraordinaire avec les disques RAID0 (s'il y en a un, je ne suis pas sûr de plusieurs). Voici ce que j'ai fait pour le réparer. OS = Fedora F22. Drive = une grande partition ext4, faite avec parted. J'ai d'abord cliché le lecteur sur un tout nouveau lecteur du même modèle, sur un serveur de rechange avec quelques emplacements de baie de rechange :: Dix heures plus tard, il a terminé ......
C'était ma sauvegarde en or.
REMARQUE - Mon disque était
/dev/sdb
- vous devez régler votre disque sur le disque que vous essayez de récupérer. Ne gâchez pas les disques, sinon vous serez encore plus dans le pétrin ...Ensuite, cela fait, j'ai fait ce qui suit.
(1) supprimer l'instantané de la machine (pas idiot encore, je peux vous assurer - que l'un serait hors de l'hôpital de récupération de disque si j'échouais, alors que je me suis enregistré dans l'urgence locale!).
(2) redémarrez la machine FC22 avec le lecteur. Exécutez parted, refaites la partition (dans mon cas, supprimez celle corrompue, écrivez une nouvelle partition ext4 de 0% à 100%). Vous DEVEZ savoir exactement où se trouvaient les partitions d'origine et leur type exact - l'étape suivante en dépend - sinon, ARRÊTEZ ICI. Vous n'y arriverez pas. utiliser
testdisk
et /photorec
ou similaire, ou pour un gros disque où cela compte vraiment, expédiez-le.(3) courir
mke2fs -n /dev/sdb1
(n'oubliez pas le-n
, ou encore vous pouvez simplement vous éloigner ...)Pour moi, le résultat ressemblait à:
Voilà, c'est là que se trouvent tous les superblocs de rechange ... Nous savons que le premier et le dernier sont des déchets, mais ceux du milieu devraient être OK. (Remarque, vous pouvez
mkfs.ext4 -n /dev/sdb1
être très prudent et obtenir le même résultat).(4) Courez
e2fsck -y -b 102400000 /dev/sdb1
. Vous en aurez besoin-y
, car il y aura beaucoup de "oui" nécessaires pour réparer le désordre créé par l'extrémité avant manquante du disque .... et choisissez n'importe quel superbloc au milieu que vous aimez ... et après environ 30 minutes de silence (utilisez un autre terminal et "top" pour regarder la progression, ou la lumière du disque clignotant) dans mon cas presto, une partition montable, et à peu près tout le reste intact dans le/lost+found
répertoire.Quoi qu'il en soit, j'espère que cela vous aidera - si vous lisez attentivement ce document, je vous souhaite bonne chance. Et merci aux gars qui écrivent ci-dessus. Tu m'as sauvé d'une fin vraiment écoeurante .....
la source