如何在Linux中使用mkfs命令[用于磁盘格式化]如何在Linux中使用mkfs命令[用于磁盘格式化]如何在Linux中使用mkfs命令[用于磁盘格式化]如何在Linux中使用mkfs命令[用于磁盘格式化]
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在Linux中使用mkfs命令[用于磁盘格式化]

发表 admin at 2025年2月28日
类别
  • 未分类
标签

mkfs 是 Linux 中的命令行工具,用于格式化您选择的特定文件系统中的磁盘或分区。

mkfs 中的字母代表“make file system”。该命令通常用于管理 Linux 中的存储设备。您可以将 mkfs 视为将磁盘格式化为特定文件系统的命令行工具。

mkfs -t [fs type] [target device]

您还可以按以下方式使用 mkfs 命令。

mkfs.[fs type] [target device]

在本教程中,我将一般性地讨论什么是文件系统。我还将提供有效使用 mkfs 命令的示例。

由于 mkfs 命令处理磁盘和分区,因此它要求您是 root 或 sudo 用户,并且有权运行管理命令。

mkfs 是一个强大的工具。了解更改文件系统的潜在后果非常重要。选择错误的设备节点将擦除该设备上的所有数据。使用此命令需要您自担风险。你被警告了

什么是文件系统?

文件系统 (fs) 是指管理设备上数据的结构和逻辑。文件系统控制数据的存储和检索方式。

文件系统有很多种类型,每种类型都有自己的优点和缺点。以下是最常见的文件系统类型:

  • 胖的*

  • NTFS

  • 分机*

  • APFS

  • 高频FS*

您以前可能遇到过其中一种或多种文件系统类型。您甚至可以将这些类型与其各自的操作系统相关联。

一般来说,FAT/NTFS是为Windows设计的,Ext是与Linux系统一起使用的,APFS/HFS是macOS文件系统。其中每一个都以不同的方式处理文件结构的逻辑,这可能会导致问题。

这就是为什么在声明文件系统类型或“格式化”设备之前考虑这一点至关重要。每个用例都是不同的,您可以决定哪种文件系统最适合您的需求。

mkfs 命令示例

让我向您展示 mkfs 命令的一些最常见用法。

请不要在实际系统上盲目尝试这些命令。它将格式化目标设备/磁盘分区并擦除所有数据。

不带任何选项的 mkfs 创建 ext2 文件系统

如果您没有指定目标设备的文件系统类型,它将使用默认的 ext2 文件系统。

sudo mkfs /dev/sdb1

使用 mkfs 指定文件类型

使用 ext2 不是很方便,也不建议使用。现在大多数 Linux 系统都推荐使用 ext4。您可以通过以下方式指定文件系统:

sudo mkfs -t ext4 /dev/sdb1

你也可以像这样使用它:

sudo mkfs.ext4 /dev/sdb1

检查设备上的坏块

您还可以检查设备上的坏块,但请记住,检查通常需要很长时间。

sudo mkfs -c /dev/sdb1

额外提示:检查设备的文件系统类型

您可能想检查刚刚使用 mkfs 命令格式化的设备的文件系统类型。您可以使用 file 命令来实现此目的。

sudo file -sL /device

下面的示例显示了它可以显示的输出类型:

linux@handbook:~$ sudo file -s /dev/nvme0n1p2
/dev/nvme0n1p2: Linux rev 1.0 ext4 filesystem data, UUID=34daa4b7-a2c4-4983-b5cc-df9baa6a6543 (extents) (64bit) (large files) (huge files)

现实生活用例:使用 mkfs 命令在 USB 设备上创建文件系统

现在您已经了解了一些背景信息,您可以开始使用 mkfs。

我能想到的最实用的演示是格式化 USB 闪存驱动器。这些相同的原则适用于您选择的任何类型的存储。

找到您的设备

首先,您需要找到您的设备。您可以使用的一种方法是sudo fdisk -l。这将列出当前安装的所有磁盘节点。

christopher@linux-handbook:~$ sudo fdisk -l
Disk /dev/sda: 25 GiB, 26843545600 bytes, 52428800 sectors
Disk model: VBOX HARDDISK   
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x3c62c49c

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sda1  *        4096  1023998  1019903  498M 83 Linux
/dev/sda2        1024000 44036094 43012095 20.5G 83 Linux
/dev/sda3       44036096 52424702  8388607    4G 82 Linux swap / Solaris

Disk /dev/sdb: 28.93 GiB, 31040995328 bytes, 60626944 sectors
Disk model: Patriot Memory  
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 91A34D6F-E67B-E54D-B19C-5CC828DAAB9A

Device     Start      End  Sectors  Size Type
/dev/sdb1   2048 60626910 60624863 28.9G Linux filesystem

你的输出显然会有所不同。请在确定您所需的驱动器时要非常小心。如果您不确定,请移除磁盘并再次运行 fdisk -l 命令。如果您有正确的设备,则在断开连接时不会列出该设备。

验证分区

我使用的设备是 Patriot Memory USB,它位于 /dev/sdb。除了识别正确的磁盘之外,您还需要确保更改所需分区的文件系统。

我使用fdisk工具删除现有数据并写入新的分区表。当我这样做时,我创建了一个新分区来写入。该分区将是我们的目标:/dev/sdb1。

卸载

在尝试更改文件系统之前,您需要使用 umount 命令卸载它。

christopher@linux-handbook:~$ sudo umount /dev/sdb1

创建文件系统

现在您已经验证了目标并卸载了驱动器,您可以继续创建文件系统。

我在此处添加了 -v 详细选项,以便在运行时显示更多信息。

christopher@linux-handbook:~$ sudo mkfs.ext4 /dev/sdb1 -v
mke2fs 1.45.5 (07-Jan-2020)
fs_types for mke2fs.conf resolution: 'ext4'
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1896832 inodes, 7578107 blocks
378905 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2155872256
232 block groups
32768 blocks per group, 32768 fragments per group
8176 inodes per group
Filesystem UUID: 73882769-7599-4c79-a00b-ef317ccd921d
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done 

此过程可能需要一些时间,但应在 20 分钟内完成,除非目标大于 2 TB。

我在最后一个项目上遇到了一些问题。不幸的是,没有进度指示器,也没有抛出任何错误。

验证新创建的文件系统

首先,检查您刚刚使用的设备的文件系统。是你想要的那个吗?

sudo file -sL /dev/sdb1

确保该设备在您将使用它的系统上被识别非常重要。我创建了一个名为 test 的文件夹,并在其中创建了一个名为 test.txt 的文件。

为了节省时间,您可以将我的命令复制并粘贴到此处。

mkdir test && cd test
touch test.txt
echo "THIS IS ONLY A TEST" > test.txt
cat test.txt

如果一切正常,您应该能够将驱动器安装到所需的系统并访问文件。如果您无法访问系统上的文件,则可能存在兼容性问题。

结论

我希望您发现这份 mkfs 命令快速指南很有用。如果您喜欢本教程,请在社交媒体上分享。

如果您有任何意见或问题,请在下面留言。如果您对希望涵盖的主题有任何建议,也请随时留下。

©2015-2025 Norria support@alaica.com