web-dev-qa-db-ja.com

ファイルシステム内のファイルシステムのfsck

私はこのようなファイルシステムを作成しました:

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を実行するにはどうすればよいですか?

7
user124464

ブロックデバイスの場合と同じように、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
11
mgorven