如何在 Linux 中对存储设备进行分区和格式化如何在 Linux 中对存储设备进行分区和格式化如何在 Linux 中对存储设备进行分区和格式化如何在 Linux 中对存储设备进行分区和格式化
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Linux 中对存储设备进行分区和格式化

介绍

准备用于 Linux 系统的新磁盘是一个简单的过程。如果您有特殊需求,有许多工具、文件系统格式和分区方案可能会改变流程,但基本原理保持不变。

本指南将涵盖以下过程:

  • 识别系统上的新磁盘。
  • 创建一个跨越整个驱动器的分区(大多数操作系统都希望分区布局,即使只有一个文件系统存在)
  • 使用 Ext4 文件系统格式化分区(大多数现代 Linux 发行版中的默认设置)
  • 安装和设置启动时自动安装文件系统

第 1 步 — 安装 Parted

要对驱动器进行分区,您将使用 parted 实用程序。与低级文件系统交互所需的大多数命令在 Linux 上默认可用。创建分区的 parted 是仅有的偶尔例外之一。

如果您在 Ubuntu 或 Debian 服务器上并且没有安装 parted,您可以通过键入以下命令来安装它:

  1. sudo apt update
  2. sudo apt install parted

如果您使用的是 RHEL、Rocky Linux 或 Fedora 服务器,则可以通过键入以下内容来安装它:

  1. sudo dnf install parted

本教程中使用的所有其他命令都应预先安装,以便您可以继续下一步。

第 2 步 — 识别系统上的新磁盘

在设置驱动器之前,您需要能够在服务器上正确识别它。

如果这是一个全新的驱动器,在您的服务器上识别它的一种方法是查找是否存在分区方案。如果您要求 parted 列出磁盘的分区布局,对于没有有效分区方案的任何磁盘都会产生错误。这可用于帮助识别新磁盘:

  1. sudo parted -l | grep Error

对于未分区的新磁盘,您应该会看到 unrecognized disk label 错误:

Output
Error: /dev/sda: unrecognized disk label

您还可以使用 lsblk 命令并查找没有关联分区的正确大小的磁盘:

  1. lsblk
Output
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk vda 253:0 0 20G 0 disk └─vda1 253:1 0 20G 0 part /

注意:在进行更改之前,请记住每次重新连接到服务器时都要检查 lsblk。 /dev/sd* 和 /dev/hd* 磁盘标识符在引导之间不一定是一致的,这意味着如果分区或格式化错误的磁盘存在一些危险您没有正确验证磁盘标识符。

考虑使用更持久的磁盘标识符,如 /dev/disk/by-uuid、/dev/disk/by-label 或 /dev/disk/by-编号。有关详细信息,请参阅我们的 Linux 存储概念和术语介绍一文。

当您知道内核分配给您的磁盘的名称时,您可以对驱动器进行分区。

第 3 步 — 对新驱动器进行分区

如简介中所述,您将在本指南中创建一个跨越整个磁盘的分区。

选择分区标准

为此,您首先需要指定要使用的分区标准。有两种选择:GPT 和 MBR。 GPT 是一个更现代的标准,而 MBR 在旧操作系统中得到更广泛的支持。对于典型的云服务器,GPT 是更好的选择。

要选择 GPT 标准,请使用 mklabel gpt 将您识别的磁盘传递给 parted:

  1. sudo parted /dev/sda mklabel gpt

要使用 MBR 格式,请使用 mklabel msdos:

  1. sudo parted /dev/sda mklabel msdos

创建新分区

选择格式后,您可以使用 parted -a 创建一个跨越整个驱动器的分区:

  1. sudo parted -a opt /dev/sda mkpart primary ext4 0% 100%

您可以按如下方式分解此命令:

  • parted -a opt 运行 parted,设置默认的最优对齐类型。
  • /dev/sda 是您要分区的磁盘。
  • mkpart primary ext4 使用 ext4 文件系统制作一个独立的(即可启动,而不是从另一个分区扩展)分区。
  • 0% 100% 表示这个分区应该从磁盘的开始到结束。

有关详细信息,请参阅 Parted 的手册页。

如果您检查 lsblk,您应该会看到可用的新分区:

  1. lsblk
Output
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk └─sda1 8:1 0 100G 0 part vda 253:0 0 20G 0 disk └─vda1 253:1 0 20G 0 part /

您现在创建了一个新分区,但尚未将其初始化为文件系统。这两个步骤之间的区别有些随意,并且是 Linux 文件系统工作方式所特有的,但它们在实践中仍然是两个步骤。

第 4 步 — 在新分区上创建文件系统

现在您有了可用的分区,您可以将其初始化为 Ext4 文件系统。 Ext4 不是唯一可用的文件系统选项,但它是单个独立 Linux 卷的最直接选项。 Windows 使用 NTFS 和 exFAT 等文件系统,但它们在其他平台上的支持有限(这意味着它们在某些情况下将是只读的,不能用作其他操作系统的启动驱动器),而 macOS 使用 HFS+ 和 APFS,有同样的警告。还有比 Ext4 更新的 Linux 文件系统,例如 ZFS 和 BTRFS,但它们提出了不同的要求,它们通常更适合多磁盘阵列。

要初始化 Ext4 文件系统,请使用 mkfs.ext4 实用程序。您可以使用 -L 标志添加分区标签。选择一个可帮助您识别此特定驱动器的名称:

注意:确保提供分区路径而不是整个磁盘的路径。在 Linux 中,磁盘的名称如 sda、sdb、hda 等。这些磁盘上的分区在末尾附加了一个数字。所以你会想要使用像 sda1 这样的东西,而不是 sda。

  1. sudo mkfs.ext4 -L datapartition /dev/sda1

如果以后要更改分区标签,可以使用 e2label 命令:

  1. sudo e2label /dev/sda1 newlabel

您可以使用 lsblk 查看识别分区的所有不同方法。您应该找到分区的名称、标签和 UUID。

lsblk 的某些版本将使用 --fs 参数打印所有这些信息:

  1. sudo lsblk --fs

您还可以使用 lsblk -o 后跟相关选项手动指定它们:

  1. sudo lsblk -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT

您应该会收到这样的输出。突出显示的输出表明您可以使用不同的方法来引用新文件系统:

Output
NAME FSTYPE LABEL UUID MOUNTPOINT sda └─sda1 ext4 datapartition 4b313333-a7b5-48c1-a957-d77d637e4fda vda └─vda1 ext4 DOROOT 050e1e34-39e6-4072-a03e-ae0bf90ba13a /

记下此输出,因为您将在下一步安装文件系统时使用它。

第 5 步 — 挂载新文件系统

现在,您可以挂载文件系统以供使用。

文件系统层次结构标准建议使用 /mnt 目录或其下的子目录用于临时安装的文件系统(如可移动驱动器)。它没有建议在何处安装更多永久存储,因此您可以选择您喜欢的任何方案。对于本教程,您将在 /mnt/data 下安装驱动器。

使用 mkdir 创建该目录:

  1. sudo mkdir -p /mnt/data

临时挂载文件系统

您可以通过键入以下命令临时挂载文件系统:

  1. sudo mount -o defaults /dev/sda1 /mnt/data

开机自动挂载文件系统

为了在每次服务器启动时自动挂载文件系统,您将在 /etc/fstab 文件中添加一个条目。该文件包含有关您系统的所有永久磁盘或常规安装磁盘的信息。使用 nano 或您最喜欢的文本编辑器打开文件:

  1. sudo nano /etc/fstab

在最后一步中,您使用了 sudo lsblk --fs 命令来显示文件系统的标识符。您可以在此文件中使用其中任何一个。此示例使用分区 标签,但您可以使用注释掉的行中的其他两个标识符查看这些行的外观:

. . .
## Use one of the identifiers you found to reference the correct partition
# /dev/sda1 /mnt/data ext4 defaults 0 2
# UUID=4b313333-a7b5-48c1-a957-d77d637e4fda /mnt/data ext4 defaults 0 2
LABEL=datapartition /mnt/data ext4 defaults 0 2

除了 LABEL=datapartition 元素之外,这些选项的工作方式如下:

  • /mnt/data是挂载磁盘的路径。
  • ext4 表示这是一个 Ext4 分区。
  • defaults 表示此卷应使用默认选项安装,例如读写支持。
  • 0 2 表示文件系统应在出现错误时由本地计算机验证,但作为第二优先级,在您的根卷之后。

注意:您可以通过查看其手册页了解 /etc/fstab 文件中的各个字段。有关可用于特定文件系统类型的挂载选项的信息,请查看 man [filesystem](如 man ext4)。

完成后保存并关闭文件。如果您使用的是 nano,请按 Ctrl+X,然后在提示确认时按 Y,然后按 Enter。

如果您之前没有挂载文件系统,您现在可以使用 mount -a 挂载它:

sudo mount -a

测试坐骑

安装卷后,我们应该检查以确保文件系统可以访问。

您可以在 df 命令的输出中检查磁盘是否可用。有时 df 会在 df 输出中包含关于名为 tmpfs 的临时文件系统的不必要信息,您可以通过附加 -x tmpfs:

  1. df -h -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on /dev/vda1 20G 1.3G 18G 7% / /dev/sda1 99G 60M 94G 1% /mnt/data

您还可以通过写入测试文件来检查磁盘是否具有读写功能:

  1. echo "success" | sudo tee /mnt/data/test_file

回读文件以确保写入正确执行:

  1. cat /mnt/data/test_file
Output
success

您可以在确认新文件系统正常运行后删除该文件:

  1. sudo rm /mnt/data/test_file

结论

您的新驱动器现在应该已分区、格式化、安装并可以使用了。这是将原始磁盘转换为 Linux 可用于存储的文件系统的一般过程。有更复杂的分区、格式化和挂载方法,在某些情况下可能更合适,但以上是一般用途的良好起点。

接下来,您可能想了解如何使用 SSHFS 通过 SSH 挂载远程卷。

©2015-2025 艾丽卡 support@alaica.com