Neweggから新品のWDPassportを購入しました。何もコピーできませんでした(コピー操作が無期限にハングし、IOエラー)で終了したため)GUIで再フォーマットしてみました。現在はEXT4としてフォーマットされているようです。残念ながら私はそれでもコピーできませんでした。フォーマットが疑わしいほど高速でした(数秒、1 TBドライブです)。フォーマットが間違っているのではないかと思いました。
$ Sudo fdisk /dev/sdb1
そして得た:
fdisk: unable to read /dev/sdb1: Input/output error
私は何をしますか?!重要な場合に備えて、私はUbuntu12.10を使用しています。
fdisk
は、パーティションではなくディスクで機能します。 Linuxでは、ディスクはたとえば次のように呼ばれます。 /dev/sdb
、その上のパーティションは/dev/sdb1
、/dev/sdb2
などと呼ばれます。古いスタイル(/ dev/[hs] d?、/ dev/[hs] d)に注意してください。 ??)パーティション指定子は常に数字で終わりますが、ディスク指定子は常に文字で終わります。
ディスクをフォーマットするだけの場合(不良ブロックのチェックなどはありません)、数秒のフォーマット時間は完全に不合理ではありません。最初のファイルシステムメタデータ構造をディスクに書き込むだけでした。正確な数はわかりませんが、それらはかなり小さく、USBはこのような比較的少量のデータを書き込むのに非常に高速です。エラーが発生しなかった場合は、フォーマットプロセスがおそらくその役割を果たしました。
最初にすべきことは、適切なデバイスでfdiskを実行することです。あなたの場合、それはSudo fdisk /dev/sdb
のように聞こえますが、場合によってはデバイス名が時間とともに変化する可能性があることに注意してください。代わりに/ dev/disk/by-idのエントリの1つを使用することをお勧めします。これらは変更されないため、ディスクを接続する直前に実行すると、ディスクがどのように表示されるかを確認できます。
diff <(ls /dev/disk/by-id) <(sleep 15; ls /dev/disk/by-id)
これにより、2回目の入力パイプでのls
呼び出しのおかげで、15秒間隔で実行されるsleep
の2つの実行間のディレクトリコンテンツの違いが表示されます。 15秒は、カーネルがディスクを識別し、udevに適切なデバイスノードを作成させるのに十分な時間を与えるはずです。違いが見られない(出力が空の)場合は、ディスクのプラグを抜いてもう一度試して、遅延を増やしてください。パーティションデバイス(-part
で終わり、その後に数字が続き、場合によっては@
)とディスクデバイス(-part
部分なし)の両方が表示されます。ファイル名が@
で終わる場合は、その文字を無視してください。これはls
出力アーティファクトです。
パーティションを適切に配置したら、その上にファイルシステムを作成できます。たとえば、Sudo mkfs.ext4 -v /dev/disk/by-id/xxxxx-Passport-XXXXXXX-part1
です。 -v
は、追加の出力(詳細は「v」)をオンにします。これにより、ファイルシステムが正常に作成されたかどうかがわかります。
その後、ディスクは完全に使用可能になります。