Journal Récupérer une partition en FAT32

Posté par  .
Étiquettes : aucune
0
13
mai
2004
Je suis un boulet ...


Alors voilà. Pour tester, j'me suis dit, on va mettre le /home sur du reiserfs, histoire de voir à quoi ça ressemble. Alors pas con, je fais une sauvegarde de la partition dans ma racine, et je balance le cfdisk.


Je vire la partition correspondant à /home, qui se trouve être l'avant dernière de la liste, et je la recrèe. Bon, je regarde, tout a l'air en ordre, mes fat32 n'ont pas bougé (au passage, je m'étonne d'avoir ma partition principale de mon windows XP (qui réside encore dans le coin pour des raisons obscures de logiciels de développement à la con et autres utilitaires) en FAT12 ... Bon, m'en fous, j'ai pas le net chez moi, je peux pas me permettre de formatter et re-installer pour le plaisir de la passer en fat32. Les autres partitions (notamment la dernière, celle de 25Go qui contient tous mes CDs rippés, très utile quand on se fait une playlist de 11h pour la journée) sont là, c'est tout bon, on écrit la table.

Alors après, je fais mon mkfs.reiserfs, et puis tout va bien. Je reboote pour la forme, et diable ! Cette connerie m'aurait viré mes 25Go de données ?! Il aurait pas osé, il me l'a pas montré ... Nooooooooon, c'pas possible. Je refais un cfdisk, et ôô surprise, 25Go d'espace libre ! ouaiiiiiiiiiiiiiiiiiiiiiiiiiiiis.

Alors j'aurai le net, ce ne serait pas *dramatique*, juste les ogg que je me suis fait à refaire (grmlmlml), mais non. J'ai pas le net. Alors je me dis que voilà, j'ai perdu quelques Go de logiciels archivés et en attente de DVD-gravage (ben ouais, y'avait pas encore pour graver un DVD, alors j'vais pas gacher de l'espace pour rien).

Et c'est là qu'on se dit heureux de ne pas avoir mis ses cours sur cette partition.


PS : pour ceux qui auraient un moyen de récupérer les données que j'avais, je suis archi-preneur, j'ai laissé l'espace libre ... libre, en attendant de trouver une solution pour récupérer tout ce bordel (prions pour que je trouve).
PPS : La partition était en FAT32 (cf titre)
  • # Je persiste et signe

    Posté par  . Évalué à 1.

    Comme je suis un boulet, j'ai oublié de décocher cette acse "apparaitre en première page", comme à l'habitude ...

    Sûrement l'énervement d'avoir découvert que ma disquette ZIP (le coeur de mon dispositif spécial bande passante entre mon école et mon chez moi) m'a fouttu 2h de boulot en l'air, en me montrant de jolis CRC Error.
    • [^] # Re: Je persiste et signe

      Posté par  (site web personnel) . Évalué à 1.

      PS: Depuis quand Windows XP tiens sur une FAT12, ca a une taille limite de qques Mo cette connerie, c'est fait pour des disquettes. c'est pas plutot une FAT16

      PPS: Une fois mkreiserfs passé sur une partition les degats qu'il a causé sont irrécuperable. Malheureusement pour toi les zone sensibles de la FAT32 (table d'allocation notamment) risquent d"etre éffacées, mais aussi certaines zones de données pour le journal et autres.
      • [^] # Re: Je persiste et signe

        Posté par  . Évalué à 1.

        Ben, il me semble (à vérifier) qu'il n'y a pas de différence fondamentale entre FAT12 et FAT16, juste le fait que la quantité de donnée adressable sur FAT12 est très inférieure à celle que l'on peut trouver sur FAT16.
        Une disquette formatée en FAT sera en FAT12, parce que la table d'allocation n'est pas très grande, mais je crois que ça se limite à peu près à ça.
        • [^] # Re: Je persiste et signe

          Posté par  (site web personnel) . Évalué à 1.

          Oui c'est cela, la fat utilise des index sur 12bits, or connaissant la taille minimum de windows XP (~1Go) et le nombre maximum d'entrées dans une FAT12: 4095, il faudrait des clusters de 256Ko.
          Le pb c'est que la majorité des fichiers sont < 256Ko donc ca augmente l'espace disque necessaire et la taille de clusters....

          De plus je ne suis pas sur que la FAT12 qui a ete concu pour de petits media est une taille de cluster variables.
        • [^] # J'infirme et je précise !

          Posté par  . Évalué à 2.

          L'organisation de la FAT12 est plus complexe que la FAT16 ou la FAT32 car l'indexation se fait via un nombre de 12 bits. En FAT12, il y a 512 octets par secteur et l'adressage se fait sur 12 bits. Ce qui donne donc 2^12*512 = 2097152 (taille d'une disquette 1"1/2 1,44 Mo non formatée), et donc 1,44 Mo après formatage :)

          Le maximum qu'on puisse obtenir en FAT16 est réalisé en utilisant des clusters de 64 secteurs (=32768 octets) d'où 2147483648 octets soit 2 Go, taille maximale possible en FAT16 (32768 est une limite car pour d'autres considérations, sous DOS et Win9x, la taille d'un cluster doit être strictement inférieure à 2^16 octets, soit 65536, donc la puissance de 2 immédiatement inférieure à 65536 est bien 32768). Sous NT4 et au delà, on peut - théoriquement - avoir des clusters de 262144 octets)

          En FAT32, le nombre de clusters est (théoriquement) égal à 2^32 (au lieu de 2^16), donc la taille maximale d'une partition est beaucoup plus grande, ou, à taille de partition égale, une FAT32 autorisera des clusters plus petits qu'en FAT16. Ainsi, une partition de 1.5 Go demandera des clusters de :
          - 32 ko en FAT16
          - 4 ko en FAT32


          En définissant :

          * tp : taille de la partition en octets
          * nmax : nombre maximal de clusters (65536 en FAT16)
          * ts : taille d'un secteur en octets (512)
          * tm : taille minimale d'un cluster en octets

          On a la relation suivante :

          tm = 2^(int(n)+k)*512 avec :
          n = max(log2(tp/ts/nmax),1)
          k = 0 si (n - int(n))=0
          k = 1 si (n - int(n))>0

          Exemple 1 :

          FAT16 (65536 clusters)
          tp = 1256 Mo => 1317011456 octets
          tp/ts/nmax = 39,25
          log2(tp/ts/nmax) = 5,295..
          int(log2(tp/ts/nmax))= 5
          k = 1
          tm = 2^6*512 = 32768

          Exemple 2 :

          FAT16 (65536 clusters)
          tp = 512 Mo => 536870912 octets
          tp/ts/nmax = 16
          log2(tp/ts/nmax) = 4
          int(log2(tp/ts/nmax)) = 4
          k = 0
          tm = 2^4*512 = 8192

          Ainsi, sur une partition FAT16 de 2Go, les clusters faisant 32 ko, un fichier de 1 octet (oui, je sais, c'est rare!) occupe malgré tout 32768 octets ! (32767 inutilisés). Un de 32800 occupera 65536 octets (perte=32736) ...

          Sur une FAT16 de 500 Mo, => clusters de 8192 octets, le même fichier de 32769 occupera 40960 octets (perte=8160)

          Plus les clusters sont gros, plus il y a de la perte d'espace (sauf si les tailles de TOUS les fichiers sont exactement des multiples entiers de la taille des clusters, ce qui est statistiquement assez rare!)

          (Sources partielles : l'excellentissime site de JC Bellamy http://www.bellamyjc.net/fr/theoriemultiboot2.html#clustersFAT(...) )
          • [^] # Re: J'infirme et je précise !

            Posté par  . Évalué à 1.

            Waouh ! en tout cas, je suis heureux d'avoir soulevé le débat de la FAT12, au moins, j'aurai appris des trucs que je n'aurais jamais espéré savoir autrement :=)

            Merci :*
      • [^] # Re: Je persiste et signe

        Posté par  . Évalué à 1.

        (désolé pour le retard dans mes réponses, un passage à l'hosto m'a vaguement empêché de venir par ici)

        PS : ben c'est cfdisk qui me la detecte en FAT12 ... Windows la voit bien en FAT32, et je la monte en vfat, comme tout le monde :)

        PPS : hmmm, même si je n'ai pas empiété sur l'espace qui était pris avant par la partition en fat32 ?
  • # Testdisk ?

    Posté par  (site web personnel) . Évalué à 1.

    Je te conseille de regarder du côté de l'utilitaire testdisk :
    florent@pluton:~$ apt-cache show testdisk
    Package: testdisk
    Priority: optional
    Section: admin
    Installed-Size: 856
    Maintainer: Jean-Michel Kelbert <kelbert@debian.org>
    Architecture: i386
    Version: 5.2-6
    Depends: e2fslibs, libc6 (>= 2.3.2.ds1-4), libncurses5 (>= 5.4-1), libntfs5 (>= 1.9.0), libreiserfs0.3-0 (>= 0.3.0)
    Filename: pool/main/t/testdisk/testdisk_5.2-6_i386.deb
    Size: 286110
    MD5sum: 52ff7d25edb8e223916ce9e77c7bea5a
    Description: Partition scanner and disk recovery tool
    TestDisk checks the partition and boot sectors of your disks. It is very
    useful in recovering lost partitions.
    It works with :
    * FAT12
    * FAT16
    * FAT32
    * NTFS (Windows NT/W2K/XP)
    * EXT2FS/EXT3FS (Linux)
    * Linux Swap (1 & 2)
    * IBM Multiboot
    * BeFS (BeOS)
    * UFS (BSD)
    * ReiserFS (1 & 2)

    Package: testdisk
    Priority: optional
    Section: admin
    Installed-Size: 264
    Maintainer: Fabian Franz <debian@fabian-franz.de>
    Architecture: i386
    Version: 4.2-1
    Depends: libc6 (>= 2.3.1-1), libext2fs2, libncurses5 (>= 5.3.20030510-1), libreiserfs0.3-0 (>= 0.3.0)
    Filename: pool/main/t/testdisk/testdisk_4.2-1_i386.deb
    Size: 123954
    MD5sum: edb4c04625d956af9aed135bd2bb28dd
    Description: Partition scanner and disk recovery tool
    TestDisk checks the partition and boot sectors of your disks.
    It is very useful in recovering lost partitions.
    It works with :
    - FAT12
    - FAT16
    - FAT32
    - NTFS (Windows NT)
    - EXT2FS/EXT3FS (Linux)
    - Linux Swap (1 & 2)
    - IBM Multiboot
    - BeFS (BeOS)
    - UFS (BSD)
    - ReiserFS (1 & 2)
    Author: Christophe GRENIER <grenier@cgsecurity.org>
    http://www.cgsecurity.org/(...)

    Sinon, si ca marche pas et dans le dernier des cas, si tu tient vraiment à tes données, et si t'est très riche (ça en fait des si...) tu peut essayer Easy Recovery, logiciel propriétaire hors de prix, mais qui a le mérite de bien fonctionner...
  • # Faisable...

    Posté par  (site web personnel) . Évalué à 2.

    Si la partition n'a pas encore été formatée, tu peux la retrouver avec gpart ( http://www.stud.uni-hannover.de/user/76201/gpart/(...) ). Il t'indiquera les secteurs de debut et de fin de ta partition détruite, et en re-créant la partition via le fdisk linux (il est bien important de travailler en mode "secteur"), tu retrouveras tout de suite ta partition :

    gpart -f -v /dev/hda -l /tmp/gpartlog.txt

    Si la FAT de ta partition a été détruite, tu devras utiliser un des nombreux logiciels, payants et closed-source, qui existent sous windows. Par exemple : http://www.1000files.com/Utilities/File_and_Disk_Management/Restore(...)

    Il existe une version de démo de ce soft qui permet d'analyser le disque et de voir quels sont les fichiers potentiellement récupérables. Il permet aussi de restaurer les fichiers jusqu'à 64ko (effet demo et shareware...).

    Mais tant que tu n'écries rien sur cet espace de disque là, tes données ne craignent rien...
    • [^] # Re: Faisable...

      Posté par  . Évalué à 1.

      Pour l'instant, j'ai rien écrit dessus, dans l'espoir de pouvoir retrouver les données.

      J'vais fouiller pour gpart, merci bien pour le truc
  • # getdataback

    Posté par  (site web personnel) . Évalué à 1.

    Si tu as déjà formaté, arme toi d'un pc avec Windows et www.getdataback.com il récupère tout si tu n'as rien écrit sur la partition après formatage (par contre il veut absolument un endroit ou copier les données récupérées.)
  • # Les partitions qui bougent...

    Posté par  . Évalué à 1.

    Ouais, j'ai aussi remarqué qu'à chaque fois qu'on change/rajouter/supprime une partition, il a tendance à s'emmeler les pinceaux et à changer joyeusement l'ordre des partitions pour une raison qui m'échappe. Il y a quelques semaines, j'ai voulu créer une partition FAT 32 pour pouvoir échanger des données entre Windows et Linux sans avoir à me prendre la tête avec le driver ntfs assez foireux fourni dans le noyau 2.6. J'avais essayé de faire ça proprement sous Linux mais ce crétin de XP ne voulait pas la monter. Je l'ai donc recrée sous Windows et quand je redémarre le Linux pouf! il m'avait dérangé joyeusement toutes mes partitions sauf / et /hda1. J'ai passé ensuite une demi heure à les retrouver en tatonant à coup de emacs fstab &. Donc mon conseil dans ces cas-là est de faire très attention à ce que l'on fait...
    • [^] # Re: Les partitions qui bougent...

      Posté par  . Évalué à 1.

      Voui, le coup du fstab, j'y ai eu droit aussi : maintenant, pour te dire la situation où j'en suis, je dois avoir :
      hda1 hda2 hda5 hda7 hda8
      mais pas les intermédiaires, rien que parce que je vire une partition, et j'en refais une, parfois il décalle les indices, parfois il les garde et incrémente simplement avec le max, enfin, c'est pas tiptop quoi ...

      Et j'ai du bidouiller avec une knoppix (merci knoppix au passage) pour réinstaller un coup lilo et au passage, re-bidouiller le fstab

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.