BTRFSパーティションのエラーを修正する方法

BTRFSパーティションのエラーを修正する方法

BTRFSパーティションの確認と回復に役立つ必要があります。すべては私のシステムのいくつかのディレクトリにアクセスできなくなり始めました。実行すると、これらのディレクトリに対する権限が疑問符で表示されますls -l

d????????? ? ?           ?            ?  dir1/
d????????? ? ?           ?            ?  dir2/
d????????? ? ?           ?            ?  dir3/

最後のバックアップ中に問題が発生したようですrsync。これらのディレクトリのいずれかを削除しようとすると、rm -frv dir1次のエラーが発生します。

rm: cannot remove 'dir1': Input/output error

パーティションをアンマウントし、BTRFS 'チェックを実行しました。

sudo umount /dev/sda1
sudo btrfs check /dev/sda1

次のエラーがたくさん発生します。

root 5 inode 77131 errors 2001, no inode item, link count wrong
        unresolved ref dir 68134 index 0 namelen 11 name <filename.ext> filetype 1 errors 6, no dir index, no inode ref

以下でコマンドの概要を確認してくださいbtrfs check

ERROR: errors found in fs roots
found 291234099200 bytes used, error(s) found
total csum bytes: 268053312
total tree bytes: 372293632
total fs tree bytes: 58654720
total extent tree bytes: 7356416
btree space waste bytes: 45522801
file data blocks allocated: 290844143616
 referenced 290844143616

ここに案内してもらえますか?ファイルシステムを修復するには?btfrs check警告マニュアルページ反対するrepairコマンドを使用してください。

答え1

バックアップはありますか?そうでなければ、今一つ作る。明らかに破損したデータは含まれていませんが、全体を失うよりもそれだけを失う方が良いです。

バックアップが完了したら、リカバリモードでcheckコマンドを実行します。それ可能解決する。だとしたら大丈夫です。そうでない場合や状況が悪化した場合は、ボリュームを削除してバックアップから復元してください。過去の経験によると、最新バージョンのbtrfs-progs(この回答を書いたときの最新バージョンは6.0.2)を使用している場合、回復モードはおそらくファイルシステムを一貫した状態にします。破損した目次が失われる可能性があります。)

どちらの場合も、まず問題の原因を調査する必要があります。

関連情報