ext3 转换为 ext4 仍以 ext3 形式挂载

ext3 转换为 ext4 仍以 ext3 形式挂载

我的 Debian 系统(主要是测试)目前遇到了一个有点奇怪的问题。

我曾经在 lvm 上有一个格式化为 ext3 的根分区。

我现在启动了一个实时系统,并将 ext3 转换为 ext4(通过 tune2fs...),还执行了 fsck.ext4。在实时系统中,我可以将分区挂载为 ext4。

然后我将 /etc/fstab 中的条目从 ext3 更改为 ext4 并重新启动我的 Debian。

问题是该分区(即使 /etc/fstab 中显示的是 ext4)似乎仍然被挂载为 ext3 - 至少 mount 是这么认为的。

当我尝试确定文件系统类型时,我得到了不一致的结果:

fsck -N 报告 ext4:

sudo fsck -N /dev/mapper/hed-root 
fsck from util-linux 2.20.1
[/sbin/fsck.ext4 (1) -- /] fsck.ext4 /dev/mapper/hed-root 

但 blkid 说的是 ext3

sudo blkid -o value -s TYPE /dev/mapper/hed-root 
ext3

正如我所说,文件系统位于 lvm 卷中。我没有在那里做任何更改。

我该如何解决这个问题?

非常感谢!

答案1

blkid 可能仍在使用该 LV 的旧缓存条目。

您可以通过绕过缓存来确保 blkid 报告正确的信息:

sudo blkid -p /dev/mapper/hed-root

还可以对缓存进行垃圾收集:

sudo blkid -g /dev/mapper/hed-root

希望这可以帮助。

答案2

根据您的文件系统功能输出,您实际上并没有将文件系统转换为 ext4。

为了解决这个问题,将文件系统转换为 ext4. 重新启动你的 live CD 并运行相应的命令:

tune2fs -O extents,uninit_bg,dir_index /dev/mapper/hed-root
e2fsck -fDC0 /dev/mapper/hed-root

(请注意,ext4 驱动程序能够安装 ext2 和 ext3 文件系统,这就是您的系统当前可用的原因。)

相关内容