USBからISO 9660を削除する方法は?


22

私は何らかの形でiso 9660イメージをUSBドライブに書き込むことができました。これにより、すべてのコンピューターはデバイスが実際にはCDであると考えます。このパーティションを削除するさまざまな方法を試しましたが、何も機能しないようです。私が試してみましたfdiskと言いれ、

$ fdisk -l / dev / sdb
/ dev / sdbを開けません
このデバイスでpartedを使用しようとするとクラッシュします。

私も試しました

$ dd if = / dev / zero of = / dev / sdb
しかし、出力なしでハングします(画面上またはディスク上)。ただし、USBを接続するとマウントされ、USB上のファイルを表示できます(編集はできません)。

編集:今の結果は

$ dd if = / dev / zero of = / dev / sdb
dd: `/ dev / sdb 'を開く:読み取り専用ファイルシステム

また、Windowsで再フォーマットを試みましたが、フォーマットプロセスが終わり、「ドライブをフォーマットできませんでした」と表示されます。

このパーティションを削除して、USBドライブ全体を再び通常の状態に戻すにはどうすればよいですか?

編集1:シンプルなmkfsものを試しても動作しません:

$ sudo mkfs -t vfat / dev / sdb
mkfs.vfat 3.0.0(2008年9月28日)
mkfs.vfat:フルディスクデバイス「/ dev / sdb」にファイルシステムを作成しようとしません(必要に応じて-Iを使用します)
次のように、そのようなパーティションがないためmkfs/dev/sdb1続行できません。
$ ls / dev | grep sdb
sdb

編集2:これは、デバイスを接続したときにdmesgによって投稿された情報です:

$ dmesg
。
。(中略)
。
usb 2-1:新しいUSBデバイスが見つかりました、idVendor = 058f、idProduct = 6387
usb 2-1:新しいUSBデバイス文字列:Mfr = 1、Product = 2、SerialNumber = 3
usb 2-1:製品:大容量ストレージ
usb 2-1:メーカー:Generic
usb 2-1:シリアル番号:G0905000000000010885
usb-storage:4で見つかったデバイス
usb-storage:スキャンする前にデバイスが安定するのを待っています
usb-storage:デバイススキャン完了
scsi 6:0:0:0:直接アクセスフラッシュドライブAU_USB20 8.07 PQ:0 ANSI:2
sd 6:0:0:0:[sdb] 4069376 512バイトのハードウェアセクター(2084 MB)
sd 6:0:0:0:[sdb]書き込み保護はオフです
sd 6:0:0:0:[sdb] Mode Sense:03 00 00 00
sd 6:0:0:0:[sdb]想定されるドライブキャッシュ:ライトスルー
sd 6:0:0:0:[sdb] 4069376 512バイトのハードウェアセクター(2084 MB)
sd 6:0:0:0:[sdb]書き込み保護はオフです
sd 6:0:0:0:[sdb] Mode Sense:03 00 00 00
sd 6:0:0:0:[sdb]想定されるドライブキャッシュ:ライトスルー
 sdb:不明なパーティションテーブル
sd 6:0:0:0:[sdb]接続されたSCSIリムーバブルディスク
sd 6:0:0:0:接続されたscsiジェネリックsg2タイプ0
ISO 9660拡張:Microsoft Jolietレベル3
ISO 9660拡張:RRIP_1991A
SELinux:初期化(dev sdb、iso9660型)、genfs_contextsを使用
CE:hpetがmin_delta_nsを15000ナノ秒に増加
デバイスは、ISO 9660として、それがあることにフォーマットされていることをこの番組です /dev/sdb

編集3:これは、新しいパーティションテーブルをdmesg実行cfdiskしてディスクに書き込んだ後の一番下にあるメッセージです:

SELinux:初期化(dev sdb、タイプiso9660)、genfs_contextsを使用
sd 17:0:0:0:[sdb] Device not ready:Sense Key:Not Ready [current] 
sd 17:0:0:0:[sdb]デバイスの準備ができていません:<> ASC = 0xff ASCQ = 0xffASC = 0xff <> ASCQ = 0xff
end_request:I / Oエラー、dev sdb、セクター0
デバイスsdbのバッファーI / Oエラー、論理ブロック0
sdbのI / Oエラーが原因でページ書き込みが失われました


常に/ dev / sdbにロードされていると確信していますか?デバイスのインストール後に/ var / log / messagesの終わりを見ると、その自動マウントに関連するログメッセージが表示されます。
mas

3
現在、cdfまたは同等のものでマウントされていませんか?
RBerteig

1
Slink84 @:私はちょうど行ったと思いsudo dd if=some.iso of=/dev/sdb-私はそれを行うことができ、何をやって思い出すことができない
a_m0d

1
デバイスを作るか分からないが、私はそれが東芝だと思い-画像はeeebuntu-3.0.0-標準の画像だった
a_m0d

1
VID / PIDペアから、それは「Alcor Micro Corp.」によって作成され、「Transcend JetFlash Flash Drive」です。これらのことを調べるには、linux-usb.org / usb.idsのリストを使用します。
RBerteig

回答:


8

わかりました、この場合、何か(おそらくiso-9660ファイルシステムをドライブに書き込んだとき)がドライブの何らかの形式の内部書き込み保護をトリガーしたことがわかります。ありません何の外部ライトプロテクト/ホールドスイッチは、まだこれはで出力されdmesgたとき、私の実行

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

ルートとして:

sd 9:0:0:0:[sdb]追加。センス:書き込み禁止
end_request:I / Oエラー、dev sdb、セクター4028744
sd 9:0:0:0:[sdb]結果:hostbyte = DID_OK driverbyte = DRIVER_SENSE、SUGGEST_OK
sd 9:0:0:0:[sdb] Sense Key:Data Protect [current] 
情報fld = 0x0

保護についてのコメントに注意してください!ただし、デバイスを接続すると、

scsi 10:0:0:0:直接アクセスフラッシュドライブAU_USB20 8.07 PQ:0 ANSI:2
sd 10:0:0:0:[sdb] 4069376 512バイトのハードウェアセクター(2084 MB)
sd 10:0:0:0:[sdb]書き込み保護はオフです
sd 10:0:0:0:[sdb] Mode Sense:03 00 00 00
sd 10:0:0:0:[sdb]想定されるドライブキャッシュ:ライトスルー
sd 10:0:0:0:[sdb] 4069376 512バイトのハードウェアセクター(2084 MB)
sd 10:0:0:0:[sdb]書き込み保護はオフです
sd 10:0:0:0:[sdb] Mode Sense:03 00 00 00
sd 10:0:0:0:[sdb]想定されるドライブキャッシュ:ライトスルー

このメッセージは、デバイスが書き込み保護されていないことを示していることに注意してください!残念ながら、ディスクに問題があるようです(つまり、kaput)。


過去に、FAT以外のファイルシステムを使用するとフラッシュデバイスがブリックになると聞いたことがあります(FATを使用して、使用されていないブロックを破棄できるためです)。私はそのことを長い間聞いていませんでした、そして、私はそれをグーグルのクイック検索でそれについて何も見つけることができませんでした。
CesarB 2009

これまでのところ、FAT依存関係について言及している人が1人見つかりました。linux.derkeiler.com
Lists

死んでいると聞いて申し訳ありません...へー、私はあなたの問題を再現することができなかったことをうれしく思います:]古い「使い捨て」ドライブで試してみましたが、それを失うのはまだ悲しいでしょう方法。
キリルストライザク

はい、特に1週間ほど前だったので!まあ...
a_m0d

1
私が探していたものを見つけました:lkml.org/lkml/2009/3/16/363(「一部のSDD製造元(私はどの製造元かわかりません)は実際にパーティションテーブルを調べてさまざまなことを行っています。無効なパーティションテーブルを書き込むと、永久に
ブリックさ

6

私はこのLinuxシステム管理者にとっては初めてなので、まったく同じ問題が発生したとき、私は自分の方法に狂気で突っ込んだり突っついたりしましたが、iso9660 fsを削除してサムドライブを回収しました。

sudo fdisk -l  /dev/sdb1

戻ってきた

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

だから私は試した

sudo fdisk /dev/sdb1

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

に続く

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

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

その後、空のDOSパーティションテーブルを作成するためにfdiskを再度選択するように求められたら(後で必要なもので上書きできると思ったもの)

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.

返されたメッセージを受け取って、少なくともiso9660 fsを「壊した」ので、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.

これにより、サムドライブに "lost + found"ディレクトリが残されました。

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

最後に、UbuntuのWebサイト(http://www.ubuntu.com/download/ubuntu/download、セクション2)にアクセスし、スティックを使用してUbuntuの起動可能なイメージを作成して試用しました。このようにしてスティック上に作成されたUbuntuイメージの美しさは、それらを簡単に削除でき、スティックを他の用途に再利用できることです。

私がこの最後のステップに言及したのは、後から考えると、そもそもそれがうまくいくはずだったので、それをやったのかと思ったからです。前述したように、私はこのLinuxの初心者であり、ライブCDでさまざまなディストリビューション(例:Fedora、Ubuntuなど)を試して、最も便利なメディアを使用しています。


私はあなたの手順を試してそれが修正されるかどうかを確認したいと思いますが、私はもうスティックを持っていないようですので、残念ながら私は彼らが助けるかどうかわかりません。それでも、これは同じ問題を抱えている他の人にとってはまだ役立つかもしれません。
a_m0d

5
mkdosfs -I /dev/sdb

ドライブにvfatファイルシステムを作成します。ファイルシステムをパーティションではなくドライブ全体に作成する場合は、-Iを渡す必要があります。最初にドライブをパーティション分割する場合は、fdiskを使用します。もちろん、fdiskはパーティションを持たないため、現在ドライブを読み取ることはできません。しかし、私はそれがそれに書き込むことができると確信しています。


動作しません-バージョン番号を出力して終了します。また、fdiskは"は/ dev / sdbと書き込むことができません"である
a_m0d

コマンドを試したところ、指定したデバイスに書き込みが行われました。また、バージョン番号のみを出力します。これは、ddで作成した通常のファイルでテストできます。odを使用すると、変更を確認できます。私の推測では、それはハードウェアの問題です。
キム

1
これは、上記のソリューションがすべて失敗したときにCentosのブート可能イメージを削除するのに役立ちました。
Ⴖuі15年

2

dmesgスニペットを見ると、何かが自動的にドライブをマウントしているようです(で確認してくださいmount)。それで何かをする前に、手でアンマウントする必要があります。

次に、パーティションテーブル(dd if=/dev/zero of=... bs=512 count=1)でブロックをゼロにし、パーティショニングツールを実行して空のパーティションテーブルを再作成します。その後、プラグを抜き差しして(必要ではありませんが...)、必要なパーティションを作成/フォーマットします。パーティションを作成した後(おそらく、再度プラグを抜いて再プラグする必要が/dev/sdb1あります)、ファイルシステムを作成する場所があります。

すべての手順はルートとして(sudoまたは同等の)ルートとして実行する必要があることに注意してください。間違ったデバイス名を書き込まないように注意してください。そうしないと、ハードディスクを消去できます。


1
私はそれをしましたが、ディスク全体がゼロで満たされているように見えますが、それでも何らかの形でディスクをマウントして読み取ります!
a_m0d 09

1

私たちはまだ、間違っていると判明する何かを仮定していると感じています。デバイスは読み取り可能であるため、この行は、他のプログラムの解釈に依存するのではなく、少なくとも自分用にデータを表示できるようにします。

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

また、デバイスを別のポートに強制することで、デバイス上の問題からdevノードの問題を分離できるかもしれません。別のUSBジャックに差し込むか、最初に別のドライブを差し込んでsdbを占有します。


うーん...このコマンドを使用すると、デバイスがゼロで埋められていることがわかります。これはおそらく私が最終的dd if=/dev/zero of=/dev/sdbに実行することができたためです。しかし、fedoraは、デバイスが接続されると、デバイスをISO9660 fsとしてマウントします。
a_m0d 2009

Linuxはまだ/ etc / fstabを使用していますか?ここで、これらの「関連付け」が保存されていました。
gbarry

いいえ、その使用(と思う)udev、またはドライブを自動的にマウントするものは何でも。
a_m0d 09

1

現在、USBドライブにはパーティションテーブルがありません。iso9660ファイルシステムはディスク全体に直接配置されます(cdromのように)

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

最初にパーティションを作成する必要があると思います

sudo cfdisk /dev/sdb

(前にマウントされていないことを確認してください)fdiskアプリケーションで新しいパーティションを作成します。

それが終わったら、新しいパーティションにファイルシステムを作成します

sudo mkfs -t vfat /dev/sdb1

これを試しました。cfdiskはエラーメッセージを生成しませんが、簡単に見てみると、dmesg実際にはエラーメッセージがあることがわかります。(上記の編集3を参照)
a_m0d 09

1

私はあなたとまったく同じ問題を抱えていました。しかし、私は驚くべき場所から解決策を見つけることができました。Windows 98SEを搭載した古いラップトップ。これは私が所有する最後のWindowsシステムです。とにかくそれを入れるだけで、ドライブにアクセスしようとすると、Windowsはフォーマットするかどうか尋ねてきます。[はい]をクリックすると、fat16でフォーマットされたドライブが完全に機能します。ただし、新しいバージョンのWindowsで動作するかどうかはわかりません。幸運を祈ります。


Windows 8まで
ずっと


1

昨夜やった

dd if=fedora.iso of=sdx  

4時間後、起動不可能で変更不可能なiso9660ブリックがありました。Davidの一連の考えに従って、Ubuntuの「起動ディスククリエーター」(ダッシュに「起動ディスククリエーター」と入力)と呼び、単に「消去」を選択しました。それでした。

その後、USBドライブはFAT32として報告され、すべて問題ありません。


このようなハンマーを使用することが適切な場合があります。ドライブの最初のいくつかのセクターには何があったのだろうか。
vgoff

0

ドライブを取り外し、まだそこから読み取れるかどうかを確認します。どういうわけか/ dev / usb(またはどこから読んでも)が普通のファイルディレクトリになっているのだろうか。


これを試した-私はそれを再び差し込むと、それをうまくマウントし、私はすべてをうまく読むことができます。によればmount、それはiso9660ファイルシステムです。ただし、gpartedは、ドライブ上の2GBの未割り当て領域を表示するだけです。 dd/ dev / sdbが読み取り専用ファイルシステムであると
不平を言う

0

-tオプションで再マウントしようとしましたか?

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

それがうまくいかない場合は、後で家に帰ってから再現しようとします。興味深い問題のようです。といじるのは楽しいでしょう:]


のでほら、いや、仕事をしませんmount最初にチェックし、ファイルの種類が
a_m0d

うん、同じくらい疑わしい:] [OK]、それ以上の「アウトオブザブルー」のアイデアはありません。
キリルストライザク2009

0

最善かつ適切な方法は次のとおりです。

# wipefs --all /dev/sdX

wipefsマニュアルから:

ワイプファイルは、指定されたデバイスからファイルシステム、RAID、またはパーティションテーブルの署名(マジックストリング)を消去して、libblkidの署名を非表示にすることができます。

ワイプfsは、ファイルシステム自体もデバイスから他のデータも消去しません。オプションなしで使用すると、wipefsは表示されているすべてのファイルシステムとその基本署名のオフセットをリストします。

パーティションテーブルの署名を消去して、変更をカーネルに通知する場合、wipefsはBLKRRPART ioctlを呼び出します。

これには、変更についてカーネルに通知する(後でフォーマットするときにエラーが発生しない)、データやファイルシステムを消去しないなど多くの利点があります


-1

U3には、U3パーティションを削除するユーティリティがあります。また、iso 9660を作成するユーティリティによって作成されたパーティション/デバイスも削除します。これはu3 usbスティックでのみ確認されていますが、現在はフォーマット可能で、フラッシュドライブとしてスペース全体を完全に回復できます。試してみてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.