原连接解决方式描述:
现象
使用新版本的操作系统自带的文件系统格式化工具进行分区格式化以后,在较低的操作系统版本上会有提示,提示如下:
mount -t ext4 /dev/sdb1 /root/test
mount: 文件系统类型错误、选项错误、/dev/sdb1 上有坏超级块、
缺少代码页或助手程序,或其他错误
有些情况下在 syslog 中可以找到一些有用信息- 请尝试
dmesg | tail 这样的命令看看。
1
2
按照提示查看日志发现
EXT4-fs (sda1): error loading journal
原因分析
造成上述问题的原因是在新的操作系统上使用系统自带的 mkfs.ext4 对文件系统进行了格式化,默认会使用一些新的的特性,这些新的特性在旧的系统上是无法使用的。
比如在 Ubuntu 18.04 上进行使用 mkfs.ext4 进行格式化的磁盘,在 CentOS 7.4 1708 上 是可以正常使用的,在 CentOS 7.0 1406 以及以下版本是就是提示上述错误。
Ubuntu 18.04 的 mkfs 版本是 1.44.1-1 ,CentOS 7.0 1406 的 mkfs 版本是 1.42.9-4。造成了这个差异。CentOS 7.4 1708 的 mkfs 版本是 1.42.9-10 ,Redhat 内部在小版本上新增了这个特性的支持。
解决办法
按照日志提示,Unrecognised features on journal , 不支持 journal 。
那么查看文件系统特性:
#tune2fs -l /dev/sdb1
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file
文件系统含有一个 has_journal 特性,删除这个特性,删除方式如下:
#tune2fs -O ^has_journal /dev/sdb1 // 去除has_journal选项
#tune2fs -O has_journal /dev/sdb1 // add has_journal选项
验证是否删除:
#tune2fs -l /dev/sdb1
Filesystem features: ext_attr resize_inode dir_index filetype
删除后,可以顺利挂载:
mount -t ext4 /dev/sdb1 /root/test
参考链接:https://codeleading.com/article/4174864675/
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.youkuaiyun.com/high_sky_fly/article/details/133355560
----------------------------
以下原创问题记录
遇到问题:
#tune2fs -O ^has_journal /dev/sdb1 // 去除has_journal选项
遇到提示:
---------
#sudo tune2fs -O ^has_journal /dev/sdb3
tune2fs 1.45.5 (07-Jan-2020)
正在恢复日志。
tune2fs: 非法的 inode 数 while recovering journal.
请先运行“e2fsck -fy -O”。
---------
#sudo e2fsck -fy /dev/sdb3
e2fsck 1.45.5 (07-Jan-2020)
超级块含有一个无效的日志(inode 8)。
清除?是
*** journal has been deleted ***
超级块不具有 has_journal 标志,但发现了日志。
清除?是
---------
linux挂载后会提示安全风险,但是可以正常挂载