记一次由于e2fsprog升级引起文件系统挂载失败

news/2024/7/7 21:13:19

现像:

mount -t ext4 /dev/mmcblk0p17 /var/backups

执行时报错EXT4-fs (mmcblk0p17): Couldn't mount because of unsupported optional features (2000);

要如何解决?

首先明确一个问题,文件系统特性仅与软件有关,与是否更换硬件芯片无法!!!!

mke2fs:制作文件系统的工作
dumpe2fs:打印文件系统的工具

tune2fs: 增加或删除文件系统特性(Filesystem Feature)

以上工具均来源于e2fsprog

如下图所示,可以看到,新的图片中在Filesystem Feature一栏增加了metadata_csum_seed,64bit,metadata_csum,large_file。

metadata_csum_seed: 提供对文件系统元数据的校验和保护,增强数据完整性。

64bit: 支持超过 16TB 的文件系统和文件大小,允许文件系统在 64 位寻址空间中使用。

metadata_csum: 对文件系统元数据启用校验和,以检测和防止损坏。

large_file: 支持创建大于 2GB 的文件。

dumpe2fs -h /dev/mmcblk0p17

旧:

新:

首先拿到一个EMMC磁盘,首先是对磁盘进行分区;其次对分区进行格式化并制作文件系统格式,最后将这个分区挂载到linux某个路径下就能访问磁盘空间了。

因此关于文件系统不一样时,仅可能和制作文件系统有关,即mke2fs。

因为通过正常版本与异常版本之间的md5sum可以确定旧图的系统来源于旧的mke2fs。因此只要降级或者清除文件系统不必要的特性或者异常特性即可

解决方案1:

删除metadata_csum_seed特性:tune2fs -O ^feature_name /dev/mmcblk0p17;将feature_name修改为metadata_csum_seed即可。^表示删除,不带这个符号即是增加,如下所示

删除完之后,再mount就会成功

解决方案2:

降级e2fsprog,将e2fsprog降级到之前版本

最后推荐一个命令strings xxx可以打印出改程序所有log语句

/usr/sbin # strings mke2fs | grep features
base_features
default_features
Filesystem features not supported with revision 0 filesystems
Suggestion: Use Linux kernel >= 3.18 for improved stability of the metadata and journal checksum features.
/sys/fs/ext4/features/lazy_itable_init
The resize_inode and meta_bg features are not compatible.
        base_features = sparse_super,large_file,filetype,resize_inode,dir_index,ext_attr
                features = has_journal
                features = has_journal,extent,huge_file,flex_bg,metadata_csum,metadata_csum_seed,64bit,dir_nlink,extra_isize,orphan_file


http://lihuaxi.xjx100.cn/news/2105705.html

相关文章

电机学(笔记二)

负载与电流对应,电枢电压与转速对应。 电动机的输入功率P1 电磁功率Pm 铜损功率 Pcu 轴上输出机械功率P2 空载功率P0(包括铁损耗,机械损耗和附加损耗) 铜损耗Pcu 发电机的机械功率P1 电磁功率Pm 空载功率P0&…

代码随想录阅读笔记-字符串【翻转字符串中单词】

题目 给定一个字符串,逐个翻转字符串中的每个单词。 示例 1: 输入: "the sky is blue" 输出: "blue is sky the" 示例 2: 输入: " hello world! " 输出: "world! hello" 解释: 输入字符串可以在前…

Linux学习笔记-Linux学习方法

Linux建议学习路线 计算机概论与硬件相关知识: 因为既然想要走Linux这门路,信息相关的基础技能也不能没有啊! 所以先理解一下基础的硬件知识,不用一定要全懂,又不是真的要你去组计算机,但是至少要“听过、有…

Springboot自动校验@NotBlank@NotNull@NotEmpty

1、依赖问题&#xff1a; 查看搭建的SpringBoot项目中 NotEmpty 是否可以引用&#xff0c;查询资料发现从SpringBoot 2.3.0之后放弃了默认对javax.validation 的支持。 <dependency> <groupId>org.springframework.boot</groupId> …

3月第2周精选#ComfyUI爱好者中文社区

社群精华周报&#xff08;3月第2周&#xff09;截止至3.17日 &#xff0c;感谢 WritterGPT ML2627 的记录。 分享者 / 奥特曼 自动将漫画转录为文字并生成剧本 Magi 模型由牛津大学工程科学系的视觉几何组开发&#xff0c;它可以全自动地为漫画页生成剧本&#xff0c;包括谁说了…

KVM安装-kvm彻底卸载-docker安装Webvirtmgr

KVM安装和使用 一、安装 检测硬件是否支持KVM需要硬件的支持,使用命令查看硬件是否支持KVM。如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的 egrep ‘(vmx|svm)’ /proc/cpuinfo关闭selinux将 /etc/sysconfig/selinux 中的 SELinux=enforcing 修改为 SELinux=d…

音视频开发之旅——音频基础概念、交叉编译原理和实践(LAME的交叉编译)(iOS)

本文主要讲解的是音频基础概念、交叉编译原理和实践&#xff08;LAME的交叉编译&#xff09;&#xff0c;是基于iOS平台&#xff0c;示例代码如下所示&#xff1a; iOSAudioDemo 另外&#xff0c;Android平台也有相关的文章&#xff0c;如下所示&#xff1a; 音视频开发之旅…

「Linux系列」聊聊vi/vim的3种命令模式

文章目录 一、vim简介二、命令模式1. 光标移动2. 复制、剪切和粘贴3. 撤销和重做4. 搜索和替换5. 显示行号 三、输入模式1. 进入输入模式2. 在输入模式下编辑文本3. 使用特殊字符和快捷键注意事项 四、命令行模式1. 保存和退出2. 查找和替换3. 显示行号和其他设置4. 执行外部命…