Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Récupérer une partition ext3 après un crash disque

10 réponses
Avatar
Rémi Moyen
Salut,

[x-post sur fr.comp.os.linux.configuration et fr.comp.stockage. J'ai
pas mis de suivi -- je sais, c'est mal -- parce que j'ai aucune id=E9e
de quel groupe va se sentir le plus concern=E9... Merci d'en mettre un
si n=E9cessaire !]

Ce week-end, sans raison particuli=E8re (*) ni signe annonciateur, mon
disque dur a rendu l'=E2me. Argh. Bon, on va me dire que j'aurais d=FB
faire des backups r=E9guli=E8rement et tout et tout (et c'est vrai), mais
fatalement je l'avais pas fait. D'un c=F4t=E9 c'est pas tr=E8s grave
(y'avait pas grand chose sur cette machine, et tout cas rien de
critique), d'un autre c=F4t=E9 c'est toujours agacant. J'essaye donc de
trouver une m=E9thode pour r=E9cup=E9rer des trucs.

(*) en fait, si, y'a un truc quand m=EAme : je venais de diminuer la
taille d'une partition NTFS (avec ntfsresize) et de cr=E9er une
partition ext3 sur l'espace d=E9gag=E9. J'avais bien fait un fdisk apr=E8s
le resize et avant la cr=E9ation, et m=EAme reboot=E9 (sous windows et
linux), tout allait bien. Le crash a =E9t=E9 au premier reboot apr=E8s
cr=E9ation de la nouvelle partition.

Le disque dur a l'air globalement d'=EAtre plant=E9 dans la table des
partitions, ou un truc similaire : le bios reconna=EEt le disque ainsi
que ses capacit=E9s constructeur (son nom, sa taille, ses attributs
SMART, ...) mais il est incapable de lire la table des partitions. Au
boot, Linux me met des read errors lorsqu'il essaye de lire la table
des partitions. Divers utilitaires windows que j'ai test=E9 rament sur
deux-trois secteurs tout au d=E9but du disque (genre secteurs 0 et 1)
mais lisent le reste correctement. J'ai test=E9 en mettant le disque sur
une autre machine, ou en secondary master (il est normalement en
primary slave), m=EAme r=E9sultat.

Le disque en lui-m=EAme n'a pas l'air endommag=E9 et il ne fait pas de
bruit suspect. Je pense donc qu'il y a eu une merde quand j'ai modifi=E9
mes partitions (pourtant, j'ai pas vu de message d'erreur) mais qu'=E0
part ca, le disque est encore bon.

Donc, peut-=EAtre suffirait-il d'avoir un outil pour r=E9-=E9crire cette
table des partitions, si ca existe ? Je ne me rappelle plus de la
g=E9om=E9trie en d=E9tail (la taille de chaque partition), mais je sais
quand m=EAme =E0 peu pr=E8s ce qu'il y a avait (nombre, type et ordre des
partitions, taille approximative...).

Sinon, j'ai essay=E9 deux-trois trucs windows. GetDataBack, par exemple,
a l'air de retrouver parfaitement ma partition NTFS et d'=EAtre capable
de lire les fichiers dessus (bon, il me faudrait la version payante
pour les r=E9cup=E9rer vraiment, mais au moins ca a l'air de marcher).
Idem pour d'autres trucs. Mais je n'ai pour l'instant rien trouv=E9 qui
soit capable de r=E9cup=E9rer une partition ext3 ! (je viens de voir ce
matin un truc appel=E9 Acronis Disk Director qui devrait en =EAtre
capable, mais j'ai pas encore test=E9 -- et c'est aussi pas donn=E9)

Je pr=E9f=E9rerais =E9videmment un outil gratuit ou =E0 d=E9faut pas cher.
Pas que je soit ind=E9crottablement pr=E8s de mes sous, mais si y'avait
vraiment des donn=E9es critiques pour lesquelle je serais pr=EAt =E0
payer, j'irais chez un pro de la r=E9cup=E9ration de donn=E9es sans me
poser de questions. Et si il faut aussi que je me repaye un disque dur
par ailleurs, bon, ca a beau ne pas =EAtre ruineux =E0 l'heure actuelle,
je pr=E9f=E8re quand m=EAme minimiser les frais.

Donc, est-ce que quelqu'un conna=EEtrait, au choix :
- une m=E9thode pour r=E9=E9crire ma table des partitions (puisque je
pense que ca devrait suffire) ;
- un outil pour r=E9cup=E9rer tout ou partie (une partie suffirait, en
fait -- mon /home et deux-trois trucs =E0 c=F4t=E9) d'une partition ext3 ?

Je pr=E9f=E9rerais =E9videmment le premier (si ca me permet de garder mon
disque !), mais le deuxi=E8me serait bien aussi.

Merci !
--=20
R=E9mi Moyen

10 réponses

Avatar
Jean-Francois BILLAUD
[pas de suivi non plus]

Rémi Moyen écrivait :

Le disque dur a l'air globalement d'être planté dans la table des
partitions, ou un truc similaire : le bios reconnaît le disque ainsi
que ses capacités constructeur (son nom, sa taille, ses attributs
SMART, ...) mais il est incapable de lire la table des partitions. Au
boot, Linux me met des read errors lorsqu'il essaye de lire la table
des partitions. Divers utilitaires windows que j'ai testé rament sur
deux-trois secteurs tout au début du disque (genre secteurs 0 et 1)


Faut voir pourquoi ça rame : pas capable de lire (défaut physique)
ou pas capable de décoder (défaut logique).

mais lisent le reste correctement. J'ai testé en mettant le disque sur
une autre machine, ou en secondary master (il est normalement en
primary slave), même résultat.


Pour copier le MBR dans un fichier :
dd if=/dev/hdX of=leboot bsQ2 count=1

Pour jeter un oeil :
hexdump leboot
Doit y avoir des trucs du genre :
000001b0 cd 10 61 c3 00 00 00 00 a9 e9 d6 c3 00 00 00 01
000001c0 01 00 83 fe ff ff 3f 00 00 00 6f 0f 40 02 00 fe
000001d0 ff ff 82 fe ff ff ae 0f 40 02 4d 90 22 00 00 00
000001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
On reconnaît en 1be une partition primaire ext2 type 83, en 1ce
du swap type 82 et en 1fe 55aa comme marqueur de fin du MBR.

S'il y a une partition étendue ça pointe vers une table de
partition auxiliaire (chaînage).

Ça donne quoi pour ce fameux disque ?
(donner aussi les caractéristiques cylindres-têtes-secteurs
annoncées par le BIOS et par le noyau)
De mémoire, qu'y avait-il comme partitions dessus ?

Pour décoder, voir par exemple :
http://www.datarescue.com/laboratory/partition.htm

Pour réécrire la table de partitions il y a fdisk (ou dd mais
c'est un peu disons rugueux).

S'il n'y a que le MBR qui a un problème sa remise en état par fdisk
devrait rendre le disque à nouveau lisible.

Si le disque est physiquement cassé au début, il y a la solution
de recopier vers un disque de même taille ou plus grand
(dd if=/dev/hdX of=/dev/hdY) et de corriger le MBR sur hdY.


JFB

Avatar
rmoyen

Je suis au boulot, donc j'ai pas tous les détails sur le disque ici,
et je ne peux évidemment pas faire tout de suite les tests que tu
indiques. Ceci dit et en attendant :

Faut voir pourquoi ça rame : pas capable de lire (défaut physique)
ou pas capable de décoder (défaut logique).


Je ne sais pas... et je ne sais pas comment faire la différence ! Je
regarderais en détail les différents messages d'erreur pour voir. Je
pense que si le message indiquait clairement la cause, je l'aurais
mémorisé, mais j'ai pas forcément tout compris.

Je me souviens que le code d'erreur invoqué était le même quelque
soit le logiciel (et l'OS) utilisé, un truc genre 0x23 ou 0x22. Mais
j'ai aucune idée de si c'est une info utile ?

mais lisent le reste correctement. J'ai testé en mettant le disque sur
une autre machine, ou en secondary master (il est normalement en
primary slave), même résultat.


Pour copier le MBR dans un fichier :
dd if=/dev/hdX of=leboot bsQ2 count=1


Ach, ja... j'ai pas pensé à aller lire directement le mbr. Bon, je
regarderais.

Ça donne quoi pour ce fameux disque ?
(donner aussi les caractéristiques cylindres-têtes-secteurs
annoncées par le BIOS et par le noyau)


Pfff, le bios, il dit rien du tout. C'est un Dell et leur bios est à
peu près aussi loquace qu'un écran de boot de Windows. Il me dit que
c'est un disque dur de 150 Go (et des poussières, enfin, c'est sa
vraie taille), et c'est tout...
Bon, heureusement que le noyau est plus bavard :-)

De mémoire, qu'y avait-il comme partitions dessus ?


Hum, 4 partitions primaires (pas d'étendues), dans l'ordre sur le
disque, avec leur numéro :
- ext2/3 d'environ 50 Go (hdb1);
- ntfs d'environ 50 Go (intialement, 100 Go) (hdb2);
- ext2/3 d'environ 50 Go (que je venais de créer, donc vide de
"vraies" données) (hdb4);
- swap de 1 Go (hdb3).

Comme au début je n'avais pas la deuxième partition ext3, le swap
était la numéro 3. Quand j'ai ajouté cette partition, elle s'est
donc mise en 4 (j'ai eu la flemme de détruire mon swap et de le
recréer pour ré-arranger les numéros). Les 1 et 2 sont, dans
l'ordre, la partition ext3 du début et la partition ntfs.

S'il n'y a que le MBR qui a un problème sa remise en état par fdisk
devrait rendre le disque à nouveau lisible.


J'espère...

Si le disque est physiquement cassé au début, il y a la solution
de recopier vers un disque de même taille ou plus grand
(dd if=/dev/hdX of=/dev/hdY) et de corriger le MBR sur hdY.


Je vois. Si les premiers secteurs sont physiquement illisibles, je
suppose que mon disque est totalement fichu (je pourrais récupérer
les données, mais pas garder le disque) ? Je suppose qu'il est
impossible que le MBR et la table des partitions soient mis ailleurs
que tout au début. En tout cas, ca me semblerait logique...

Merci pour tes indications. Je regarde dès que possible ce soir et je
vois ce qu'il se passe. À suivre...
--
Rémi Moyen


Avatar
Rémi Moyen
Jean-Francois BILLAUD wrote:

Bon, de retour à la maison, j'ai testé pas mal de choses.

Pour copier le MBR dans un fichier :
dd if=/dev/hdX of=leboot bsQ2 count=1


Alors il m'a dit qu'il n'arrivait pas à lire le support. Pour
vérifier, je l'ai fait sur mon autre disque, et ça marche bien. J'ai
pas noté le message exact (qui n'était de toute façon pas
détaillé), parce que depuis j'ai trouvé mieux...

Ça donne quoi pour ce fameux disque ?
(donner aussi les caractéristiques cylindres-têtes-secteurs
annoncées par le BIOS et par le noyau)


Pour compléter l'autre post, le kernel au boot me dit que le disque
fait 19929/255/63 (HCS), pour un total de 320 173 056 secteurs et 163
928 MB. Jusque là, tout va bien. Mais comme le dd foire, je peux pas
trop comparer avec ce qu'il y a dans le premier secteur.

S'il n'y a que le MBR qui a un problème sa remise en état par fdisk
devrait rendre le disque à nouveau lisible.


Bon, sous Linux, je n'arrivais à rien, donc j'ai poussé un peu avec
des outils Windows. Finalement, je suis tombé sur un truc appelé
Partition Table Doctor : il a su scanner mon disque, me reconstruire
une nouvelle table des partitions (qui correspond bien à ce qu'il y
avait sur le disque) et me la ré-écrire sur le disque. Je lui ai
aussi fait ré-écrire le MBR de cette partition : tant qu'à faire,
autant nettoyer tout le début du disque... Après ça, Windows est
capable de lire mes partitions, cool !!

Sauf que... quand je reboote sous Linux, j'ai encore des read errors et
le disque n'est pas reconnu. Enfin, pas tout à fait, parce que si je
boote avec un disque de rescue (en l'occurence, le CD 1 de Debian), je
peux tout à fait monter et lire /dev/hdb[1-3]. Uh ?

Je peux donc monter et utiliser mes partitions, mais mon disque plante
quand même au boot (et comme sur mon install standard -- cad pas avec
un CD de rescue ! -- ma partition / c'est hdb1, il me fait une kernel
panic quand il n'arrive pas à reconnaître hdb, fatalement :-( ).

Là, je suis en train de faire tourner un e2fsck sur hdb1 (j'écris
depuis une autre machine, y'a rien d'autre que le fsck qui tourne sur
l'autre machine), pour voir ce qu'il en pense. Au pire, ça ne peut pas
faire de mal, hein. Ça me semble très lent (plus d'une 1/2 h pour une
partition de 50 Go, et il n'en est encore qu'à la passe 1) et j'ai une
paire d'erreurs "special inode has none zero size". Je sais pas si
c'est mauvais signe.

Enfin bon, ça a l'air déjà un peu mieux. Au pire, comme j'arrive à
lire le disque depuis n'importe quel OS (juste pas à booter dessus),
je pourrais toujours en faire copie de là. Mais si quelqu'un a plus
d'infos ou des idées supplémentaires, je suis toujours preneur.
--
Rémi Moyen

Avatar
gilles
J'ai entendu parler d'un outil sous linux nommé gpart. Cet outil
essayerait de retrouver les infos d'une table des partitions.

A essayer
Avatar
Rémi Moyen
gilles wrote:
J'ai entendu parler d'un outil sous linux nommé gpart. Cet outil
essayerait de retrouver les infos d'une table des partitions.


Ah, bien !
[google, telecharge... tiens, il est déjà sur la Knoppix que je viens
de graver, chouette !]
Argh. Marche pô.

Sur mon premier disque, il marche bien (c'est juste pour vérifier que
je sais l'utiliser et pour voir à quoi ressemble un résultat normal,
hein). Par contre, sur mon disque foireux, il refuse de faire quoi que
ce soit et me dit qu'il n'arrive pas à lire un secteur (pas
d'indication de numéro, juste qu'il peut pas lire).

Par ailleurs, avec le truc Windows de reconstruction de la table des
partitions, je me suis rendu compte qu'en réalité, il reconstruit la
table sans aucun problème, mais qu'il n'arrive pas à l'écrire sur le
disque (comme le logiciel ne met pas de message d'erreur dans ce cas,
je ne l'ai pas vu tout de suite).

En fait, après divers tests avec des tas d'outils (Linux et Windows),
j'ai le sentiment que dans l'ensemble, mon disque est bon, sauf une
petite poignée de secteurs qui sont illisibles. Et que
malheureusement, le secteur 1 fait partie de cette poignée. Par
conséquent, la table des partitions et le MBR sont irrémediablement
grillés et en fonctionnement "normal" (genre au boot de Linux) mon
disque n'est pas reconnu. Par contre, si après, un logiciel n'utilise
pas la table des partitions (par exemple parce qu'il l'a déjà
stockée ou qu'il la recalcule en scannant le disque) pour aller lire
les données, y'a aucun problème.

Bref, je sens que je n'ai plus le choix, là : racheter un disque et y
recopier mes partitions... Ouin (enfin, au moins j'ai pas perdu de
données !).
--
Rémi Moyen

Avatar
avc
,
j'ai le sentiment que dans l'ensemble, mon disque est bon, sauf une
petite poignée de secteurs qui sont illisibles. Et que
malheureusement, le secteur 1 fait partie de cette poignée.


Il y a trois mois, on m'a donné un HD 40Go. Nase. MBR illisible, bad
sectors et tout le bataclan.
En utilisant HDD regenerator, j'ai pu récuperer ce DD.
Tourne depuis sans problème.

Courage!

Ne me demande pas comment ça fonctionne.
Ce que je sais que cela a fonctionné pour moi.

Avatar
Rémi Moyen
avc wrote:

j'ai le sentiment que dans l'ensemble, mon disque est bon, sauf une
petite poignée de secteurs qui sont illisibles. Et que
malheureusement, le secteur 1 fait partie de cette poignée.


Il y a trois mois, on m'a donné un HD 40Go. Nase. MBR illisible, bad
sectors et tout le bataclan.
En utilisant HDD regenerator, j'ai pu récuperer ce DD.
Tourne depuis sans problème.


Aha, voila une autre idée qu'elle est intéressante ! Et... ça marche
!! (le plus drole de l'affaire, c'est que la version démo s'arrête
dès qu'elle a réparé un secteur. Mais comme dans mon cas il n'y a
qu'un seul secteur deffectueux, ça me suffit :-) )

Bon, au reboot, le kernel me reconnaît bien mon disque. Super. Par
contre, il râle que la partition n'est pas en bon état (ça, ça ne
m'étonne pas après tout ce qu'elle a subi !) et que le fsck
automatique ne suffit pas. Bon, je lui refait un fsck à la mimine, je
lui laisse faire ce qu'il veut (après tout, je pense que fsck sait
mieux que moi à quoi doit ressembler un système de fichiers...), ça
a l'air de marcher.

Re-reboot, et cette fois-ci, c'est bon. Ou presque... Le disque marche
bien, mais visiblement, à force de manips dans tous les sens, le crash
initial ou mes essais infructeux ont fini par me faire perdre quelques
trucs par ci par là : par exemple, mon window manager ne se lance
plus, Thunderbird se plaint de bibliothèques qui ont disparu, etc.

Bah, dans l'ensemble, le système est revenu dans un état où je peux
faire quelque chose. Je vais faire un autre message (sur fcolc
uniquement) pour essayer remettre tout ça d'aplomb proprement.

En tout cas, je connaissais pas ce logiciel, mais je garde
précieusement la disquette dans un coin !! Merci !
--
Rémi Moyen


Avatar
jp willm
Bonjour,



Ce week-end, sans raison particulière (*) ni signe annonciateur, mon
disque dur a rendu l'âme.

Donc, est-ce que quelqu'un connaîtrait, au choix :
- une méthode pour réécrire ma table des partitions (puisque je
pense que ca devrait suffire) ;
- un outil pour récupérer tout ou partie (une partie suffirait, en
fait -- mon /home et deux-trois trucs à côté) d'une partition ext3 ?



Je pens e qu'on a déjà dû t'indiquer UBCD (Ultimate Boot CD) ?

Tapes ubcd dans google et tu l'as.

Il y a un tas d'outils, dont certains font ce que tu cherches.

jp willm

Avatar
Rémi Moyen

Ce week-end, sans raison particulière (*) ni signe annonciateur, mon
disque dur a rendu l'âme.


Je pens e qu'on a déjà dû t'indiquer UBCD (Ultimate Boot CD) ?


Non, et je ne connaissais pas. Bon, mon problème est maintenant résolu,
mais ça m'a l'air d'un truc intéressant. Je garde la référence dans un coin.

Merci !
--
Rémi Moyen


Avatar
jp willm
Bonjour,


Je pens e qu'on a déjà dû t'indiquer UBCD (Ultimate Boot CD) ?



Non, et je ne connaissais pas. Bon, mon problème est maintenant résolu,
mais ça m'a l'air d'un truc intéressant. Je garde la référence dans un
coin.

Merci !


En plus, c'est pratique quand tu montes une nouvelle configuration, pour
sauvegarder des partitions,tester la RAM avant d'intaller ton os, le
disque etc...

Heureux pour toi que tu aies pu récupérer tes données :o)

jp willm