簡単に言うと、ハード ドライブ上のファイルにアクセスする際に問題が発生しています。また、これはハードウェアの問題ではないと考えています (「ソフトウェア レベル」の問題です)。ハード ドライブを監視して問題を検出するのに役立つ方法 (Linux コマンド、Linux ツール) があるかどうかを知りたいです。発生した問題の詳細な説明は次のとおりです。
私はたくさんのファイルが入った Verbatim ハードドライブを持っています。今日、私はそれを Ubuntu で使おうとしました。ファイルブラウザで Verbatim フォルダを見つけて、開こうとしました。その結果、プロセスが実行されており、さらに時間が必要であることを示す時計が表示されました。1 分ほど待って、同じ画像 (まだ実行中、フォルダは開いていません) を確認し、ターミナルで同じことを試しました。以前はcd
Verbatim フォルダに入り、フォルダ内で を実行していましたls -ltr
。その結果、何も得られませんでした。 でコマンドをキャンセルしようとしましたCtrl C
が、うまくいかなかったので、ターミナルを閉じました。次に、パネルでeject
またはunmount
デバイス (名前は覚えていません) を試みましたが、Ubuntu はデバイスがコマンドを実行中ですls
(またはそれに似たもの) と表示しました。とにかくデバイスを切断しました。
次に、Windows で動作する別のコンピューターを使用してハード ドライブ上のファイルにアクセスしようとしました。Windows はデバイスを認識しましたが、エラーが検出されたためスキャンを実行することを推奨するメッセージが表示されました (ただし、スキャンせずにファイルを表示するオプションはまだありました)。スキャンを実行することを選択しました。進行状況が表示されず時間がかかりすぎたため、スキャンをキャンセルしました。
その後、デバイスを取り外して再度挿入しました。スキャンするオプションはまだありました。スキャンは、(1) エラーを検出して自動的に修正する、(2) 不足しているファイルを検出して復元する、という 2 つのオプションで実行できます。最初のオプションはデフォルトでチェックされていました (前回の (キャンセルされた) スキャンはこの方法で実行しました)。今回は 2 番目のオプションもチェックし (両方のオプションがチェックされた)、再度スキャンを開始しました。ここでも、進行状況が表示されず、速度が遅すぎたため、再度キャンセルしました。
次に、最初のオプション (エラーを検出して自動的に修正する) をチェックしてスキャンを開始し、十分な時間をかけました。約 20 ~ 30 分後に準備ができました。その結果、一部のフォルダーにアクセスできず、完全に削除されたというメッセージが表示されました。その後、デバイスを使用できるようになりました (フォルダーとサブフォルダーに入り、ファイルを表示)。
その後、Ubuntu でデバイスを再度試しました。Ubuntu がデバイスを認識するまでに約 1 分かかりました (長すぎます)。その後、同じ問題が発生しました (ハード ドライブにあるフォルダーが表示されませんでした)。つまり、ハード ドライブ フォルダーは表示され、このフォルダーに移動できますが、そこにどのようなファイルがあるかを確認できませんでした。
その後、デバイスを Windows マシンに接続しましたが、デバイスを認識できませんでした (まったく認識されません)。Ubuntu でアンマウント (またはそれに類するもの) を行い、ハード ドライブをブロックした (Windows マシンで認識されないようにした) のだと思います。ただし、この仮定については確信がありません。おそらく、デバイスが何らかの理由で壊れているのでしょう。
誰か助けていただけないでしょうか。デバイスには過去 7 年間の家族写真がすべて保存されています。
答え1
まず、そのドライブで使用されているファイルシステムの種類を確認する必要があります。おそらく FAT32 です。これは、fdisk コマンドを使用して行うことができます。
fdisk -l
これにより、デバイスのリストが返され、各行にファイルシステムを明らかにする「タイプ」が表示されます。
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 219353087 219351040 104.6G 83 Linux
/dev/sda2 219355134 234440703 15085570 7.2G 5 Extended
/dev/sda5 219355136 234440703 15085568 7.2G 82 Linux swap / Solaris
故障したドライブと同じかそれ以上の容量の別のドライブが利用できる場合、私の経験では、dd-rescue というツールを使用するのが最も簡単な回復方法です。詳細については、次のページを参照してください。ddレスキュー
dd を手動で使用して、ドライブ全体のイメージをファイルに作成することもできます。ハード ドライブが大きい場合、この処理には非常に長い時間がかかることがあります。また、バックアップ イメージを作成する予定のディスクに十分なディスク領域があること、および使用中のファイル システムがドライブ全体のサイズを格納できる十分な大きさのファイルをサポートしていることも確認する必要があります。
これを手動で実行する方法の例を次に示します。
dd bs=4k if=/dev/sda of=/path/to/backup.img conv=noerror,sync
上記のコマンドでは、/dev/sda は破損したディスクであり、backup.img はディスク全体の内容をバックアップとして保存するファイルです。このコマンドの詳細については、次の場所を参照してください。
エラーが発生したときに失われるデータが少なくなるように、より小さなブロック サイズ引数を使用する方がよい場合があります。たとえば、「bs=1024」ですが、これにより操作にさらに時間がかかります。
ハード ドライブに SMART などの機能が有効になっていない限り、ハード ドライブが実際に故障しているかどうかを判断するのは非常に困難です。ディスクに故障がなく、ファイル システムの破損が問題の原因である可能性があります。
残念ながら、通常は BIOS によって制御される SMART などの機能以外に、ハード ディスクの損傷度を現実的に判断する良い方法を私は知りません。
ディスク上で使用しているファイルシステムの種類を判別したら、Linux でも Windows で行ったように fsck コマンドを使用してファイルシステムの修復を試みることができます (特定のファイルシステムの種類に一致する fsck を使用していることを確認してください)。
fsck.vfat /dev/sdb1
Linux は必ずしも ntfs や fat パーティションの修復に優れているわけではないので、バックアップを検証するまでは修復を試みるべきではないことに注意してください。実際、バックアップ イメージで修復を実行することをお勧めします。バックアップ ファイルで fsck を実行する手順については、次のリンクを参照してください。dd で作成した RAW パーティション ファイルのマウント
ファイルシステムのマウント方法によっては、ls コマンドがファイルまたはディレクトリのメタデータを変更している場合 (具体的にはアクセス時間の更新)、ファイルシステムが破損する可能性があります。書き込み中にドライブを取り外すと、特にジャーナリング機能が十分でないファイルシステム (FAT32 など) では、ファイルシステムにエラーが発生します。これらのエラーは通常、fsck で修正できます。
このような危険な状況に陥っていることを大変残念に思います。これらのファイルを回復できることを願っております。
答え2
Linux システムに戻ります。
ルート ターミナルを開き、 と入力してtail -f /var/log/kern.log
、このウィンドウを最大化します。
ハードドライブを接続します。
ドライブにハードウェアの問題がある場合は、ここに表示されます。USB 接続に問題がある場合は、「デバイスを列挙できません」などのメッセージが表示されます。ドライブにメディアの問題がある場合は、不良ブロックに関するメッセージが表示されます。
USB 接続エラーが発生する場合は、ハード ドライブ エンクロージャ内の USB ケーブル、コネクタ、または USB-SATA アダプタに問題がある可能性があります (ピンの破損、コネクタがボードから外れているなど)。
外付けハード ドライブのモデルに USB ボードの暗号化機能がない場合、ドライブをエンクロージャから取り外し、直接 PC に接続して、他の内蔵ドライブと同じように操作できます。暗号化機能がある場合は、そのボードを実際に動作させる必要があります。電子工学やはんだ付けに詳しい人に依頼して、USB コネクタを交換するか、ボードのパッドに直接ケーブルをはんだ付けしてください (パッドが剥がれていないことを願います)。ハード ドライブは別のシステムでも動作しますが、データを取得することはできません。
エンクロージャ内部に収められる USB ボードの例:
ハードウェアの問題をすべて取り除いたら、Testdiskを実行して何が回復できるか試してみましょう。Ubuntuapt-get
のルートターミナルからインストールするか、ダウンロードして実行することができます。Windows版ファイルをコピーするための別のドライブを用意し、次回はデータをバックアップしてください。
幸運を。
答え3
故障したハード ドライブを修復するには、ファイルを失うリスクを負うしかありません。ドライブ上のデータの価値に応じて、プロのデータ復旧サービスが最善の選択肢となるでしょう。これらのサービスは 500 ドル程度から始まり、データの復旧にかかる労力に応じて大幅に高くなることもあります。最高のデータ復旧サービスでも、すべてのデータを復旧できるとは限りませんが、自分で行うよりもはるかに高い確率で復旧できます。
ぜひ探索してみてくださいシーゲイトリカバリサービス詳細については。
これは聞きたくない話だと思いますが、プロのデータ復旧業者なら、ドライブを開けて、自分では絶対にできない他の手順を実行できます。データ復旧には専門知識、専用のソフトウェアとツール、ハードドライブの部品が必要で、クリーンルームで行う必要があります。自宅で行うことはできません。
答え4
Windows で手動でディスク全体のチェックを試みましたか?
cmd を開いて chkdsk /? と入力すると、可能なすべてのオプションが表示されます。
NTFS パーティションの場合は、chkdsk /F /R /B /X を実行して、最も完全なチェックを行うことができます。FAT32 の場合は、/B を省略します。
ハードドライブによっては、この処理にかなりの時間がかかることに注意してください。ただし、一部のデータを救出できる可能性があります。