web-dev-qa-db-ja.com

外付けUSBハードドライブが完全にアクセスできないことがあるのはなぜですか?

Rosewill RX35-AT-SU SLVアルミニウム3.5インチシルバーUSB 2.0外部エンクロージャー の1 TB SATAドライブで構成される外部USBハードドライブがあります。 SONY VAIO VGN-NS310Fラップトップ に接続します(ハブ経由ではなく)コンピューターに直接接続します。エンクロージャー内のドライブは7200 rpm Western Digitalですが、私はしません正確なモデルを覚えておいてください人々がその詳細を知る必要があると思うなら、私はエンクロージャーからドライブを取り外すことができます。

ドライブはext4でフォーマットされています。 Lubuntu 11.10システムにudisksで動的にマウントします。通常はPCManFMを使用して自動的にマウントします。 (このマシンでLubuntu 12.04を使用しており、これと同じ動作をすべて経験しました。)たまに(1日に1回または2回)アクセスできなくなり、マウント解除が困難になります。 Sudo umount ...を使用してアンマウントしようとすると、ドライブが使用中であることを示すエラーメッセージが表示され、fuserおよびlsofを使用して何が使用されているかがわかります。 fuserおよびlsofでドライブを使用していることが判明したプロセスを強制終了することで、アンマウントできる場合がありますが、通常はそうではありません。

ドライブをアンマウントするか、マシンを再起動すると、ドライブはマウントされません。ドライブを接続してオンにすると、コンピューターに何も登録されません。 dmesgは変更されていません。通常、ドライブのアクセスライトは、ドライブが絶えずアクセスされているかのように激しく点滅します。その後、ドライブをしばらく(30分)オフにしておくと、再びマウントできるようになります。

ドライブはしばらくの間this machineでは動作しませんが、同じバージョンのUbuntuを実行しているanother machineではすぐに動作します。他のマシンから戻すと、「修正」されるようです。時々そうではありません。

ドライブは、マウントできないようになる前に、常にmountedにアクセスできるようになるとは限りません。 正常に動作する場合があります。コンピューターの電源を切り、コンピューターの電源を入れ直します。ドライブをマウントできません。

現在、これはこの問題を抱えている唯一のドライブですが、Ubuntuマシンが異なるとドライブも異なるという問題があると思います。このラップトップには別の外部USBドライブが定期的に接続されていますが、この問題はありません。 「問題」ドライブに接続する前にそのドライブを取り外しても、問題は解決しません。

ドライブを開いて、過去に接続がきついことを確認しましたが、それは助けにならないようです(ドライブを開いて閉じるのにかかったのと同じ時間だけ待ってから、再マウントしようとしましたそれ)。

誰がこれを引き起こしているのか、どのトラブルシューティング手順を実行するのか、および/またはこの問題を完全に修正する方法についてのアイデアを持っていますか?

更新:Merlin が示唆したように、USBデータケーブル(エンクロージャーからラップトップへ)を交換しようとしました。症状に完全に適合するので、私はずっと前に試してみるべきでした(ドライブは別のマシンで動作しますが、ケーブルが異なる角度で曲がり、ほつれたワイヤの回路を完成させる可能性があるため、これは理にかなっています)。 しかし、残念ながら、これは助けにはなりませんでした-新しいケーブルにも同じ問題があります。ドライブに関する追加の詳細情報を提供しようとしますエンクロージャー内で、次回ドライブを動作させることができます。 (現時点では、それを接続するための別のマシンはありません。)

メジャーアップデート(2012年6月28日)

ドライブはかなり劣化しているようです。私はこれを別のマシンにアタッチし、そこからファイルをコピーするときに無効な文字に関する多くのエラーを受け取ったので、これはそうだと思います。ドライブのデータを回復することには、何が問題なのかを理解することに興味がありません。 特に問題がドライブなのかエンクロージャーなのか把握したい

現在、問題が発生していた元のマシンにドライブを接続しても表示されません(Sudo fdisk -lを含む)が、カーネルによって認識され、dmesgにメッセージが追加されます。メッセージの大部分は、次のようなエラーで構成され、何度も繰り返されます。

[    7.707593] sd 5:0:0:0: [sdc] Unhandled sense code
[    7.707599] sd 5:0:0:0: [sdc]  Result: hostbyte=invalid driverbyte=DRIVER_SENSE
[    7.707606] sd 5:0:0:0: [sdc]  Sense Key : Medium Error [current] 
[    7.707614] sd 5:0:0:0: [sdc]  Add. Sense: Unrecovered read error
[    7.707621] sd 5:0:0:0: [sdc] CDB: Read(10): 28 00 00 00 00 00 00 00 08 00
[    7.707636] end_request: critical target error, dev sdc, sector 0
[    7.707641] Buffer I/O error on device sdc, logical block 0

ドライブが認識されたときから始まるdmesgのすべての行は次のとおりです。 以下に注意してください。

  • 私はこのマシンでLubuntu 12.04を実行することに戻りました(そして、おそらくそれがより良いエラーメッセージの要因です)。
  • ドライブが別のマシンに接続され、このマシンに再び接続され、alsoになり、このマシンが12.04を実行するようになったため、ドライブのアクセスライトは説明したとおり点滅しません。ドライブを見ると、アクセスが少なく、またはまったくない状態で、正常に動作しているように見えます。
  • この動作(エラー)は、ドライブが接続された状態でマシンを再起動した場合、およびドライブを手動で接続した場合にも発生します。
  • メッセージのいくつかは、/dev/sdbに関するものです。そのドライブは正常に動作しています。不良ドライブは/dev/sdcです。途中から編集したくないだけです。
10
Eliah Kagan

問題がドライブであるかエンクロージャーであるかを判断するには、ドライブをエンクロージャーから取り外し、十分な電力のあるデスクトップにインストールして、スマートステータスを確認します。

より詳細なテストを行うには、ddrescueなどのツールを使用して、ドライブのすべてのセクターをチェックできます。 ddrescueはプロセス中にエラーサイズを報告します。Sudo ddrescue /dev/sdb2 /path/to/recovery.image logfileと同時にデータリカバリを試みることができます。 Sudo lsblkまたはクラシックfdisk -lでパーティションをリストします。

本当にデータに興味がない場合は、次のように出力ファイルを/dev/nullに強制できます。

Sudo ddrescue --force /dev/sdc /dev/null logfile 

そして、あなたはまだ標準出力のエラーサイズに関するレポートを取得します

Ubuntu 14.04でGNU ddrescue 1.17を使用して、/ dev/sdb2(1MBのスワップパーティション)を使用するこの短い例でテストしました。

$ Sudo ddrescue --force /dev/sdb2 /dev/null logfile


GNU ddrescue 1.17
Press Ctrl-C to interrupt
rescued:      1024 B,  errsize:       0 B,  current rate:     1024 B/s
   ipos:         0 B,   errors:       0,    average rate:     1024 B/s
   opos:         0 B,    time since last successful read:       0 s
2
Elder Geek

12.04 Ubuntuデスクトップを実行しているときに、同様の経験がありました。私のハードドライブエンクロージャには2つの電源オプションがあり、A/Cアダプターを購入するか、1つのミニUSBケーブルを通常のUSBケーブルに使用するか、ミニUSBケーブルを2つのUSBケーブルに使用できます。理想的には、十分な電力を供給するために両方のUSBポートに接続する必要がありました。 USBケーブルまたはeSataを介してデータを転送できます。

ESata接続を使用する場合、最初にドライブ電源を供給してディスクが回転するようにし、次にシステムを起動してBIOSがすでに回転しているディスクを認識するようにする必要がありました。そうしないと、ディスクが時間内に表示されません。これはエンクロージャーのコントローラーと関係があると思います。

USBをマウントしたときに、ケーブルを最初にエンクロージャーに接続し、次にケーブルをUSBポートに接続すると、非常に複雑な結果になりました。おそらく半分の時間で正しくマウントされるでしょう。 USBケーブルを最初にPCポートに接続し、次にエンクロージャーに接続した場合、約70%ではるかに良い結果が得られました。 USBオプションで得た最良の結果は、エンクロージャーに外部電源(A/Cアダプター)を使用して、マシンに接続する前にディスクが回転して安定していたことを確認することでした。ほぼ100%働いた

これがまさにあなたの問題だと言っているわけではありませんが、私にとっては、エンクロージャーの電力を供給し、接続する前にディスクを回転させて、システムとして読み取れるようにしたのです。おそらく、1つのシステムのBIOSまたはバス速度が他のシステムよりも優れており、ディスクを読み取ろうとする前にエンクロージャーコントローラーが動作を開始する時間が与えられますか?おそらく、エンクロージャーのプラグを抜いた後、コントローラーは自動的にリセットされますか?

たぶんコントローラーは、USBから電力を得ているだけなのか、電源とデータから電力を得ているのかを判断する必要があります。電圧または電流の問題でしょうか?いずれにせよ、エンクロージャーコントローラーは扱いにくいようです。

1
Travis Clark

多くの場合、このタイプの問題は、USBケーブルからドライブへの十分な電力が供給されないことが原因で発生します。これは、外付けドライブが既製ではなく自己組み立てされた場合に特に発生します。 (externalドライブの製造元がUSBポートでサポートできることを確認することを望みます。)

デバイスは、USB 2.0仕様のポートから最大500 mA、USB 3.0で最大900 mAを消費する場合があります。外付けドライブの製造元の仕様を確認することで、ドライブの最大電力要件を確認できる場合があります。

USB2よりも多くの電力を提供するため、またはUSB Yポートを取得してドライブに電力を供給できるため、問題は多くの場合、USB3ポートを試して修正することができます(お持ちで、まだ試していない場合) 2 1ではなくポート。これらはeBayまたはAmazonで安価に入手できます。

0
scoobydoo

USBバスドライバーチップなどに問題がある可能性もあります。すべてのUSBデバイスをリストするツールはありますか?ドライブが正常に動作しているとき、およびドライブにアクセスできないときにこれらのツールを実行してみてください。違いはありますか?

古い(および安価な)ドライブは、1時間ごとに発生する「サーマルリキャリブレーション」(TACL)と呼ばれるプロセスを経て、ドライブが熱の蓄積によってディスクヘッドがどれだけ曲がっているのかを推定しなが​​ら数秒間アクセスできなくなることがありますドライブで。 TCLの間、ステッピングモーターとコイルはすべてのトラックをシークし、ヘッドはすべてのトラックに合わせられ、結果が保存されます。これはファームウェアの内部機能です。このプロセスが行き詰まっているか、間違った答えを出している可能性があり、温度再調整後にドライブにアクセスできなくなっているようです。

Dmesgから投稿したエラーは、sdc、セクター0、論理ブロック0に問題があることを示しています。これらの小さい番号のブロックには、多くの場合、ドライブのジオメトリ(ハードまたはソフトフォーマット)が含まれています。これらのブロックが不良になると、ドライブ全体が永久にアクセスできなくなる可能性があります。メディア障害は熱に関連している可能性があります。これは、非アクティブな期間(ドライブを別のマシンに移動する)によって修復される場合と修復されない場合がある理由を説明する場合があります。

問題が熱関連であるかどうかを判断するには、コンピューターの電源を入れてストップウォッチを起動しますが、実際にはドライブを使用しないでください。故障するまで待って、故障するまでの時間を記録してください。次に、電源を切り、数時間放置して冷却し、テストを再実行し、コンピューターとドライブの電源を入れますが、大量のデータを大量に消費するドライブとドライブのコピー(同じドライブ)を開始します。ステッピングモーターでより多くの作業を行うと、おそらくドライブの温度が上がり、故障が早くなります。障害の遅延に大きな変化がある場合、ドライブは乾杯しており、別のドライブを入手します。幸運を!

0
systemBuilder

問題の本当の原因はすでに指摘されていますが、4台の外付けHDDがあるため、同じ答えを追加します。

製造されたコンピューターは、電源が構成の仕様に応じて使用され、最大で20%の過負荷を想定しています。

コンピュータの電源を保護するために、外部USBデバイスは外部電源ハブから給電する必要があります。説明されている動作は、電力過負荷の一般的な動作です。外部DVDもあるとすると、これも記録に失敗し、デバイス、さらにはコンピューターさえも回復不能になる可能性があります。ユーザーはパッシブUSBハブまたはHDD、DVDなどを含むコンピューター駆動デバイスを使用する傾向があるため、ラップトップは通常この方法でブレーキをかけます。

外部電源のUSBハブを購入し、USBポートを介してUSBデバイスを接続します、コンピューターのソースから電力を消費する代わりに、このアプローチはHDDより多くのダメージを与えるためです。電力サージは、電力不足のコンピューターまたは外部デバイスとほとんど同じです。 USB規格は、電力不足のデバイスとは関係ありません。次のように考えてください。車に電力を供給したい場合、どの燃料を使用しますか?燃えるもの、またはメーカーが指定した燃料はありますか?ここでもまったく同じです。 NPOWERED USBデバイスを使用すると、コンピューターの内部電源から電力が消費されます。既に十分なデバイスが接続されています!

0

USBドライブの場合、次の手順を試してください(まだ実行していない場合)。

  1. Sudo fdisk -l#情報を取得
  2. Sudo mkdir /media/external#マウントポイントの作成
  3. Sudo mount -t vfat /dev/sdb1 /media/external -o uid=1000,gid=1000,utf8,dmask=027,fmask=137 #mount。

または、pmountを使用してUSBをマウントしてみてください。

0
Vahni