linux 将ext2变成ext4文件系统

ext2是非日志系统,断电很容易造成文件损坏。

1 卸载

sudo vim /etc/fstab

/dev/mmcblk1p7 /data auto defaults 0 0 前面加一个#,改成如下

#/dev/mmcblk1p7 /data auto defaults 0 0

保存退出 (或  umount /dev/mmcblk1p7),重启reboot

2 格式化数据盘

sudo mkfs.ext4  /dev/mmcblk1p7

格式化后可检查盘有没有错误

sudo resize2fs  /dev/mmcblk1p7

sudo e2fsck -p -f /dev/mmcblk1p7

3 重新挂载

sudo vim /etc/fstab

#/dev/mmcblk1p7 /data auto defaults 0 0 删除#,改成如下

/dev/mmcblk1p7 /data auto defaults 0 0

保存退出(或 mount  /dev/mmcblk1p7),重启reboot

4 检查是否挂载

df -h

5 命令解析

5.1 mkfs.ext4

mkfs.ext4 参数-b block-size 块大小(1k,2k,4k)
-c 坏块测试
-l filename从文件读坏块列表
-C cluster-size 簇大小 (大块分配持性)
-D 使用direct I/O
-E 扩展属性mmp_update_interval=MMP更新时间间隔,必需小于300sstride=条块大小(RAID组中每个条带单元chunk大小)stripe_width=条带大小 (单位为block),(在数据定时,块分配器尽可能的防止产生read-modify-write)resize=保留在线调整时的空间大小lazy_itable_init=0/1 inode表不完全初始化 (挂载时由内核在后台初始化)    // 40TG mount后50M写初始化55分钟 (格式化时:20s,强制初始化时:7min)  (mkfs.ext4 -E lazy_itable_init=0,lazy_journal_init=0 )lazy_journal_init=0/1日志inode表不完全清0test_fs设置文件系统体验标志-F(force 强制)
-f  fragment-size  指定片段大小
-g blocks-per-group  指定每一个块组内块的数量
-G number-of-groups  指定块组数量(在元数据负载重时可以提高元数据性能)
-i bytes-per-inode  指定 bytes/inode 比率
-I inode-size 指定inode大小
-j 创建一个ext3日志。默认创建合适大小的日志区
-J 创建指定属性的日志。逗号分隔。 (size=1024块 内部日志大小,device= 外部日志设备 )size= journal-size  内部日志大小,单位为M,最小为1024个文件系统块,(最大为10240000个文件系统块或文件系统的一半)device = external-journal 外部日志块设备(设备名,标签,UUID)外部日志必需先创建:mke2fs -b 4096 -O journal_dev  external-journal (/dev/ramhda)mkfs.ext4 -J device= external-journal (/dev/ramhda)  -F /dev/mapper/vggxxxxxxx
-L 设置volume 标签,最长为16个byte
-m 指定保留空间百分比,为root用户
-M 设置最后挂载目录
-n 不真正创建文件系统,只是显示创建的信息
-S  只写超级块和块组描述符。(当超级块和备份超级块错误后,可以用来恢复数据。因为它不会touching inode表和bitmap)
-O feature 指定创建文件系统时的持性(/etc/mke2fs.conf)bigalloc 使能大块分配(cluster-size)dir_index 使用哈希B树加速目录查找extents 使用extents替代间接块filetype在目录项中存储文件类型信息flex_bg 允许为每一个块组元数据(分配bitmap和inode表)存放在任何位置 has_journal  创建ext3日志(-j)journal_dev 在给定的设备上创建外部ext3日志large_file 支持>2G的文件(现代内核会自动打开) quota 创建quota inodes(inode#3为用户配额,inode#4为组配额) ,并在超级块中设置。(挂载后自己启用quota)resize_inode 保留空间以便未来块组描述表增长。用于resize2fssparse_super 创建少量的超缓块拷贝uninit_bg   创建文件系统时不初始化所有的块组,加速创建时间,和e2fsck时间、
-O^has_journal   不启用日志

5.2 resize2fs

resize2fs可用于调整ext2、ext3或ext4文件系统的大小。它可以用来扩容或缩小位于设备上的已卸载的文件系统。参数:
-f      :强制执行 resize 操作
[device]:分区名;
[size]  :可以加也可以不加。如果加上 size 的話,加上一个单位例如 M,G。

5.3 e2fsck

e2fsck 详见

linux 将ext2变成ext4文件系统相关推荐

  1. EXT2/EXT3/EXT4文件系统数据恢复工具开发计划

    D-Recovery For Linux数据恢复软件已经开发完成,现在把研发计划贴出来,留个纪念. EXT2/EXT3/EXT4文件系统数据恢复工具开发计划 EXT2/EXT3/EXT4是Linux下 ...

  2. 模块化编译ext2, ext3,ext4 文件系统

    本文的目的就是将ext2, ext3,ext4文件系统编译成模块化,当我们需要对ext2, ext3,ext4进行修改的时候,就不需要重新编译内核.在这里,我会尽可能详细讲解每一个步骤,包括重新编译内 ...

  3. Windows 7下读写Ext2/Ext3/Ext4文件系统

    Linux文件系统格式一般是Ext3,现在Ext4也出来了.如何在Windows上读写这些分区呢? 推荐以下几款软件: 1. ext2Fsd (http://www.ext2fsd.com/) 可以读 ...

  4. Linux内核学习:EXT4 文件系统在 Linux 内核系统中的读写过程

    目录 1 概述 2 虚拟文件系统 与 Ext4 文件系统 2.1 sys_write( ) 代码跟踪 2.2 sys_write( ) 过程分析 2.3 sys_write( ) 的核心部分 vfs_ ...

  5. linux ext3 大文件,Linux下Ext2与Ext3文件系统

    Linux下的Ext2文件系统,是 GNU/Linux 系统中标准的文件系统,其特点为存取文件的性能极好,对于中小型的文件更显示出优势,这主要得利于其簇快取层的优良设计. Ext3文件系统,它属于一种 ...

  6. Linux下修改EXT2/EXT3/EXT4文件系统的磁盘卷标的方法

    首先要获取你的磁盘在/dev中的路径,可以使用这两个命令查看:mount和fdisk -l 用到的工具先交代一下: e2fsprogs 和 tune2fs 接下来假设要修改的磁盘是/dev/sda1 ...

  7. 制作ext4文件系统linux,linux下如何制作ext4文件系统镜像

    1.生成一个空的2MiB文件 dd if=/dev/zero of=rootfs.ext4 bs=1024 count=2048 (指定每一块大小为1024字节,一共又2048块,那么就是2048 * ...

  8. linux 制作 ext2 格式根文件系统镜像

    参考: https://blog.csdn.net/zgtzqzg2020/article/details/109848251 嵌入式烧写 uboot, kernel, rootfs 文章内容和参考项 ...

  9. 【Linux】10_存储管理EXT4文件系统详解

    名词解释 EXT4:Fourth extended filesystem,第四代扩展文件系统 XFS:索引(index ) 文件系统 系统限制 Ext3: 文件系统最大16TB Ext4: 文件系统最 ...

  10. 关于Linux系统中的ext4文件系统制作命令的学习与理解,make_ext4fs 参数介绍。

    使用的工具是make_ext4fs   例子:make_ext4fs -s -l 3141572800 -a root -L linux system.img system 在网上查看了些质料对该命令 ...

最新文章

  1. 【青少年编程】黄羽恒:平行空间
  2. [BZOJ2821]作诗(Poetize)
  3. Laravel 怎么在 blade 视图中将带 HTML 字符原样输出
  4. Flutter 以Dialog Activity形式展现
  5. 最详细的docker安装rocketMQ教程来了
  6. 检测输入路径是否存在错误_为什么存在用户输入错误
  7. 损失函数(Loss function) 和 代价函数(Cost function)
  8. 基于Netty的RPC简易实现
  9. Android用户界面开发:控件集合
  10. 一次接口超时排查,花费了我两个星期。。
  11. 一、虚拟机,CentOS安装教程,Linux文件系统结构,Linux文件命名规则
  12. 白帽子也能迎娶白富美:2017八大高薪信息安全认证
  13. mysql 循环 索引值,mysql:循环遍历表和alter table添加索引
  14. vscode下载Visual Studio Code User System windows及 Mac安装文件下载
  15. 计算机硬件兼容性,教你如何查看电脑硬件的兼容性
  16. 手机计算机无法使用,为什么手机不能像电脑一样「一心多用」?
  17. Oracle-数据库组件invalid问题处理
  18. 使用循环来实现周一到周日
  19. 第二周 Day 3—— Python容器
  20. 淘宝排名查询接口,关键词排名API,宝贝排名查询,在线淘宝排名查询

热门文章

  1. JAVA与GO语言之间应该选择学习哪个?
  2. VBA实例6 CorelDraw 批量生成设备位号、连续编号
  3. 我对SegNet的理解
  4. AssetBundle接口详解与优化
  5. 如何用计算机判断直角三角形,三角形角度(直角三角形懒人计算器)
  6. 计算机excel求体重指数,excel标准差-制程能力指数(CPK)的定义及计算公式
  7. Html转Word解决转存图片时候的跨域问题、默认打开视图问题
  8. linux+livecd维修工具,使用LiveCd修复Ubuntu
  9. Keyence激光打标机入门1
  10. 软考中级软件设计师--6.UML