Wie entferne ich iso 9660 von USB?

20

Ich habe es irgendwie geschafft, ein ISO 9660-Image auf mein USB-Laufwerk zu schreiben, sodass mein Computer den Eindruck hat, dass das Gerät tatsächlich eine CD ist. Ich habe verschiedene Methoden zum Entfernen dieser Partition ausprobiert, aber nichts scheint zu funktionieren. Ich habe versucht fdisk, was sagt

$ fdisk -l /dev/sdb
Cannot open /dev/sdb
parted stürzt ab, wenn ich versuche, es auf diesem Gerät zu verwenden.

Ich habe es sogar versucht

$ dd if=/dev/zero of=/dev/sdb
Es hängt jedoch ohne Ausgabe (entweder auf dem Bildschirm oder auf der Festplatte). Wenn ich jedoch den USB-Stecker einstecke, wird er eingehängt und ich kann die darauf befindlichen Dateien anzeigen (aber nicht bearbeiten).

bearbeiten Jetzt ist das Ergebnis

$ dd if=/dev/zero of=/dev/sdb
dd: opening `/dev/sdb': Read-only file system

Ich habe auch versucht, das Format unter Windows neu zu formatieren, aber es ist am Ende des Formatierungsvorgangs angelangt und sagt dann "Laufwerk konnte nicht formatiert werden".

Wie kann ich diese Partition entfernen und mein gesamtes USB-Laufwerk wieder normalisieren?

BEARBEITEN 1 : Versuchen Sie es einfach mkfs funktioniert nicht:

$ sudo mkfs -t vfat /dev/sdb
mkfs.vfat 3.0.0 (28 Sep 2008)
mkfs.vfat: Will not try to make filesystem on full-disk device '/dev/sdb' (use -I if wanted)
Kann ich nicht mkfs auf /dev/sdb1 weil es keine solche Partition gibt, wie gezeigt:
$ ls /dev | grep sdb
sdb

BEARBEITEN 2 : Dies sind die Informationen, die von dmesg gepostet werden, wenn ich das Gerät einstecke:

$ dmesg
.
. (snip)
.
usb 2-1: New USB device found, idVendor=058f, idProduct=6387
usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 2-1: Product: Mass  Storage
usb 2-1: Manufacturer: Generic
usb 2-1: SerialNumber: G0905000000000010885
usb-storage: device found at 4
usb-storage: waiting for device to settle before scanning
usb-storage: device scan complete
scsi 6:0:0:0: Direct-Access     FLASH    Drive  AU_USB20  8.07 PQ: 0 ANSI: 2
sd 6:0:0:0: [sdb] 4069376 512-byte hardware sectors (2084 MB)
sd 6:0:0:0: [sdb] Write Protect is off
sd 6:0:0:0: [sdb] Mode Sense: 03 00 00 00
sd 6:0:0:0: [sdb] Assuming drive cache: write through
sd 6:0:0:0: [sdb] 4069376 512-byte hardware sectors (2084 MB)
sd 6:0:0:0: [sdb] Write Protect is off
sd 6:0:0:0: [sdb] Mode Sense: 03 00 00 00
sd 6:0:0:0: [sdb] Assuming drive cache: write through
 sdb: unknown partition table
sd 6:0:0:0: [sdb] Attached SCSI removable disk
sd 6:0:0:0: Attached scsi generic sg2 type 0
ISO 9660 Extensions: Microsoft Joliet Level 3
ISO 9660 Extensions: RRIP_1991A
SELinux: initialized (dev sdb, type iso9660), uses genfs_contexts
CE: hpet increasing min_delta_ns to 15000 nsec
Dies zeigt, dass das Gerät als ISO 9660 formatiert ist und dass es ist /dev/sdb.

BEARBEITEN 3 : Dies ist die Nachricht, die ich unten finde dmesg nach dem Rennen cfdisk und schreiben Sie eine neue Partitionstabelle auf die Festplatte:

SELinux: initialized (dev sdb, type iso9660), uses genfs_contexts
sd 17:0:0:0: [sdb] Device not ready: Sense Key : Not Ready [current] 
sd 17:0:0:0: [sdb] Device not ready: <> ASC=0xff ASCQ=0xffASC=0xff <> ASCQ=0xff
end_request: I/O error, dev sdb, sector 0
Buffer I/O error on device sdb, logical block 0
lost page write due to I/O error on sdb
a_m0d
quelle
Sind Sie sicher, dass es immer unter / dev / sdb geladen wird? Wenn Sie nach der Installation des Geräts am Ende von / var / log / messages nachsehen, werden die Protokollnachrichten angezeigt, die sich auf dessen Automount beziehen.
mas
3
Sind Sie sicher, dass es derzeit nicht mit cdfs oder ähnlichem geladen ist?
RBerteig
1
@ Slink84: Ich glaube ich bin gerade gegangen sudo dd if=some.iso of=/dev/sdb - Ich kann mich nicht erinnern, irgendetwas anderes gemacht zu haben, das es könnte
a_m0d
1
Das Bild war ein eeebuntu-3.0.0-Standardbild - ich weiß nicht, wer das Gerät herstellt, aber ich denke, es ist Toshiba
a_m0d
1
Vom VID / PID-Paar stammt es von "Alcor Micro Corp." und ist ein "Transcend JetFlash Flash Drive". Ich benutze die Liste bei linux-usb.org/usb.ids diese Dinge nachschlagen.
RBerteig

Antworten:

7

Okay, es stellt sich heraus, dass in diesem Fall etwas (möglicherweise als ich das Dateisystem iso-9660 auf das Laufwerk geschrieben habe) eine Art internen Schreibschutz auf dem Laufwerk ausgelöst hat. Es gibt Nein Externe Schreibschutz- / Halteschalter, aber dies ist der Ausgang in dmesg wenn ich renne

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

als root:

sd 9:0:0:0: [sdb] Add. Sense: Write protected
end_request: I/O error, dev sdb, sector 4028744
sd 9:0:0:0: [sdb] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE,SUGGEST_OK
sd 9:0:0:0: [sdb] Sense Key : Data Protect [current] 
Info fld=0x0

Beachten Sie die dortigen Kommentare zum Schutz! Wenn ich jedoch das Gerät einstecke, bekomme ich

scsi 10:0:0:0: Direct-Access     FLASH    Drive  AU_USB20  8.07 PQ: 0 ANSI: 2
sd 10:0:0:0: [sdb] 4069376 512-byte hardware sectors (2084 MB)
sd 10:0:0:0: [sdb] Write Protect is off
sd 10:0:0:0: [sdb] Mode Sense: 03 00 00 00
sd 10:0:0:0: [sdb] Assuming drive cache: write through
sd 10:0:0:0: [sdb] 4069376 512-byte hardware sectors (2084 MB)
sd 10:0:0:0: [sdb] Write Protect is off
sd 10:0:0:0: [sdb] Mode Sense: 03 00 00 00
sd 10:0:0:0: [sdb] Assuming drive cache: write through

Beachten Sie, dass diese Meldung anzeigt, dass das Gerät ist nicht schreibgeschützt! Leider sieht es so aus, als hätte die Diskette es gehabt (d. H kaputt ).

a_m0d
quelle
Ich habe in der Vergangenheit von Flash-Geräten gehört, die gemauert wurden, wenn Sie jemals ein Nicht-FAT-Dateisystem mit ihnen verwendet haben (weil sie die FAT verwendeten, um zu wissen, welche Blöcke nicht verwendet wurden und verworfen werden konnten). Ich habe schon lange nichts davon gehört und konnte bei einer schnellen Google-Suche nichts darüber finden.
CesarB
Bisher habe ich eine Person gefunden, die die FAT-Abhängigkeit erwähnt: linux.derkeiler.com/Mailing-Lists/Debian/2008-08/msg00761.html
CesarB
Tut mir leid zu hören, dass es tot ist ... Heh, ich sollte froh sein, dass ich es nicht geschafft habe, dein Problem zu reproduzieren:] Obwohl ich es auf einem alten "Einweg" -Laufwerk probiert habe, wäre es trotzdem traurig, es zu verlieren Weg.
Kirill Strizhak
Ja, vor allem, da es nur etwa eine Woche alt war! Naja...
a_m0d
1
Gefunden was ich gesucht habe: lkml.org/lkml/2009/3/16/363 ("Einige SDD-Hersteller (ich weiß nicht, welche)) prüfen die Partitionstabelle und machen verschiedene Dinge. Ich weiß das, weil sie permanent gemauert sind, wenn eine ungültige Partitionstabelle geschrieben wird.
CesarB
6

Ich bin ein Neuling in diesem Linux-sys-Admin-Kram. Als ich genau das gleiche Problem hatte, stieß ich darauf und stieß mit keinem Wahnsinn auf meine Methode. Es gelang mir jedoch, die iso9660 fs zu entfernen und den USB-Stick zurückzuholen.

sudo fdisk -l  /dev/sdb1

ist zurückgekommen

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

Also habe ich es dann versucht

sudo fdisk /dev/sdb1

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

gefolgt von

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

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

Wenn Sie dann erneut aufgefordert wurden, fdisk auszuwählen, um eine leere DOS-Partitionstabelle zu erstellen (etwas, von dem ich dachte, dass ich es mit dem überschreiben könnte, was ich später wollte)

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.

Ich nahm die zurückgegebenen Nachrichten an, um zu bedeuten, dass ich zumindest die iso9660 fs "kaputt gemacht" hatte, also fuhr ich fort, mkfs auszuprobieren

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.

Das alles verließ mich mit dem Verzeichnis "lost + found" auf dem USB-Stick.

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

Schließlich ging ich zur Ubuntu-Website ( http://www.ubuntu.com/download/ubuntu/download , Abschnitt 2) und benutzte den Stick, um ein bootfähiges Bild von Ubuntu für die Testbenutzung zu erstellen, und es ließ mich. Das Schöne an den Ubuntu-Bildern, die auf diese Weise auf dem Stick erstellt wurden, besteht darin, dass sie leicht gelöscht und der Stick für andere Zwecke freigegeben werden kann.

Ich erwähne diesen letzten Schritt, denn im Nachhinein frage ich mich, ob ich genau das getan hätte, als ob es funktioniert hätte, ich weiß nicht. Wie gesagt, ich bin neu in diesem Linux-Kram und probiere verschiedene Distributionen (z. B. Fedora, Ubuntu usw.) auf Live-CDs mit den Medien aus, die für Sie am besten geeignet sind.

David Cantwell
quelle
Ich würde gerne Ihre Schritte ausprobieren, um zu sehen, ob das Problem behoben werden könnte, aber ich scheine den Stock nicht mehr zu haben, daher weiß ich leider nicht, ob sie helfen. Trotzdem kann dies für andere mit demselben Problem hilfreich sein.
a_m0d
5
mkdosfs -I /dev/sdb

erstellt ein vfat-Dateisystem auf dem Laufwerk. Das -I muss übergeben werden, wenn das Dateisystem auf dem gesamten Laufwerk und nicht auf einer Partition erstellt werden soll. Wenn Sie das Laufwerk zuerst partitionieren möchten, verwenden Sie fdisk. Natürlich kann fdisk das Laufwerk jetzt nicht lesen, da es keine Partitionen hat. Aber ich bin mir sicher, dass es schreiben kann.

Kim
quelle
Funktioniert nicht - druckt nur die Versionsnummer und beendet den Vorgang. Außerdem ist fdisk "Kann / dev / sdb nicht schreiben"
a_m0d
Ich habe gerade den Befehl ausprobiert und schreibt auf das angegebene Gerät. Es gibt auch nur die Versionsnummer aus. Sie können dies mit einer regulären Datei testen, die Sie mit dd erstellt haben. Sie können die Änderungen sehen, die mit od vorgenommen werden. Meine Vermutung ist, dass es sich um ein Hardwareproblem handelt.
Kim
1
Dies funktionierte für mich, um ein startfähiges Centos-Image zu entfernen, wenn alle obigen Lösungen fehlgeschlagen waren.
Ⴖuі
2

Mit Blick auf die dmesg Snippet, es scheint, als würde das Laufwerk automatisch von etwas gemountet werden mount ). Bevor Sie irgendetwas damit machen, sollten Sie es von Hand aufstellen.

Dann den Block mit der Partitionstabelle auf Null stellen ( dd if=/dev/zero of=... bs=512 count=1 ) und führen Sie ein Partitionierungstool aus, um eine leere Partitionstabelle neu zu erstellen. Danach deinstallieren und neu einplanen (sollte nicht erforderlich sein, aber ...) und die gewünschten Partitionen erstellen / formatieren. Nachdem Sie die Partitionen erstellt haben (möglicherweise müssen Sie den Plug-In trennen und erneut umbinden), sollten Sie dies tun /dev/sdb1 oder so ähnlich, wo Sie das Dateisystem erstellen sollten.

Beachten Sie, dass alle Schritte als root ausgeführt werden sollen (mit sudo oder ein Äquivalent). Geben Sie den falschen Gerätenamen nicht ein oder löschen Sie Ihre Festplatte!

CesarB
quelle
1
Ich habe das getan, aber obwohl die gesamte Platte mit Nullen gefüllt zu sein scheint, lädt und liest sie irgendwie die Platte!
a_m0d
1

Derzeit hat Ihr USB-Laufwerk keine Partitionstabelle. Das iso9660-Dateisystem befindet sich direkt auf der gesamten Festplatte (genau wie bei einem CD-ROM-Laufwerk).

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

Ich denke, Sie müssen zuerst eine Partition erstellen

sudo cfdisk /dev/sdb

(Stellen Sie sicher, dass es noch nicht montiert ist) Erstellen Sie in der Anwendung fdisk eine neue Partition.

Danach erstellen Sie das Dateisystem auf der neuen Partition

sudo mkfs -t vfat /dev/sdb1
Joakim Elofsson
quelle
Versuchte das; cfdisk erzeugt keine Fehlermeldungen, aber einen kurzen Blick hinein dmesg zeigt an, dass tatsächlich eine Fehlermeldung vorliegt. (siehe Edit 3 oben)
a_m0d
1

Ich hatte genau das gleiche Problem wie Sie. Ich konnte jedoch an einem überraschenden Ort eine Lösung finden. Ein alter Laptop mit Windows 98SE - das letzte Windows-System, das ich je besessen habe. Geben Sie es einfach ein und wenn Sie versuchen, auf das Laufwerk zuzugreifen, werden Sie von Windows gefragt, ob Sie es formatieren möchten. Klicken Sie auf Ja, und Sie haben ein Fat16-formatiertes Laufwerk, das voll funktionsfähig ist. Ich weiß nicht, ob es mit neueren Windows-Versionen funktioniert. Viel Glück.

Anonymous
quelle
Den ganzen Weg bis zu Windows 8 :)
Sebastian Godelet
1

Letzte Nacht habe ich getan

dd if=fedora.iso of=sdx  

Nach vier Stunden hatte ich einen nicht mehr startbaren, iso9660-Ziegel. Nach Davids Gedankengang rief ich Ubuntus "Startdiskettenersteller" (Typ "Startdiskettenersteller" im Strich) an und wählte lediglich "Löschen". Das hat es geschafft.

Das USB-Laufwerk wurde dann als FAT32 gemeldet und alles ist in Ordnung.

dan
quelle
Manchmal ist es angebracht, einen Hammer wie diesen zu verwenden. Ich frage mich, was in den ersten Sektoren der Fahrt war.
vgoff
0

Entfernen Sie das Laufwerk und prüfen Sie, ob Sie noch lesen können. Ich frage mich, ob irgendwie / dev / usb (oder wo auch immer Sie lesen) ein gewöhnliches Dateiverzeichnis geworden ist.

gbarry
quelle
Ich habe es versucht - wenn ich es wieder einstecke, hängt es gut und ich kann alles gut lesen. Gemäß mountist ein iso9660-Dateisystem. Gparted zeigt jedoch nur 2 GB nicht zugewiesenen Speicherplatz auf dem Laufwerk. dd beschwert sich, dass / dev / sdb ein schreibgeschütztes Dateisystem ist
a_m0d
0

Haben Sie versucht, es mit der Option -t erneut einzuhängen?

umount / dev / sdb
sudo mount -t vfat / dev / sdb / mnt / point

Wenn das nicht funktioniert, versuche ich es später zu reproduzieren, wenn ich nach Hause komme. Scheint ein interessantes Problem zu sein. Wird basteln mit:]

Kirill Strizhak
quelle
Hah, nee funktioniert nicht, weil mount prüft zuerst den Dateityp
a_m0d
Ja, so viel vermutet:] Ok, nicht mehr "aus heiterem Himmel".
Kirill Strizhak
0

Ich habe immer noch das Gefühl, dass wir etwas annehmen, das sich als unwahr herausstellen wird. Da das Gerät lesbar ist, können Sie in dieser Zeile zumindest die Daten selbst sehen, anstatt von den Interpretationen der anderen Programme abhängig zu sein.

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

Möglicherweise können wir auch Probleme mit dem dev-Knoten von Problemen mit dem Gerät auf dem Gerät trennen, indem Sie es auf einen anderen Port setzen. Stecken Sie ihn entweder in eine andere USB-Buchse oder zuerst ein anderes Laufwerk, um sdb zu belegen.

gbarry
quelle
hmm ... mit diesem Befehl wird mir mitgeteilt, dass das Gerät mit Nullen gefüllt ist dd if=/dev/zero of=/dev/sdb darauf laufen. Dennoch montiert fedora das Gerät immer noch als ISO9660 fs, wenn es eingesteckt ist!
a_m0d
Verwendet Linux noch / etc / fstab? Dort wurden früher diese "Assoziationen" gespeichert.
gbarry
Nein, seine Verwendung (denke ich) udevoder was auch immer es ist, das den Antrieb automatisch anbringt.
a_m0d
0

Vielleicht mit einem einfachen

mkfs -t vfat /dev/sdb1
Vinko Vrsalovic
quelle
Funktioniert nicht - siehe Bearbeiten in Frage
a_m0d
0

Der beste und richtige Weg, dies zu tun, ist:

# wipefs --all /dev/sdX

Wie aus dem wipefs Handbuch:

wipefs kann Dateisystem-, RAID- oder Partitionstabellensignaturen (magische Zeichenfolgen) vom angegebenen Gerät löschen, um die Signaturen für libblkid unsichtbar zu machen.

wipefs löscht weder das Dateisystem selbst noch andere Daten vom Gerät. Wenn wipefs ohne Optionen verwendet wird, werden alle sichtbaren Dateisysteme und die Offsets ihrer Basissignaturen aufgelistet.

wipefs ruft das BLKRRPART-ioctl auf, wenn eine Signatur der Partitionstabelle gelöscht wurde, um den Kernel über die Änderung zu informieren.

Das hat viele Vorteile wie den Kernel über die Änderung informieren (damit Sie beim nachfolgenden Formatieren keine Fehler erhalten), weder Daten noch Dateisysteme löschen , und so weiter.

emi
quelle
-1

U3 verfügt über ein Dienstprogramm zum Entfernen der U3-Partition. Es entfernt auch die Partition / das Gerät, das von dem Dienstprogramm erstellt wurde, mit dem der iso 9660 erstellt wurde. Dies wurde nur auf einem U3-USB-Stick bestätigt, kann jedoch jetzt formatiert werden und den gesamten Speicherplatz als Flash-Laufwerk wiederherstellen. Sie könnten es versuchen.

knockNrod
quelle