Comment supprimer iso 9660 de l'USB?

21

J'ai réussi à écrire une image ISO 9660 sur ma clé USB, ce qui donne à tout mon ordinateur le sentiment que l'appareil est en fait un CD. J'ai essayé diverses méthodes pour supprimer cette partition, mais rien ne semble fonctionner. J'ai essayé fdisk, qui dit

$ fdisk -l / dev / sdb
Impossible d'ouvrir / dev / sdb
J'ai eu un crash lorsque j'essaie de l'utiliser sur cet appareil.

J'ai même essayé

$ dd si = / dev / zéro de = / dev / sdb
mais il se bloque sans aucune sortie (que ce soit sur l'écran ou sur le disque). Cependant, lorsque je branche le port USB, il monte et je peux voir (mais pas éditer) les fichiers qu'il contient.

edit : maintenant le résultat est

$ dd si = / dev / zéro de = / dev / sdb
dd: ouverture de `/ dev / sdb ': système de fichiers en lecture seule

J'ai également essayé de le reformater sous Windows, mais le processus de formatage se termine, puis le message "Impossible de formater le lecteur".

Comment puis-je supprimer cette partition et ramener tout mon lecteur USB à la normale?

EDIT 1 : Essayer un simple mkfsne fonctionne pas:

$ sudo mkfs -t vfat / dev / sdb
mkfs.vfat 3.0.0 (28 sept. 2008)
mkfs.vfat: n'essaiera pas de créer un système de fichiers sur le disque '' / dev / sdb '(utilisez -I si vous le souhaitez)
Je ne peux pas faire mkfssur /dev/sdb1parce qu'il n'y a pas une telle partition, comme le montre:
$ ls / dev | grep sdb
sdb

EDIT 2 : Voici les informations publiées par dmesg lorsque je branche l’appareil dans:

$ dmesg
.
. (couper)
.
USB 2-1: Nouveau périphérique USB trouvé, idVendor = 058f, idProduct = 6387
USB 2-1: Nouvelles chaînes de périphériques USB: Mfr = 1, Produit = 2, SerialNumber = 3
usb 2-1: Produit: Stockage de masse
usb 2-1: Fabricant: Générique
usb 2-1: numéro de série: G0905000000000010885
stockage usb: appareil trouvé à 4
usb-storage: attend que le périphérique soit réglé avant de scanner
usb-storage: analyse complète de l'appareil
scsi 6: 0: 0: 0: Lecteur FLASH à accès direct AU_USB20 8.07 PQ: 0 ANSI: 2
sd 6: 0: 0: 0: [sdb] 4069376 Secteurs matériels de 512 octets (2084 Mo)
sd 6: 0: 0: 0: [sdb] La protection en écriture est désactivée
sd 6: 0: 0: 0: [sdb] Sens du mode: 03 00 00 00
sd 6: 0: 0: 0: [sdb] En supposant que le cache du lecteur: écrive
sd 6: 0: 0: 0: [sdb] 4069376 Secteurs matériels de 512 octets (2084 Mo)
sd 6: 0: 0: 0: [sdb] La protection en écriture est désactivée
sd 6: 0: 0: 0: [sdb] Sens du mode: 03 00 00 00
sd 6: 0: 0: 0: [sdb] En supposant que le cache du lecteur: écrive
 sdb: table de partition inconnue
sd 6: 0: 0: 0: [sdb] Disque amovible SCSI connecté
sd 6: 0: 0: 0: attaché scsi générique sg2 type 0
Extensions ISO 9660: Microsoft Joliet niveau 3
Extensions ISO 9660: RRIP_1991A
SELinux: initialisé (dev sdb, type iso9660), utilise genfs_contexts
CE: hpet augmentant min_delta_ns à 15 000 nsec
Cela montre que le périphérique est au format ISO 9660 et qu'il l' est /dev/sdb .

EDIT 3 : Voici le message que je trouve au bas de dmesgaprès avoir lancé cfdisket écrit une nouvelle table de partition sur le disque:

SELinux: initialisé (dev sdb, type iso9660), utilise genfs_contexts
sd 17: 0: 0: 0: [sdb] Périphérique non prêt: Touche de détection: Pas prêt [en cours] 
sd 17: 0: 0: 0: [sdb] Périphérique non prêt: <> ASC = 0xff ASCQ = 0xffASC = 0xff <> ASCQ = 0xff
end_request: erreur d'E / S, dev sdb, secteur 0
Erreur d'entrée / sortie de la mémoire tampon sur la sdb du périphérique, bloc logique 0
Ecriture de page perdue à cause d'une erreur d'E / S sur sdb

a_m0d
la source
Êtes-vous sûr qu'il se charge toujours dans / dev / sdb? Si vous regardez la fin de / var / log / messages après l'installation du périphérique, vous verrez les messages du journal relatifs à son montage automatique.
mas
3
Etes-vous sûr qu'il n'est pas actuellement monté avec cdfs ou équivalent?
RBerteig
1
@ Slink84: Je pense que je suis juste allé sudo dd if=some.iso of=/dev/sdb- je ne me souviens pas avoir fait quoi que ce soit d'autre qui pourrait le faire
a_m0d
1
L'image était une image standard eeebuntu-3.0.0 - je ne sais pas qui fabrique l'appareil, mais je pense que c'est Toshiba
a_m0d
1
À partir de la paire VID / PID, il est fabriqué par "Alcor Micro Corp." et constitue un "lecteur Flash Transcend JetFlash". J'utilise la liste sur linux-usb.org/usb.ids pour rechercher ces informations.
RBerteig

Réponses:

7

D'accord, il s'avère que dans ce cas, quelque chose (éventuellement lorsque j'ai écrit le système de fichiers iso-9660 sur le lecteur) a déclenché une forme de protection interne en écriture sur le lecteur. Il n’existe pas de commutateur externe de protection en écriture / maintien, mais c’est pourtant la sortie dmesglorsque je lance

dd if=/dev/zero of=/dev/sdb

en tant que root:

sd 9: 0: 0: 0: [sdb] Ajouter. Sens: protégé en écriture
end_request: erreur d'E / S, dev sdb, secteur 4028744
sd 9: 0: 0: 0: [sdb] Résultat: hostbyte = DID_OK driverbyte = DRIVER_SENSE, SUGGEST_OK
sd 9: 0: 0: 0: [sdb] clé de détection: protection de données [actuelle] 
Info fld = 0x0

Notez les commentaires sur la protection! Cependant, lorsque je branche le périphérique, je reçois,

scsi 10: 0: 0: 0: Lecteur FLASH à accès direct AU_USB20 8.07 PQ: 0 ANSI: 2
sd 10: 0: 0: 0: [sdb] 4069376 Secteurs matériels de 512 octets (2084 Mo)
sd 10: 0: 0: 0: [sdb] La protection en écriture est désactivée
sd 10: 0: 0: 0: [sdb] Sens du mode: 03 00 00 00
sd 10: 0: 0: 0: [sdb] En supposant que le cache du lecteur: écrive
sd 10: 0: 0: 0: [sdb] 4069376 Secteurs matériels de 512 octets (2084 Mo)
sd 10: 0: 0: 0: [sdb] La protection en écriture est désactivée
sd 10: 0: 0: 0: [sdb] Sens du mode: 03 00 00 00
sd 10: 0: 0: 0: [sdb] En supposant que le cache du lecteur: écrive

Notez que ce message indique que le périphérique n'est pas protégé en écriture! Donc, malheureusement, il semble que le disque en soit doté ( kaput ).

a_m0d
la source
Dans le passé, j’avais entendu parler de périphériques flash qui sont devenus brouillés si vous utilisiez un système de fichiers non-FAT avec eux (car ils utilisaient le FAT pour savoir quels blocs étaient inutilisés et pouvaient être supprimés). Je n'ai pas entendu parler de cela depuis longtemps et je n'ai rien trouvé à ce sujet avec une recherche rapide sur Google.
CesarB
Jusqu'à présent, j'ai trouvé une personne mentionnant la dépendance à la FAT: linux.derkeiler.com/Mailing-Lists/Debian/2008-08/msg00761.html
CesarB Le
Désolé d'entendre que c'est mort ... Heh, je devrais être heureux de ne pas avoir réussi à reproduire votre problème:] Même si je l'ai essayé sur un vieux disque 'jetable', il serait toujours triste de le perdre si façon.
Kirill Strizhak le
oui, surtout que c'était seulement à peu près une semaine! eh bien ...
a_m0d
1
J'ai trouvé ce que je cherchais: lkml.org/lkml/2009/3/16/363 ("Certains fabricants de SDD (je ne sais pas lesquels) examinent en fait la table de partition et font des choses différentes. Je le sais parce sont en permanence briques si l'on écrit une table de partition invalide. ")
CesarB 10/09
6

Je suis nouveau dans ce système d’administration Linux, alors quand j’ai eu exactement le même problème, j’ai fouillé sans faire de folie à ma méthode, mais j’ai réussi à retirer le fs iso9660 et à récupérer la clé USB.

sudo fdisk -l  /dev/sdb1

revenu

Disk /dev/sdb1: 16.0 GB, 16037969920 bytes
64 heads, 32 sectors/track, 15295 cylinders, total 31324160 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I>/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x57155aa7

     Device Boot      Start         End      Blocks   Id  System
/dev/sdb1p1            2048    31324159    15661056    5  Extended

Alors j'ai ensuite essayé

sudo fdisk /dev/sdb1

Command (m for help): m
Command action
  . . .

suivi par

Command (m for help): d Extended
Selected partition 1

Command (m for help): v
Remaining 31324159 unallocated 512-byte sectors

Puis, lorsque vous êtes invité à nouveau, sélectionnez fdisk pour créer une table de partition DOS vide (quelque chose que je pensais pouvoir écraser avec ce que je voulais plus tard).

Command (m for help): v
Remaining 31324159 unallocated 512-byte sectors

Command (m for help): o
Building a new DOS disklabel with disk identifier 0xea06616f.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 22: Invalid argument.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

J'ai pris les messages retournés pour signifier que j'avais au moins "cassé" l'iso9660 fs alors suis allé essayer mkfs

sudo mkfs /dev/sdb1

mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
979200 inodes, 3915520 blocks
.195776 blocks (5.00%) reserved for the super user
First data block=0
.Maximum filesystem blocks=4009754624
120 block groups
32768 blocks per group, 32768 fragments per group
8160 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Writing inode tables: done                            
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

Tout cela m'a laissé avec le répertoire "lost + found" sur la clé USB.

sudo mount /dev/sdb1 /media/
ls /media/
lost+found

Enfin, je suis allé sur le site Web Ubuntu ( http://www.ubuntu.com/download/ubuntu/download , section 2) et ai utilisé le stick pour créer une image de démarrage d'Ubuntu à des fins d'essai, et cela m'a permis. La beauté des images Ubuntu créées sur le stick de cette manière réside dans le fait qu’elles peuvent être supprimées facilement et que le stick est récupéré pour un autre usage.

Je mentionne cette toute dernière étape car, avec le recul, je me demande si j’avais fait cela en premier lieu, cela aurait fonctionné, je ne sais pas. Comme mentionné, je suis nouveau dans ce domaine Linux et j'essaye différentes distributions (par exemple, Fedora, Ubuntu, etc.) sur des CD live avec le support le plus pratique, et je casserai certainement beaucoup de choses en cours de route.

David Cantwell
la source
J'aimerais essayer vos démarches pour voir si cela résoudrait le problème, mais je ne semble plus avoir le bâton, alors malheureusement, je ne sais pas si cela aiderait. Néanmoins, cela pourrait toujours être utile aux autres personnes ayant le même problème.
a_m0d
5
mkdosfs -I /dev/sdb

créera un système de fichiers vfat sur le lecteur. L'option -I doit être transmise si vous souhaitez que le système de fichiers soit créé sur l'intégralité du lecteur et non sur une partition. Si vous voulez d'abord partitionner le lecteur, utilisez fdisk. Bien sûr, fdisk ne peut pas lire le disque maintenant, car il ne contient aucune partition. Mais je suis sûr qu'il saura y écrire.

Kim
la source
Ne fonctionne pas - imprime simplement le numéro de version et quitte. En outre, fdisk est "Impossible d'écrire / dev / sdb"
a_m0d
Je viens d'essayer la commande et il écrit sur le périphérique spécifié. En outre, il n’imprime que le numéro de version. Vous pouvez tester cela avec un fichier normal que vous avez créé avec dd. Vous pouvez voir les changements qu’il fait avec od. Je suppose que c'est un problème matériel.
Kim
1
cela m'a permis de supprimer une image démarrable Centos lorsque toutes les solutions ci-dessus avaient échoué.
mardi
2

En regardant l' dmesgextrait, il semble que quelque chose est automatiquement monté le lecteur (vérifier avec mount). Avant de faire quoi que ce soit, vous devez le démonter à la main.

Mettez ensuite le bloc à zéro avec la partition table ( dd if=/dev/zero of=... bs=512 count=1) et exécutez un outil de partitionnement pour recréer une table de partition vide. Après cela, débranchez et replacez (ne devrait pas être nécessaire, mais ...) et créez / formatez les partitions souhaitées. Après avoir créé les partitions (vous devrez peut-être débrancher et replacer à nouveau), vous devriez avoir /dev/sdb1ou quelque chose comme ça, qui est l'endroit où vous devriez créer le système de fichiers.

Notez que toutes les étapes doivent être effectuées en tant que root (avec sudoou équivalent). Veillez à ne pas écrire le mauvais nom de périphérique, sinon vous pourriez effacer votre disque dur!

CesarB
la source
1
C'est ce que j'ai fait, mais même si tout le disque semble rempli de zéros, il monte et lit quand même le disque!
a_m0d
1

J'ai toujours le sentiment que nous présumons que quelque chose va se révéler faux. Puisque le périphérique est lisible, cette ligne vous permettra au moins de voir les données vous-même, plutôt que de dépendre des interprétations des autres programmes.

dd if = / dev / sdb count = 1 | xxd -g1 -u

De plus, nous pourrions peut-être dissocier les problèmes liés au nœud de développement des problèmes liés à ce qu'il y a sur le périphérique, en le forçant sur un autre port. Soit branchez-le sur une autre prise USB, soit branchez un autre disque en premier pour occuper sdb.

gbarry
la source
hmm ... l'utilisation de cette commande m'indique que le périphérique est rempli de zéros, ce qui est probablement dû au fait que j'ai finalement réussi à le faire dd if=/dev/zero of=/dev/sdbfonctionner. Cependant, fedora monte toujours le périphérique en tant que ff ISO9660 lorsqu’il est branché!
a_m0d
Est-ce que Linux utilise toujours / etc / fstab? C'est là que ces "associations" étaient stockées.
gbarry
Non, son utilisation (je pense) udev, ou quoi que ce soit qui monte automatiquement le lecteur.
a_m0d
1

Actuellement, votre clé USB n'a pas de table de partition, le système de fichiers iso9660 est directement assis sur le disque entier (comme un cdrom)

sd 6:0:0:0: [sdb] Assuming drive cache: write through
 sdb: unknown partition table

Je pense que vous devez d'abord faire une partition

sudo cfdisk /dev/sdb

(assurez-vous qu'il n'est pas monté auparavant) dans l'application fdisk, créez une nouvelle partition.

après cela, placez le système de fichiers sur la nouvelle partition

sudo mkfs -t vfat /dev/sdb1
Joakim Elofsson
la source
Essayé ceci; cfdisk ne produit aucun message d'erreur, mais un rapide coup d'œil dmesgmontre qu'il y a en fait un message d'erreur. (voir Edit 3 en question ci-dessus)
a_m0d le
1

J'ai eu exactement le même problème que toi. Cependant, j'ai pu trouver une solution à partir d'un endroit surprenant. Un ancien ordinateur portable avec Windows 98SE, qui est le dernier système Windows que j'ai jamais possédé. Quoi qu'il en soit, insérez-le simplement et lorsque vous essayez d'accéder au lecteur, Windows vous demandera si vous souhaitez le formater. Cliquez sur Oui et vous aurez un lecteur au format fat16 entièrement fonctionnel. Je ne sais pas si cela fonctionne avec les nouvelles versions de Windows cependant. Bonne chance.

Anonyme
la source
Jusqu'au niveau
1

Peut-être avec un simple

mkfs -t vfat /dev/sdb1
Vinko Vrsalovic
la source
Ne fonctionne pas - voir modifier à la question
a_m0d
1

La nuit dernière j'ai fait

dd if=fedora.iso of=sdx  

Après quatre heures, j'avais une brique iso9660 non amorçable, immuable. À la suite des réflexions de David, j'ai appelé le «créateur de disque de démarrage» d'Ubuntu (tapez «créateur de disque de démarrage» dans le tiret) et simplement sélectionné «effacer». Cela l'a fait.

Le lecteur USB a ensuite été signalé comme étant FAT32 et tout va bien.

dan
la source
Parfois, il est approprié d'utiliser un marteau, comme celui-ci. Je me demande ce qui était dans les premiers secteurs de la commande.
vgoff
0

Retirez le lecteur et voyez si vous pouvez toujours le lire. Je me demande si d'une manière ou d'une autre / dev / usb (ou d'où que vous lisiez) soit devenu un répertoire de fichiers ordinaire.

gbarry
la source
J'ai essayé - quand je le rebranche, il se monte bien, et je peux tout lire bien. Selon mount, il s’agit d’un système de fichiers iso9660. Cependant, gparted ne montre que 2 Go d’espace non alloué sur le lecteur. ddse plaint que / dev / sdb est un système de fichiers en lecture seule
a_m0d
0

Avez-vous essayé de le remonter avec l'option -t?

umount / dev / sdb
sudo monte -t ​​vfat / dev / sdb / mnt / point

Si cela ne fonctionne pas, j'essaierai de le reproduire plus tard, quand je rentrerai à la maison. Cela semble être un problème intéressant. Sera amusant de bricoler avec:]

Kirill Strizhak
la source
Hah, nah, ne fonctionne pas, car mountvérifie d'abord le type de fichier
a_m0d
Oui, on en soupçonnait tout autant:] Ok, plus d'idées "à l'improviste".
Kirill Strizhak
0

La meilleure façon de le faire est:

# wipefs --all /dev/sdX

A partir du wipefsmanuel:

wipefs peut effacer les signatures de système de fichiers, de raid ou de table de partition (chaînes magiques) du périphérique spécifié pour rendre les signatures invisibles pour libblkid.

wipefs n'efface pas le système de fichiers ni aucune autre donnée de l'appareil. Wipefs répertorie tous les systèmes de fichiers visibles ainsi que les décalages de leurs signatures de base.

wipefs appelle BLKRRPART ioctl lorsqu'il a effacé une signature de table de partition pour informer le noyau de la modification.

Cela présente de nombreux avantages, comme informer le noyau de la modification (afin d'éviter toute erreur lors du formatage ultérieur), de ne pas effacer les données ni les systèmes de fichiers , etc.

emi
la source
-1

U3 dispose d'un utilitaire pour supprimer sa partition U3. Il supprime également la partition / le périphérique créé par l'utilitaire qui crée l'iso 9660. Cela n'a été confirmé que sur une clé USB u3, mais il peut maintenant être formaté et récupérer totalement l'espace en tant que clé USB. Vous pourriez tenter le coup.

KnockNrod
la source