Forum Linux.redhat Accès vfat sous Fedora Core 2

Posté par  .
Étiquettes :
0
3
déc.
2004
Hotep à tous,

J'ai backupé un disque dur contenant un système de fichier WinME/95 donc vfat sur mon disque en un seul fichier avec la commande dd.
J'ai checksumé et le contenu est bien conforme à l'ancien disque.

Maintenant je veux récupérer son contenu et sur la FC2 y a pas moyen apparement ...
- Mon noyau 2.6.9-1.3_FC2smp
- ma commande : mount mon_backup /mnt/rep_a_monter -t vfat -o loop

La commande ne fonctionne pas vraiment et je dois avouer que je désespère un peu . . .

Quelqu'un aurait il déja tenté cette expérience et surtout ... réussi ?

merci de vos conseils, liens (j'ai pas mal googlé) et solutions

merci
  • # Erreur?

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

    Avec l'erreur ca aiderait enormement...
    • [^] # Re: Erreur?

      Posté par  . Évalué à 1.

      Bonsoir,

      euh oui effectivement !

      [toto@localhost ]# mount mon_hda_a_moi_20040618 t -t vfat -o loop
      mount: type de sys. de fichiers erroné, option erronée, super bloc erroné sur /dev/loop0,
      ou trop de systèmes de fichiers montés
      (could this be the IDE device where you in fact use
      ide-scsi so that sr0 or sda or so is needed?)

      voilaa !
  • # Accès vfat sous Fedora Core 2

    Posté par  . Évalué à 1.

    > un seul fichier avec la commande dd.

    C'est la partition Windows ou tout le disque que tu as copié ?
    Si c'est tout le disque, il est normal que ça ne marche pas.
    Essai de trouver où commence la partition puis utilise :
    $ losetup -o 512 /dev/loop0 mon_backup

    Que retourne :
    $ file /mnt/mon_backup
    • [^] # Re: Accès vfat sous Fedora Core 2

      Posté par  . Évalué à 1.

      Oui effectivement c'est tout le disque que j'ai copié. Il n'avait cependant qu'une partition

      Voici le résultat de la commande file :

      [toto@localhost Temp]# file mon_hda_a_moi_20040618
      mon_hda_a_moi_20040618: x86 boot sector, code offset 0x48

      autre chose je me suis trompé j'ai fait
      $ losetup -o 512 /dev/loop0 mon_back

      avant le file, j'espère que ça n'a pas de conséquence...
      • [^] # Re: Accès vfat sous Fedora Core 2

        Posté par  . Évalué à 2.

        > j'espère que ça n'a pas de conséquence...

        Non, il n'y en a pas.

        Utilises :
        $ losetup -o 512 /dev/loop0 mon_backup
        $ head /dev/loop0 > out
        $ file out
        $ losetup -d /dev/loop0

        Fais des essais avec 512, 1024, 1536, 2048, etc...
        Lors que "file out" te dis que c'est un FS vfat, monte /dev/loop0 :
        $ mount -t vfat -o ro /dev/loop0 /mnt/rep_a_monter.

        Puisque tu installes une nouvelle distribution, Fedora Core 3 est sorti il y a un mois...
        • [^] # Re: Accès vfat sous Fedora Core 2

          Posté par  . Évalué à 1.

          J'en suis à 5120 et toujours 'file out' donne 'data'

          Je continue ...

          Sinon merci pour la FC3, je comptais l'installer "pour voir" mais pour le moment la FC2 a beaucoup de miroir yum et est abondamment mis à jour en paquetage :> ...
          • [^] # Re: Accès vfat sous Fedora Core 2

            Posté par  . Évalué à 3.

            J'ai trouvé une solution.
            Je te donne un exemple.

            Ici, mon_backup a une partion ext3.

            [root@localhost tmp]# losetup /dev/loop9 mon_backup
            [root@localhost tmp]# sfdisk --no-reread -d /dev/loop9
            # table de partitions de /dev/loop9
            unit: sectors

            /dev/loop9p1 : start= 63, size= 37913337, Id=83, bootable
            /dev/loop9p2 : start= 37913400, size= 2104515, Id=82
            /dev/loop9p3 : start= 0, size= 0, Id= 0
            /dev/loop9p4 : start= 0, size= 0, Id= 0


            La patition commence à 63*512(32256). Vérification :

            [root@localhost tmp]# dd if=/dev/loop9 bs=512 skip=63 count=10 of=out
            10+0 enregistrements lus.
            10+0 enregistrements écrits.
            [root@one tmp]# file out
            out: Linux rev 1.0 ext3 filesystem data (large files)


            Essais :
            [root@localhost tmp]# losetup -d /dev/loop9
            [root@localhost tmp]# losetup -o 32256 /dev/loop9 /dev/small
            [root@localhost tmp]# mkdir mnt
            [root@localhost tmp]# mount -t auto -o ro /dev/loop9 mnt
            [root@localhost tmp]# grep loop9 /proc/mounts
            /dev/loop9 /tmp/mnt ext3 ro 0 0


            Ça marche !
            • [^] # Re: Accès vfat sous Fedora Core 2

              Posté par  . Évalué à 1.

              63*512(32256) c'est exactement ce que j'ai trouvé empiriquement en iterant sur les premiers multiples de 512 voir plus bas.

              J'ai réussi exactement avec les premières commandes que tu m'avais donné . . .

              les explications que tu donnes vont venir alimenter ma compréhension dans ce domaine .
          • [^] # Re: Accès vfat sous Fedora Core 2

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

            Pour infos la plupart des repositories qui fournissent la FC2 (diag, dries, livna, newrpm, freshrpm) ont désormais un repository FC3, autant dire que tout le monde à migrer. Pour les rpm que tu trouves par-ci par-là sur d'autres sites qui ne sont sorti que pour FC2 tu peux toujours essayer de les installer : dans 95% des cas ils passent sans problème sous FC3. Bref tout ca pour dire que dans l'ensemble tu peux migrer sans te soucier de la disponibilité des derniers paquets ;)
        • [^] # Re: Accès vfat sous Fedora Core 2

          Posté par  . Évalué à 1.

          J'ai fait un script qui fait la manip de 512 à 297472 et toujours pas de FS vfat ...

          continue je ?
          • [^] # Re: Accès vfat sous Fedora Core 2

            Posté par  . Évalué à 1.

            Bon ne tiens pas compte de mon post, j'avais oublié de mettre la variable du for, ce qui fasait que j'itérait toujours sur le même argument.

            Voila ce que j'ai

            pour 32256

            out: x86 boot sector, code offset 0x58, OEM-ID "MSWIN4.1", sectors/cluster 64, Media descriptor 0xf8, heads 255, hidden sectors 63, sectors 78236487 (volumes > 32 MB) , FAT (32 bit), sectors/FAT 9550, reserved3 0x800000, serial number 0x2a3317d9, label: "MANGOUSTE "

            je fait la manip que tu as décrite ...

            @+
            • [^] # Re: Accès vfat sous Fedora Core 2

              Posté par  . Évalué à 1.

              Ça marche ! !! !! !! !

              Alors là Merci vraiment , tu me sauves ! ! !! ça faisait des mois que j'arrivais pas à y acceder, 40 Go qd même ...
              J'aurais du venir poster plus tôt ...

              Encore merci et j'essaierai de comprendre l'histoire des périphérique loop là parce que je dois avouer que c'est pas clair ..
              • [^] # Re: Accès vfat sous Fedora Core 2

                Posté par  . Évalué à 3.

                > j'essaierai de comprendre l'histoire des périphérique loop

                loop, ce n'est pas compliqué.

                loop crée un périphérique block (au sens OS et pas au sens hardware) à partir d'un fichier (il peut aussi le faire avec un autre périphérique block). Avec loop, le contenu du fichier est accessible depuis un périphérique block. Loop est une sorte d'interface "périphérique block" => "fichier".
                Un périphérique block (par exemple /dev/hda ou /dev/hda1) a la caractéristique d'avoir un accès aléatoire (ce n'est pas une bande magnétique), d'avoir des données et une taille connue (qui peut être modifié à la volée dans quelques cas particuliers (lvm)).
                Donc /dev/loop0 est vu par l'OS comme /dev/hda et l'OS peut monter un system de fichier sur /dev/loop0.

                C'est nécessaire car le noyau ne monte un système de fichier qu'à partir d'un périphérique block. Théoriquement, il n'y a pas de raison pour empêcher le noyau de monter un système de fichier depuis un fichier normal directement. Mais aparament ça pose des problèmes et donc il faut utiliser une interface loop.

                L'autre intérêt de loop, est de faire des traitements dans l'interface "périphérique block" => "fichier". Par exemple de crypter.
                C'était fait avec Linux < 2.6. Avec Linux 2.6, c'est dm-crypt (via device-mapper) qui fait ça.

                "mount ... -o loop ..." crée un périphérique loop automatiquement.
                Si tu fais cat /proc/mounts et que tu as un système de fichier monté avec "mount ... -o loop ..." tu auras :
                /dev/loop0 /répertoire vfat ro 0 0
                • [^] # Re: Accès vfat sous Fedora Core 2

                  Posté par  . Évalué à 1.

                  Merci pour ces explications, malheureusement je ne peux te pertinenter qu'une fois !!

                  Soirée très instructive ... :>

Suivre le flux des commentaires

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