Forum général.général Arrive pas à reformater ma clé USB

Posté par  (site web personnel) .
Étiquettes : aucune
0
26
mai
2006
Depuis quelques jours, le windows du boulot m'a cassé ma clé usb. Il n'arrive plus à lire dedans et me propose d formater

En désespoire de cause, je me résoud à formater. Mais la clé est bloqué en écriture.


# lsusb
Bus 004 Device 006: ID 067b:2517 Prolific Technology, Inc. Flash Disk Mass Storage Device
Bus 004 Device 005: ID 067b:2515 Prolific Technology, Inc. Flash Disk Embedded Hub
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 003: ID 046d:c03d Logitech, Inc.
Bus 001 Device 001: ID 0000:0000


#fdisk -l /dev/sda

Disque /dev/sda: 130 Mo, 130023424 octets
4 têtes, 62 secteurs/piste, 1024 cylindres
Unités = cylindres de 248 * 512 = 126976 octets

Disque /dev/sda ne contient pas une table de partition valide


# mkfs -t ext3 /dev/sda
mke2fs 1.38 (30-Jun-2005)
/dev/sda est le périphérique en entier, pas seulement juste une partition!
Procéder malgré tout? (y pour oui, n puor non) y
/dev/sda: Système de fichiers accessible en lecture seulement lors de l'initialisation du superblc




Y a t-il un moyen de passer outre ?
  • # Partoches, partoches ...

    Posté par  . Évalué à 8.

    As-tu exécuté ces commandes sciemment ou bien as-tu essayé tout cela au hasard ?

    Il faut savoir qu'un disque dur ou un périphérique de stockage de masse quel qu'il soit est présenté au système par son contrôleur comme une suite linéaire de secteurs de 512 octets chacun (linéaire en LBA, mais de toutes façons il y a bien longtemps que plus personne n'utilise le modèle CHS, que le système convertit dans tous les cas en linéaire). Bref, avant d'écraser le contenu de ta clé, tu pouvais faire un cat /dev/sda > fichier, ou plus proprement un dd if=/dev/sda of=fichier bs=512, et tu travaillais sur la copie, en la montant avec un -o loop.

    Il y a de fortes chances pour que la table des partitions ait été corrompue. Dans ce cas, on peut essayer de la reconstruire. Sous Windows, le réflexe reste encore trop souvent first reboot, then reinstall.


    Ce qu'il fallait faire, c'était recréer toi-même une partition avec fdisk, puisque visiblement la table n'était plus valide, et pas recréer un filesystem sur la clé entière. En faisant cela, tu gagnes peut-être une piste, mais tu risques de perturber tous les auto-monteurs et je ne suis même pas sûr que Windows soit capable de reconnaître cela (j'ai pas essayé).

    Pour les droits en écriture, vérifie dans un premier temps que ta clé elle-même ne soit pas physiquement verrouillée en écriture (commutateur sur le coté) auquel cas il te faudra peut-être débrancher et rebrancher ta clé car il y a une chance que le module noyau l'ait détectée comme read-only dès le départ, puis jette un ½il aux droits d'accès de /dev/sda avec ls -l /dev/sda* ...
    • [^] # Re: Partoches, partoches ...

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

      Merci c'était instructif et synthétique.

      Alors, j'ai commencé par lancer la copie et le résultat m'inspire de grosses craintes :

      # ls -l /dev/sda*
      brw-rw---- 1 root disk 8, 0 mai 27 02:00 /dev/sda
      # dd if=/dev/sda of=cle bs=512
      dd: lecture de `/dev/sda': Erreur d'entrée/sortie
      64+0 enregistrements lus.
      64+0 enregistrements écrits.
      [root@192 totemGuHGb7]#


      Ensuite, j'ai pas de commutateur sur le côté.

      Sur le site du fabriquant de la clé, on ne trouve rien d'intéressant. Tant pis, sinon, ça sera une clé neuve :(

      « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

      • [^] # Re: Partoches, partoches ...

        Posté par  . Évalué à 4.

        Il est possible que ta clé soit physiquement défectueuse, ce qui expliquerait pourquoi Windows te l'a corrompue. Il faudrait que tu fasses un dmesg pour voir quels sont les messages noyau émis lorsque tu tentes d'y accéder.

        Enfin, comme dit plus bas, l'ext3 c'est bien, mais ça risque de ne pas être très « portable ». Quand tout remarchera, crée une seule grosse partition primaire avec fdisk sur l'intégralité de ta clé, puis formatte-la en vfat plutôt qu'en ext3. Elle aura plus de chances d'être reconnue sur d'autres machines.
        • [^] # Re: Partoches, partoches ...

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

          Je voulais utiliser l'ext3 pour le test, je l'aurai reformaté en fat32 après sous windows.

          Lorsque je tente de lire le contenu, le système émet les erreurs suivantes (obtenues avec dmesg) :

          SCSI error : <2 0 0 0> return code = 0x8000002
          sda: Current: sense key: Medium Error
          Additional sense: Unrecovered read error
          end_request: I/O error, dev sda, sector 4800
          Buffer I/O error on device sda, logical block 600
          SCSI error : <2 0 0 0> return code = 0x8000002
          sda: Current: sense key: Medium Error
          Additional sense: Unrecovered read error
          end_request: I/O error, dev sda, sector 4808
          Buffer I/O error on device sda, logical block 601
          SCSI error : <2 0 0 0> return code = 0x8000002
          sda: Current: sense key: Medium Error
          Additional sense: Unrecovered read error
          end_request: I/O error, dev sda, sector 4816
          Buffer I/O error on device sda, logical block 602
          SCSI error : <2 0 0 0> return code = 0x8000002
          sda: Current: sense key: Medium Error
          Additional sense: Unrecovered read error
          end_request: I/O error, dev sda, sector 4824
          Buffer I/O error on device sda, logical block 603
          SCSI error : <2 0 0 0> return code = 0x8000002
          sda: Current: sense key: Medium Error
          Additional sense: Unrecovered read error
          end_request: I/O error, dev sda, sector 4832
          Buffer I/O error on device sda, logical block 604
          SCSI error : <2 0 0 0> return code = 0x8000002
          sda: Current: sense key: Medium Error
          Additional sense: Unrecovered read error
          end_request: I/O error, dev sda, sector 4840
          Buffer I/O error on device sda, logical block 605
          SCSI error : <2 0 0 0> return code = 0x8000002
          sda: Current: sense key: Medium Error
          Additional sense: Unrecovered read error
          end_request: I/O error, dev sda, sector 4848
          Buffer I/O error on device sda, logical block 606
          SCSI error : <2 0 0 0> return code = 0x8000002
          sda: Current: sense key: Medium Error
          Additional sense: Unrecovered read error
          end_request: I/O error, dev sda, sector 4856
          Buffer I/O error on device sda, logical block 607
          SCSI error : <2 0 0 0> return code = 0x8000002
          sda: Current: sense key: Medium Error
          Additional sense: Unrecovered read error
          end_request: I/O error, dev sda, sector 4864
          Buffer I/O error on device sda, logical block 608
          SCSI error : <2 0 0 0> return code = 0x8000002
          sda: Current: sense key: Medium Error
          Additional sense: Unrecovered read error
          end_request: I/O error, dev sda, sector 4872
          Buffer I/O error on device sda, logical block 609
          SCSI error : <2 0 0 0> return code = 0x8000002
          sda: Current: sense key: Medium Error
          Additional sense: Unrecovered read error
          end_request: I/O error, dev sda, sector 4880
          SCSI error : <2 0 0 0> return code = 0x8000002
          sda: Current: sense key: Medium Error
          Additional sense: Unrecovered read error
          end_request: I/O error, dev sda, sector 4888
          SCSI error : <2 0 0 0> return code = 0x8000002
          sda: Current: sense key: Medium Error
          Additional sense: Unrecovered read error
          end_request: I/O error, dev sda, sector 4896
          SCSI error : <2 0 0 0> return code = 0x8000002
          sda: Current: sense key: Medium Error
          Additional sense: Unrecovered read error
          end_request: I/O error, dev sda, sector 4904
          SCSI error : <2 0 0 0> return code = 0x8000002
          sda: Current: sense key: Medium Error
          Additional sense: Unrecovered read error
          end_request: I/O error, dev sda, sector 4912
          SCSI error : <2 0 0 0> return code = 0x8000002
          sda: Current: sense key: Medium Error
          Additional sense: Unrecovered read error
          end_request: I/O error, dev sda, sector 4920
          usb 4-2.1: reset high speed USB device using ehci_hcd and address 8
          scsi: Device offlined - not ready after error recovery: host 2 channel 0 id 0 lun 0
          SCSI error : <2 0 0 0> return code = 0x8000002
          Unrecognized sense data (in hex):
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
          end_request: I/O error, dev sda, sector 4928
          printk: 6 messages suppressed.
          Buffer I/O error on device sda, logical block 616
          scsi2 (0:0): rejecting I/O to offline device
          scsi2 (0:0): rejecting I/O to offline device
          scsi2 (0:0): rejecting I/O to offline device
          scsi2 (0:0): rejecting I/O to offline device
          scsi2 (0:0): rejecting I/O to offline device


          Je pense qu'elle est morte...

          « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

          • [^] # Re: Partoches, partoches ...

            Posté par  . Évalué à 3.

            Je pense qu'elle est morte...


            Il y a de fortes chances. Une mémoire, ce n'est pas un support magnétique avec des plages de secteurs défectueux et un retour à la normale un peu plus loin, mais si l'on en croit la numérotation des blocs de dmesg, tu ne perds rien à essayer un contrôle des blocs défectueux.

            Commence par effacer ta clé : dd if=/dev/zero of=/dev/sda bs=512 en vérifiant bien au préalable que /dev/sda pointe ta clé et pas un autre de tes disques ! Secteurs défectueux probables ...

            Puis fais un fdisk /dev/sda et tente de créer une partition (n puis entrée, puis 1 et entrée pour créer /dev/sda1, et laisse toi guider pour remplir la totalité de ta clé). Si dès cette étape, l'opération échoue (à l'écriture, mode read-only, ...), je crois que l'on peut se résigner.

            Enfin, lance un mkfs.ext2 -c /dev/sda1 pour recréer un filesystem qui isolera les blocs défectueux. Tu perdras un peu en espace mais tu auras un support qui fonctionne.

            Bon, comme on l'a dit, cette procédure s'applique surtout aux disques durs magnétiques traditionnels. Si tes secteurs électroniques sont défectueux, il y a quand même très peu de chances pour que cela marche (et évidemment, le formattage de bas-niveau ne s'applique absolument dans ce cas de figure).
  • # /dev/sda ou /dev/sda1

    Posté par  . Évalué à 3.

    Peut-être une remarque débile, je sais pas si ça à voir... Bien souvent, tu n'as pas directement un système de fichier surla clé, mais un système de fichier dans une partition occupant toute la clé... bref sur /dev/sda1 et non/dev/sda.
    Si c'est le cas, ça peut expliquer que tu ne vois rien en montant /dev/sda au lieu de /dev/sda1. Par contre je sais pas si l'existence d'une partition dans /dev/sda peut empêcher le formatage de celle-ci. Enfin bon, ça coute rien de regarder.
    • [^] # Re: /dev/sda ou /dev/sda1

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

      Bien tenté.

      # dd if=/dev/sda1 of=cle bs=512
      dd: ouverture de `/dev/sda1': Aucun fichier ou répertoire de ce type

      Merci quand même ;-)

      « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • # fdisk

    Posté par  (site web personnel, Mastodon) . Évalué à 6.

    Et refaire une table de partition en effaçant préalablement l'existant, depuis un fdisk /dev/sda ? Ensuite, mkfs.ext3 /dev/sda1 et ça devrait être bon.

    Question: pourquoi faire de l'ext3 si tu dois pouvoir la lire depuis windows?

    La gelée de coings est une chose à ne pas avaler de travers.

  • # le monsieur te dit !

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

    t'es bouché ou quoi !

    le monsieur te dit que t'as nické ta table de partition. donc commences par en refaire une avec fdisk ou mieux cfdisk avec une seule partition primaire

    et puis tu formates la partition pas le périphérique en entier
    • [^] # Re: le monsieur te dit !

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

      Si tu lis bien mes réponses là haut tu constatera que fdisk ou cfdisk, n'ayant pas accès en écriture, ne peuvent reformater la clé.

      En cadeau le message de cfdisk :
      "Disque ouvert en mode lecture seulement - aucune permission d'écriture"

      Bien évidemment, il n'est pas monté.

      « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • # testdisk

    Posté par  . Évalué à 5.

    pour ta clef, elle est peut-être foutue. Désolé. Fais-toi en payer un neuve par ton patron :)

    quoi qu'il en soit, pour le principe, lorsqu'une table de partition est corrompue, on peut souvent la récupérer avec testdisk , dispo dans toutes les bonnes distributions :

    http://www.cgsecurity.org/wiki/TestDisk

    Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

Suivre le flux des commentaires

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