欢迎,来自IP地址为:18.116.42.208 的朋友


对于 计算机来说,文件系统就是文件命名和逻辑存储、检索以及更新的方法,文件系统同时还要管理已有存储设备的存储空间。文件系统通常被划分为两类:用户数据和元数据。

本文将详细讲解 Linux 系统的 Ext2、Ext3、Ext4 等文件系统,并尝试演示如何创建以及转换不同的文件系统。

在开始之前,强烈建议大家在尝试之前备份好自己的数据,因为操作文件系统是需要有足够的经验,稍有不慎,就有可能带来无法弥补的损失。

首先,对 Linux 文件系统做一个简要的介绍:

Ext2 – Third Extended File System

  • Ext2 最早发布于1993年,并成为早期诸如 Red Hat 和 Debian 等 Linux 发行版的默认文件系统
  • 它的出现是为了摆脱经典 Ext file system 文件系统的限制
  • 最大文件容量 16GB-2TB
  • 不支持日志
  • 该文件系统同样可以应用于 USB 闪存以及 SD 卡

Ext3 – Third Extended File System

  • Ext3 于2001年同 2.4.15 内核同时发布,已经具备日志功能,可以通过检查文件系统日志来提升系统可靠性
  • 最大文件容量 16GB-2TB
  • 提供方便的 Ext2 到 Ext3 转换工具,无需经历备份和恢复数据

Ext4 – Fourth Extended File System

  • Ext4,是备受期待的 Ext3 继承者
  • 2008年10月, Ext4 稳定版同 2.6.28 内核一同出现
  • 后向兼容
  • 最大文件容量 16GB-16TB
  • Ext4 可以使用选项开关控制是否启用日志功能
  • 其他特性:子目录可扩展性、多块分配、延迟分配、快速文件系统检查

如何确定文件系统

想要确定系统所使用的文件系统,可以用 root 用户执行如下命令:

# df -hT | awk '{print $1,$2,$NF}' | grep "^/dev"

创建 Ext2、Ext3 和 Ext4 文件系统

在使用 fdisk 命令或 parted 命令创建好文件系统分区后,还需要使用 mke2fs 或 mkfs 命令将分区在操作系统层面启用(示例中的 sdXX 表示对应的分区编号):

# mke2fs /dev/sdXX                //Ext2文件系统
# mke2fs -j /dev/sdXX             //Ext3文件系统
# mkfs.ext3 /dev/sdXX             //Ext3文件系统
# mke2fs -t ext4 /dev/sdXX        //Ext4文件系统
# mkfs.ext4 /dev/sdXX             //Ext4文件系统

Ext2、Ext3 和 Ext4 文件系统转换

Ext2 转换为 Ext3,使用如下命令即可:

# tune2fs -j /dev/sdXX

Ext2 转换为 Ext3,使用如下命令:

# tune2fs -O dir_index,has_journal,uninit_bg  /dev/sdXX
# e2fsck -pf /dev/sdXX

-p 选项表示自动修复文件系统

-f 选项表示强制进行文件系统检查

Ext3 转换为 Ext4,使用如下命令:

# tune2fs -O extents,uninit_bg,dir_index /dev/sdXX
# e2fsck -pf /dev/sdXX

需要注意的是,运行以上命令后,将无法恢复或挂载回 ext3 文件系统。

因此,扫行命令后,我们必须运行 fsck 来修复一些 tune2fs 已修改的磁盘结构。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注