私はこのようなファイルシステムを作成しました:
dd if=/dev/zero of=disk-image count=40960
ファイルシステムはこれで作成されます:
/sbin/mkfs -t ext3 -q disk-image
次に、いくつかのテストファイルをマウントしてコピーし、次のようにアンマウントしました。
mount -o loop disk.image foo
cp "something" foo
Sudo umount foo
次に、e2fsck -c -c disk-image
が返されます
"Pass 1: Checking inodes, blocks, and sizes
Inode 185, i_size is 16384, should be 17408. Fix<y>? yes
これはファイルであり、ブロックデバイスではないので、私の質問は、上記の警告のことです。
ファイル内のファイルシステムでfsckを実行するにはどうすればよいですか?
ブロックデバイスの場合と同じように、e2fsck
を実行してイメージファイルを指定するだけです。 -c
オプションを使用している理由がわかりません(これにより、不良ブロックがチェックされます)。
% e2fsck -f ext3.img
e2fsck 1.42 (29-Nov-2011)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
ext3.img: 11/25688 files (0.0% non-contiguous), 8913/102400 blocks