web-dev-qa-db-ja.com

破損したNTFSファイル(そのようなファイルやディレクトリはありません)。 Linuxで修正できますか?

PartedMagicを使用してファイルを外付けハードドライブにコピーしようとしています。コンピュータが起動しないので、修理のために送ります。私はすべてを試しましたが、デスクトップまたはリカバリ環境で起動することができません。私ができることは、PartedMagicコマンドラインを起動することです(Ultimate Bot CDを使用)。そのため、代わりにファイルをコピーしています。どちらのドライブもNTFSです。 NTFSサポートが組み込まれているPartedMagicを使用しています。

私の問題は、cpコマンドがランダムなファイルをスキップしていることです。コマンドは次のようになります。

root@PartedMagic:/mnt/local/Users# cp -R ianco/* /mnt/usb/ianco-bak/

私が得ているエラーは次のとおりです。

cp: cannot open <filename> for reading: No such file or directory

この問題が発生した後、このコマンドを再度実行しましたが、-n(上書きしないでください)パラメーター、およびまったく同じファイルをスキップしたことに気づきました。スキップされたファイルのログを作成しました ここ

なぜこれらの特定のファイルをスキップするのですか、そしてもっと重要なことに、どうすればすべてをコピーさせることができますか?

編集1:影響を受けるファイルの1つでllcatを実行しましたが、これが得られたものです

root@PartedMagic:/mnt/local/Users# ll ianco/AppData/Local/Android/sdk/docs/images/Android-5.0/notifications/expandedtext_combo.png
-rwxrwxrwx    2 root     root             0 Apr 25  2016 ianco/AppData/Local/Android/sdk/docs/images/Android-5.0/notifications/expandedtext_combo.png

root@PartedMagic:/mnt/local/Users# cat ianco/AppData/Local/Android/sdk/docs/images/Android-5.0/notifications/expandedtext_combo.png
cat: ianco/AppData/Local/Android/sdk/docs/images/Android-5.0/notifications/expandedtext_combo.png: No such file or directory
1
iancoguz

私はそれを理解しました(もちろん、コメントのみんなの助けを借りて)。これを行った理由は、Windows10修復ディスクが構成されていたUEFIを起動できなかったためです。ただし、Windows7の修復ディスクを起動することはできました。

Windows 7の修復ディスクを起動したら、chkdsk C: /fを実行し、それが終了した後(ちなみに、24時間以上かかりました)、破損したファイルをハードドライブにコピーできました。これが同じ問題を経験している可能性のある他の人に役立つことを願っています。

0
iancoguz

OPの後にこれを書いています ファイルシステムをchkdskで修復しました 。この回答は、コメントから有用な情報を収集して、同様の問題を抱える将来のユーザーに洞察を与えます。

ll出力は、データが含まれているはずのファイルのサイズ0を報告します。これは、発生したエラーと同様に、ファイルまたはファイルシステムが破損していることを示しています。

Linuxは、破損したNTFSを修正するための十分な機能を備えていません。 ntfsfixツールがありますが、そのマニュアルには次のように書かれています。

ntfsfixは、いくつかの一般的なNTFS問題を修正するユーティリティです。 ntfsfixはLinuxバージョンのchkdskではありません。これは、いくつかの基本的なNTFSの不整合を修復し、NTFSジャーナルファイルをリセットし、Windowsの最初の起動時にNTFS整合性チェックをスケジュールするだけです。

ご覧のとおり、このツールはWindowsにやらなければならない大変な作業を残しています。 Linuxだけで深刻なNTFSの問題を修復する方法はないようです。

適切なツールは、Windows chkdsk/fオプションです。これを使用するには、次のいずれかを実行できます。

  • chkdskを提供するWindows修復ディスクを起動します。
  • または、ドライブを動作中のWindowsマシンに接続し、そこからchkdskを実行します。
  • または(面倒な方法ですが、ドライブを削除したり、ディスクを修復するために起動したりできない場合でも便利です)ドライブを別のドライブにクローンし(ddまたはddrescueを使用)、クローンをに接続しますWindowsで作業し、ファイルシステムを修正してファイルにアクセスします。
1