さて、この場合、何か (おそらく iso-9660 ファイル システムをドライブに書き込んだとき) が、ドライブ上で何らかの内部書き込み保護をトリガーしたことがわかりました。 ありません 外部書き込み保護/ホールドスイッチですが、これは dmesg
の出力です 走るとき
dd if=/dev/zero of=/dev/sdb
ルートとして:
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
保護に関するコメントに注意してください。ただし、デバイスを接続すると、
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
このメッセージは、デバイスがそうではないことを示していることに注意してください 書き込み禁止!残念ながら、ディスクにそれがあったようです (つまり、kaput ).
私はこの Linux sys admin のことは初めてなので、まったく同じ問題が発生したとき、自分の方法に狂気を感じずに突っ込んだり突っ込んだりしましたが、なんとか 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
次に、再び fdisk を選択して空の DOS パーティション テーブルを作成するように求められたとき (後で必要なもので上書きできると考えたもの)
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 など) を最も便利なメディアで試していますが、途中で多くのものを壊してしまいます.
mkdosfs -I /dev/sdb
ドライブに vfat ファイルシステムを作成します。ファイル システムをパーティションではなくドライブ全体に作成する場合は、-I を渡す必要があります。最初にドライブをパーティション分割する場合は、fdisk を使用します。もちろん、パーティションがないため、fdisk はドライブを読み取ることができません。しかし、書き込みはできるはずです。