GNU/Linux >> Linux の 問題 >  >> Linux

Linux – FsがクラッシュしてFsckを実行した後、一部のファイルは回復されましたが、Lost + foundに配置されませんでしたか?

外付けハードドライブパーティションsdb4でI/Oエラーが発生しました(通常のマウントポイントは/ run / media / yan / dataです)。

パーティションが応答せず、アクセスできず、アンマウントを拒否されました。どうしたらいいかわからなかったのですが、ディスクを抜いてから再度差し込んでください。その後、fsにエラーが発生したため、fsckを実行しました:

sudo e2fsck /dev/sdb4 -y -v

多くの修正(数千)を求めていましたが、そのディスクではデータが重要ではないため、-yを使用して実行しました。

data contains a file system with errors, check forced.

Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
# Fixed invalid inode numbers, incorrect filetypes, cleared links, deleted/unused inodes
Pass 3: Checking directory connectivity
# Connected unconnected directory inodes to /lost+found
Pass 4: Checking reference counts
#Fix inodes ref count, connected unattached inode to /lost+found
Pass 5: Checking group summary information
# Fix block bitmap differences, blocks count wrong for group
# Fix inode bitmap differences, directories count wrong for group, free inodes count wrong for group

data: ***** FILE SYSTEM WAS MODIFIED *****

       72955 inodes used (0.14%, out of 51200000)
        2390 non-contiguous files (3.3%)
          17 non-contiguous directories (0.0%)
             # of inodes with ind/dind/tind blocks: 0/0/0
             Extent depth histogram: 72264/636/1
   186984621 blocks used (91.30%, out of 204800000)
           0 bad blocks
          34 large files

       70447 regular files
        2453 directories
           0 character device files
           0 block device files
           0 fifos
  4294966642 links
          46 symbolic links (46 fast symbolic links)
           0 sockets
------------
   71063 files

したがって、私が正しく理解していれば、fsckはなんとか70kのファイルを回収できたので、そのディスクには75〜80kのファイルがあったのでほとんどのファイルがありました。問題は、「/ run / media / yan / data / lost + found」に表示されるファイルは20kのみであり、パーティション全体では24kのみであるということです。

[[email protected] ~]$ find /run/media/yan/data/lost+found | wc -l
19786
[[email protected] ~]$ find /run/media/yan/data | wc -l
23691

fsckを再実行しましたが、パーティションがクリアされている(そして、74kのファイルがありますか?)

と言われました。
[[email protected] ~]$ sudo fsck /dev/sdb4
fsck from util-linux 2.28
e2fsck 1.42.13 (17-May-2015)
data: clean, 74200/51200000 files, 186685980/204800000 blocks[/cpp]

また、dfとduによってディスクの使用量が大きく異なります(違いがあるはずですが、ここでは大きすぎて正常ではないようです):

[[email protected] ~]$ df -h /run/media/yan/data
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb4       769G  700G   31G  96% /run/media/yan/data

[[email protected] ~]$ du -sh /run/media/yan/data
586G    /run/media/yan/data

アクセスできない復元されたデータがまだあると思います。
私の質問は:

1)fsckによって復元されたファイルがlost + foundに配置されない可能性はありますか?その場合、どこにありますか?

2)不足しているファイルを取り戻す方法はありますか?

3)そうでない場合、このスペースを解放するにはどうすればよいですか?

編集:

sourcejediの推奨事項について、より新しいバージョンのe2fsckを試しました:

[[email protected] build]$ sudo ./e2fsck/e2fsck -f /dev/sdb4
e2fsck 1.43.3 (04-Sep-2016)
Pass 1: Checking inodes, blocks, and sizes
Inode 40501578 extent tree (at level 2) could be narrower.  Fix<y>? yes

Pass 1E: Optimizing extent trees
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

data: ***** FILE SYSTEM WAS MODIFIED *****
data: 74200/51200000 files (3.2% non-contiguous), 186685964/204800000 blocks

それはあまり効果がなく、lost+foundのファイル数とサイズは同じです。

関連:利用可能な `shopt`オプションの説明を取得するにはどうすればよいですか?

承認された回答:

リンク数が非常に疑わしいことにも気づきました(ほぼ2 ^ 32)。

最新のe2fsckを試したり、バグを報告したりできます。これは確かにバグです。

photorecでデバイス/パーティションをスキャンする フォーマットがサポートされており、連続している場合は、より多くのファイルを復元する可能性があります。 FSがかなりいっぱいであるため、多くのファイルが連続していません。 photorec ファイル名またはディレクトリを回復しません。 (たとえば、mp3の場合は、picardのようなものを使用できます。 mp3メタデータ(別名ID3タグ)からファイル名を適用します)。 photorecに注意してください すべてのファイルを回復するには、別のファイルシステムに空き領域が必要です。


Linux
  1. Linuxでファイルをアーカイブおよび圧縮する方法

  2. LinuxおよびUnixでのLost+foundフォルダーの目的は?

  3. Linuxネットワークのトラブルシューティングとデバッグ?

  1. Linux – Unix / linux Osesの標準および/または共通ディレクトリ?

  2. Linux ファイルとディレクトリの削除

  3. Linuxで最近削除されたファイルとフォルダを見つける方法は?

  1. Linux –なぜSuだけでなくSuを使用するのですか?

  2. Linux で特定の期間より古いファイルを見つけて削除する方法

  3. Linux でファイルではなくディレクトリ ツリーをコピーするにはどうすればよいですか?