うっかりとrmコマンドでファイルを削除してしまった。ある程度Linuxを利用していると,誰もが経験するだろう。
一般的には,ファイルを復活させる手立てはないが,次のツール「mc」の機能を使うことで復元できる可能性がある。
ここでは,誤って削除をしてしまったファイルが存在するパーティションを「/dev/hda1」,退避するためのパーティションを「/dev/hda2」として解説する。ファイルを復活させる際には,対象となるパーティションを書込み禁止状態でマウントし,別パーティション上に復活させるファイルを書き込む必要があるのだ。
まず最初にランレベル1に移行しよう。当然ながらネットワークは遮断されるので注意が必要である。さらに,リードオンリーで/dev/hda1を再マウントすれば準備完了だ。
# telinit 1 # mount -o remount,ro /dev/hda1 |
続いて,コマンドラインから「mc」と入力する。次のような画面が現れたら,「F9」キーを押して「Undelete files(ext2fs only)」(ファイル復活)を選択しよう。検索が始まってしばらくすると,復活可能なファイル候補が表示されるのだ。
テキスト表示によるツールだが,「F9」を押せばメニューをGUIツールのように操作可能だ
ここでは元のファイル名は復元されない。ファイルサイズや日時で見当をつけよう。目的のファイルが見つかった場合には「F5」キーを押して反転表示(選択状態)にさせる。続いて保存先のパーティション(ここの例では,/dev/hda2)を指定すれば復活完了だ。
Copyright © ITmedia, Inc. All Rights Reserved.