CodeGym /课程 /Docker SELF /分区格式化:`mkfs`

分区格式化:`mkfs`

Docker SELF
第 6 级 , 课程 1
可用

1. 格式化时会发生什么?

当我们格式化分区时,我们实际上是在为数据创建一块“干净的白板”。格式化会删除分区中的所有内容,并创建一个新的文件系统,这个文件系统定义了文件如何组织以及如何访问它们。

想象一下一个图书馆。格式化就像是清除所有旧书,重新摆放新的书架,并在每个书架上贴上写明类别的标签。从此一切都很有条理——你知道每本新书应该放在哪里。

为什么需要格式化设备?

  1. 准备新设备(磁盘或分区):任何设备在使用之前都必须先格式化。这就像一本未写字的笔记本——在你确定它的用途之前,它是没用的。
  2. 更换文件系统:比如说,如果你需要从 FAT32 转换为 ext4,你就需要格式化。
  3. 清除旧数据:当你想要完全清空设备并从头开始时,格式化是最好的选择。

重要提醒: 格式化后,分区中的所有数据将被销毁。所以一定要确保设备上没有重要信息。


2. 工具 mkfs: 语法和使用方法

程序 mkfs 是你的主要分区格式化工具。它支持各种文件系统,因此几乎可以在任何环境下使用。

命令的基本语法

mkfs.<文件系统类型> <设备>

例如,要将分区 /dev/sdb1 格式化为 ext4 文件系统:

mkfs.ext4 /dev/sdb1

支持的文件系统

mkfs 支持大多数常见的文件系统类型。以下是其中的一些:

文件系统 命令 用途
ext4 mkfs.ext4 主要的 Linux 文件系统,支持大文件和大磁盘。
xfs mkfs.xfs 高性能,适合大文件和服务器负载。
vfat (FAT32) mkfs.vfat 适用于 Linux、Windows 和 MacOS 之间的数据交换。
ntfs mkfs.ntfs 与 Windows 兼容 (不过从 Linux 进行编辑有时可能会有困难)。

要获取支持的文件系统的完整列表,请使用命令:

mkfs -t help

3. 示例:将分区格式化为 ext4

我们来看看分步的分区格式化过程吧。

1. 检查设备

首先找到需要格式化的设备名称。使用命令 lsblk

lsblk

输出会显示所有已连接设备及其分区的列表。例如:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  100G  0 disk 
├─sda1   8:1    0   50G  0 part /
├─sda2   8:2    0   45G  0 part /home
└─sda3   8:3    0    5G  0 part [SWAP]
sdb      8:16   0  200G  0 disk 
└─sdb1   8:17   0  200G  0 part 

假设我们想要格式化分区 /dev/sdb1

2. 确保分区未挂载

在格式化之前,设备不能挂载。为了检查这个,使用:

sudo umount /dev/sdb1

3. 开始格式化

现在在选定的分区上创建 ext4 文件系统:

sudo mkfs.ext4 /dev/sdb1

命令会输出如下内容:

mke2fs 1.45.7 (28-Jan-2021)
Creating filesystem with 52428800 4k blocks and 13107200 inodes
Filesystem UUID: 5634f623-7b2d-4d6b-b8f5-abcdef123456
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, ...
提示:

UUID 是文件系统的唯一标识符。我们推荐在 /etc/fstab 中使用它来指定挂载点。

4. 检查结果

检查文件系统是否已创建:

sudo blkid /dev/sdb1

输出会显示该设备现在安装了 ext4 文件系统:

/dev/sdb1: UUID="5634f623-7b2d-4d6b-b8f5-abcdef123456" TYPE="ext4"

4. 选择文件系统

应该选择哪个文件系统?这取决于你的需求。这里有一些建议:

  1. ext4: Linux的通用选择。适合大多数场景。
  2. XFS: 如果需要在大文件或服务器上追求高性能。
  3. FAT32 (vfat): 如果需要设备与Windows和MacOS兼容。注意,这种系统的文件最大大小限制为4GB。
  4. NTFS: 用于与Windows兼容,但在Linux上的性能可能不如ext4。
给学生的小技巧:

如果不确定,直接用ext4吧。它很少会让你失望。


5. 格式化时的常见错误

格式化是一项需要特别小心的任务。以下是一些可能出现的错误和避免它们的方法:

  • 格式化错误设备: 为了避免这种情况,请始终检查你打算在哪个设备上操作(lsblkblkid 可以帮到你)。

  • 设备未卸载: 如果设备未卸载,mkfs命令会报错。确保设备已卸载。

  • 意外删除数据: 永远不要在不了解后果的情况下对分区运行mkfs。如果不确定,最好在格式化之前先备份数据。

实践应用

了解格式化不仅对系统管理员重要,对开发者也很关键。例如,如果你在使用云平台,比如AWS或Azure,你会经常为应用创建和格式化分区。另外,如果你想设置一个外部硬盘或USB存储设备来存储数据,这些技能也是必不可少的。

别忘了,正确配置的文件系统是你的应用稳定运行的基础。毕竟,谁想在截止日期前5分钟收到“文件系统未找到”的错误呢?

现在你已经知道如何格式化设备以及如何选择文件系统,你已经准备好进入下一步:使用fsck命令来检查和修复文件系统。

1
任务
Docker SELF, 第 6 级, 课程 1
已锁定
确定已连接的设备
确定已连接的设备
1
任务
Docker SELF, 第 6 级, 课程 1
已锁定
检查设备的文件系统
检查设备的文件系统
1
任务
Docker SELF, 第 6 级, 课程 1
已锁定
格式化和选择文件系统
格式化和选择文件系统
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION