我有一个转储的 ext4 分区映像:mmcblk0p5 我可以挂载该映像,但它始终是只读的。于是我查看了dmesg,有这样的内容:
EXT4-fs error (device loop0): ext4_init_inode_table:1340: comm ext4lazyinit: Something is wrong with group 0: used itable blocks: 467; itable unused count: 0
所以我运行一个e2fsck -ccy mmcblk0p5
e2fsck 1.42.9 (4-Feb-2014)
mmcblk0p5: recovering journal
Checking for bad blocks (non-destructive read-write test)
Testing with random pattern: done
mmcblk0p5: Updating bad block inode.
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
mmcblk0p5: ***** FILE SYSTEM WAS MODIFIED *****
mmcblk0p5: 1623/44802 files (0.0% non-contiguous), 138293/179194 blocks
似乎找不到任何错误,只能清除错误日志。如果我再次安装它,则会出现相同的错误。我该如何修复这个文件系统?这是挂载/卸载镜像文件后的tune2fs结果。
tune2fs 1.42.9 (4-Feb-2014)
Filesystem volume name: <none>
Last mounted on: /system
Filesystem UUID: 57f8f4bc-abf4-0000-675f-946fc0f9f25b
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal resize_inode filetype needs_recovery extent sparse_super large_file
Filesystem flags: unsigned_directory_hash
Default mount options: (none)
Filesystem state: clean with errors
Errors behavior: Remount read-only
Filesystem OS type: Linux
Inode count: 44802
Block count: 179194
Reserved block count: 0
Free blocks: 40901
Free inodes: 43179
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 47
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 7467
Inode blocks per group: 467
Last mount time: Tue Oct 25 18:13:08 2016
Last write time: Tue Oct 25 18:13:10 2016
Mount count: 1
Maximum mount count: -1
Last checked: Tue Oct 25 18:09:34 2016
Check interval: 0 (<none>)
Lifetime writes: 94 MB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
Default directory hash: tea
Journal backup: inode blocks
FS Error count: 2
First error time: Tue Oct 25 18:13:10 2016
First error function: ext4_init_inode_table
First error line #: 1340
First error inode #: 0
First error block #: 0
Last error time: Tue Oct 25 18:13:10 2016
Last error function: ext4_init_inode_table
Last error line #: 1383
Last error inode #: 0
Last error block #: 0
如果我做tune2fs -e continue mmcblk0p5
。然后安装并在其上创建一些文件夹。 e2fsck 会给出一些错误:
e2fsck -ccky mmcblk0p5
e2fsck 1.42.9 (4-Feb-2014)
Checking for bad blocks (non-destructive read-write test)
Testing with random pattern: done
mmcblk0p5: Updating bad block inode.
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
Inode bitmap differences: -29845 +29869
Fix? yes
mmcblk0p5: ***** FILE SYSTEM WAS MODIFIED *****
mmcblk0p5: 1624/44802 files (0.0% non-contiguous), 138294/179194 blocks
但这个错误无法修复,它始终存在。知道如何解决这个问题吗?