debugfs(8)

ext2/ext3/ext4ファイルシステムの調査・デバッグを行う

構文

debugfs [オプション] [DEVICE]

オプション

-b BLOCKSIZEブロックサイズの自動検出を行わずBLOCKSIZE(1024/2048/4096)を適用する
-c重度に破損したモードとしてファイルシステムをread-onlyモードで開く
-d SOURCE_DEVICE読み取りブロックがファイルシステムイメージに見つからない場合、SOURCE_DEVICEのデバイスが使われる(-iオプションと共に利用)
-f FILE対話的な動作ではなく、ファイルFILEに記述されているコマンドを順に実行する
-i指定したデバイスがe2imageによって作成されたファイルシステムイメージであることにする
-R COMMAND対話的な動作ではなく、COMMANDとして指定したコマンドを実行して終了する
-s SUPERBLOCKスーパーブロックのブロックをSUPERBLOCKとする(-bオプションも必要)
-Vバージョンのみ表示する
-wread-writeモードでファイルシステムを開く(デフォルトはread-onlyモード)
DEVICEデバイスファイルを指定する

主なコマンド

cat FILESPECファイルFILESPECで指定したiノードの内容を標準出力へ出力する
cd FILESPECFILESPECディレクトリへ移動する
chroot FILESPECルートディレクトリをFILESPECディレクトリに変更する
close [-a]開いているファイルシステムを閉じる(-a:マスタースーパーブロックだけでなくバックアップスーパーブロックにも変更を書き込む)
clri FILEファイルFILEのiノードの内容を消去する
dump [-p] FILESPEC OUTFILEファイルFILESPECのiノードの内容をファイルOUTFILEに書き出す(-p:OUTFILEのパーミッションはFILEと同じになる)
expand_dir FILESPECFILESPECディレクトリを展開する
feature [FS_FEATURE] [-FS_FEATURE] ...指定したファイルシステム属性FS_FEATUREをセットしたりクリアしたりする(引数を指定しなければ現在適用されているファイルシステム属性を表示する)
find_free_block空きブロックを表示する
find_free_inode空きiノードを表示する
freeb BLOCKブロックBLOCKをアロケートされていないものとしてマークする
freei FILEファイルFILEのiノードを解放する
helpコマンド一覧を表示する
icheck BLOCK ...ブロックBLOCKを利用しているiノードを表示する
init_filesys DEVICE BLOCKSIZEデバイスサイズBLOCKSIZEのext2ファイルシステムをデバイスDEVICE上に作成する
kill_file FILESPECファイルFILESPECのiノードとそのブロックのアロケートを解除する
lcd DIRdebugfsプロセスのカレントディレクトリをDIRディレクトリに変更する
ln FILESPEC DEST_FILEファイルFILESPECを指すリンクDEST_FILEを作成する(iノードの参照数は変更しない)
logdump [FILE]ext3ジャーナルの内容をファイルFILEもしくは標準出力に出力する
ls [-l] [-d] [-p] [DIR]DIRディレクトリ内のファイル一覧を表示する(-l:より詳細な書式で、-d:削除エントリを表示、-p:スクリプト向きの簡潔な書式で)
modify_inode FILESPECファイルFILESPECのiノード内容を対話的に変更する
mkdir FILESPECFILESPECディレクトリを作成する
mknod FILESPEC [p|[[c|b] MAJOR MINOR]]スペシャルデバイスファイルを作成する(-p:パイプ、c:キャラクタデバイス、b:ブロックデバイス、MAJOR:メジャー番号、MINOR:マイナー番号)
ncheck INODE ...iノード番号INODEに対応するパス名をリスト表示する
open DEVICEデバイスDEVICEを編集対象としてオープンする
pwdカレントディレクトリを表示する
quitdebugfsを終了する
rdump DIR DESTDIRディレクトリとその内容をDESTディレクトリに再帰的にダンプ(コピー)する
rm FILEファイルFILEをアンリンクする
rmdir DIRDIRディレクトリを削除する
setb BLOCKブロックBLOCKをアロケートされているものとしてマークする
set_inode_field FILESPEC FIELD VALUEファイルFILESPECのiノードフィールドFIELDに値VALUEをセットする(-lでiノードフィールドのリストを表示)
set_super_value FIELD VALUEスーパーブロックのフィールドFIELDに値VALUEをセットする(-lでスーパーブロックフィールドのリストを表示)
show_super_stats [-h]スーパーブロックとブロックグループディスクリプタの内容を表示する(-h:スーパーブロックのみ表示)
stat FILESPECファイルFILESPECのiノード構造体の内容を表示する
testb BLOCKブロックBLOCKがブロックビットマップでアロケートされているかチェックする
testi FILESPECファイルFILESPECがiノードビットマップでアロケートされているかチェックする
unlink PATHNAMEPATHNAMEで指定されるiノードのリンクを削除する(iノード参照数は変更しない)
write SRC_FILE OUT_FILEファイルOUT_FILEを作成し、ファイルSRC_FILEの内容をOUT_FILEにコピーする
FILESPECファイル名を指定するか、iノード番号を<>で囲んで指定する

説明

ext2/ext3/ext4ファイルシステムを開き、ファイルを詳細に調査したり操作したりする。debugfsコマンドを実行すると、対話的にデバッグ操作を受け付ける状態になる。プロンプト「debugfs:」が表示されるので、任意のコマンドを入力する。対話モードはquitで終了する。

使用例

/dev/sda1をread-onlyモードで開き、対話的に操作する。

# debugfs /dev/sda1
debugfs 1.41.12 (17-May-2010)
debugfs:  pwd
[pwd]   INODE:      2  PATH: /
[root]  INODE:      2  PATH: /
debugfs:  ls
 2  (12) .    2  (12) ..    11  (20) lost+found    12  (12) grub
 19  (12) efi    41  (40) config-2.6.32-431.11.2.el6.i686
 14  (44) .vmlinuz-2.6.32-431.el6.i686.hmac
 15  (40) System.map-2.6.32-431.el6.i686
 16  (36) config-2.6.32-431.el6.i686
 17  (40) symvers-2.6.32-431.el6.i686.gz
 18  (36) vmlinuz-2.6.32-431.el6.i686
 23  (44) initramfs-2.6.32-431.el6.i686.img
 24  (56) initramfs-2.6.32-431.11.2.el6.i686.img
 39  (48) .vmlinuz-2.6.32-431.11.2.el6.i686.hmac
 40  (44) System.map-2.6.32-431.11.2.el6.i686
 42  (44) symvers-2.6.32-431.11.2.el6.i686.gz
 43  (40) vmlinuz-2.6.32-431.11.2.el6.i686
debugfs:  stat vmlinuz-2.6.32-431.el6.i686
Inode: 18   Type: regular    Mode:  0755   Flags: 0x80000
Generation: 2749104814    Version: 0x00000001
User:     0   Group:     0   Size: 4002656
File ACL: 4401    Directory ACL: 0
Links: 1   Blockcount: 7820
Fragment:  Address: 0    Number: 0    Size: 0
ctime: 0x534f3ef2 -- Thu Apr 17 11:39:46 2014
atime: 0x528eaa45 -- Fri Nov 22 09:50:13 2013
mtime: 0x528eaa45 -- Fri Nov 22 09:50:13 2013
EXTENTS:
(0-2047): 10241-12288, (2048-3908): 14337-16197
debugfs:  quit

関連事項

e2fsck、mke2fs、dumpe2fs、tune2fs