8. 削除した i-node を 見つけだす

次に踏むべき手順は、ファイルシステムを走査して、どの i-node が最近解放されたのかを調べることです。この作業を実行するには debugfs を使います。debugfs にファイルシステムが 保存されているデバイスのデバイスファイル名を付けて起動してください。

  # debugfs /dev/hda5

i-node を直接変更したい場合は、-w オプションを付けて ファイルシステムへの書き込みができるようにします。

  # debugfs -w /dev/hda5

削除した i-node を探すための debugfs のコマンドは lsdel です。プロンプトから次のように打ち込んで ください。

  debugfs:  lsdel

ディスク装置へのアクセス音がしばらく続いた後で、長い i-node のリストがパイプ 処理され、($PAGER で設定した) ページャに表示されます。この リストを別の場所に保存したい場合、less を使っている なら、-o オプションの後に出力ファイル名を指定します。 less 以外を使っているなら、出力を別の 場所に送る必要があります。次のようにしてください。

  debugfs:  quit
  # echo lsdel | debugfs /dev/hda5 > lsdel.out

ここで、削除日時、ファイルサイズ、ファイルタイプ、パーミッションの数値、 ファイル所有者などの情報だけに基づいて、復旧したいファイルがどれなのかを 見つけださなければなりません。運良く、五分ほど前に削除した大きなファイル 等であれば、比較的簡単に見つけだすことができるでしょう。もしそうでなければ、 リストをしらみつぶしにあたっていきましょう。

可能なら、i-node のリストをプリントアウトすることをおすすめします。 調べるのがずっと楽になります。