[gull] Recuperation d'une partition

Arnaud Burlet arnaud.burlet at epfl.ch
Mon Mar 15 06:28:01 CET 2004


Un moyen que je n'ai pas eu le temps de coder / tester / implémenter en shell 
script.

chercher dans la partition les bytes "0x53 0xef" (EXT3_SUPER_MAGIC)
les premier magic bytes  se trouvent à l'offset 0x438 d'une partition ext2/3 
normale (c-a-d cree avec mke2fs et les parametres par defaut)

on trouve l'offset_de_la_partition_ancienne avec :
	(offset("0x53 0xef") - 0x438) / 1024

avec ca on peut faire un :
dd if=/dev/hdX of=/fichier_de_sortie bs=1024 
skip=offset_de_la_partition_ancienne 
et essayer de monter /fichier_de_sortie avec
mount -o loop /fichier_de_sortie /mnt/...

il y a 1 prolbeme, on risque de trouver beaucoup de bytes "0x53 0xef" avant de 
tomber sur le superblock de la partition. Il faut faudra peut-etre essayer de 
refaire ca souvent ...

Je n'ai pas trouve de bon moyen pour produire l'offset de tous les bytes "0x53 
0xef" avec grep. Quelqu'un saurait comment faire ? (avec des outils ligne de 
commande evidemment)

Voila, c'est une proposition bas-niveau, il y en aura certainement de 
meilleure...


Arnaud

PS : comment savoir que les bytes "0x53 0xef" se trouvent a l'offset 0x438 
d'une partition ? :

dd if=/dev/zero of=/tmp/teste3fs bs=512k count=50
/sbin/mke2fs -j /tmp/teste3fs
khexedit /tmp/teste3fs  chercher ces bytes ... les occurences suivantes seront 
dans les backup superblocks...


On Monday 15 March 2004 00:57, Julien Escario wrote:
> Bonjour,
> Il m'est arrivé un truc vraiment bete :
> Voilà, je démonte une partition et je fais un fdisk dessus en modifiant la
> taille.
> Seulement je n'ai pas rebooter tout de suite (erreur fatale !) et j'ai
> fait un mkfs.ext3 dessus sans me rendre compte que le kernel n'avait pas
> relu la taille de la partition.
> J'ai donc placer des fichiers dessus et me rendant compte que ce n'était
> pas la bonne taille de fichier, j'ai rebooté. Sans sauvegarder les
> fichiers qu'il y avait dessus !
> Du coup, au reboot, le début de la partition n'est plus au même endroit et
> fsck.ext3 ne trouve pas le superblock pour monter la partition, normal, le
> système de fichier commence 900 Mo plus loin ...
> Depuis j'ai tout reformater convenablement en gardant une image de la
> partition incriminée (fait avec dd).
> Ayant besoin des fichiers non sauvegarder que j'ai copié betement,
> j'aimerais savoir s'il est possible de récupérer mon système de fichier
> même avec un blanc de 900 Mo devant ...
> Sachant que je ne sais pas la taille (et donc le nombre de blocks) que
> j'ai rajouté.
> Si qqun a une idée, elle est la bienvenue.
>
> Merci
>
> Julien Escario
> ---------------------------------------
> $A = eval {($A*$A-1)/($A-1)} || die 1;
> L'incrémentation ou la vie !
> ---------------------------------------
> _______________________________________________
> gull mailing list
> gull at lists.alphanet.ch
> http://lists.alphanet.ch/mailman/listinfo/gull



More information about the gull mailing list