在Linux中对存储设备进行分区和格式化的操作步骤
作者:白如意i
简介
在 Linux 系统上准备新磁盘以供使用是一个简单的过程。虽然有许多工具、文件系统格式和分区方案可能会因为特殊需求而改变这个过程,但基本原理仍然是一样的。
本指南将涵盖以下过程:
- 在系统上识别新磁盘。
- 创建一个跨越整个驱动器的单个分区(大多数操作系统都期望有一个分区布局,即使只有一个文件系统存在)
- 使用 Ext4 文件系统格式化分区(在大多数现代 Linux 发行版中是默认的)
- 挂载并设置文件系统在启动时自动挂载
步骤 1 — 安装 Parted
要对驱动器进行分区,您将使用 parted
实用程序。大多数与低级文件系统交互所需的命令在 Linux 上默认可用。创建分区的 parted
是偶尔的例外之一。
如果您在 Ubuntu 或 Debian 服务器上,并且尚未安装 parted
,可以通过输入以下命令进行安装:
sudo apt update sudo apt install parted
如果您在 RHEL、Rocky Linux 或 Fedora 服务器上,可以通过输入以下命令进行安装:
sudo dnf install parted
本教程中使用的其他命令应该是预安装的,因此您可以继续下一步。
步骤 2 — 在系统上识别新磁盘
在设置驱动器之前,您需要能够在服务器上正确识别它。
如果这是一个全新的驱动器,一种在服务器上识别它的方法是查找缺少分区方案。如果您要求 parted
列出磁盘的分区布局,对于没有有效分区方案的任何磁盘,它将产生错误。这可以用来帮助识别新磁盘:
sudo parted -l | grep Error
您应该会看到新的、未分区的磁盘出现 unrecognized disk label
错误:
Error: /dev/sda: unrecognized disk label
您还可以使用 lsblk
命令,并查找一个正确大小且没有关联分区的磁盘:
lsblk
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 /
当您知道内核为您的磁盘分配的名称后,您可以对驱动器进行分区。
步骤 3 — 对新驱动器进行分区
如简介中所述,您将在本指南中创建一个跨越整个磁盘的单个分区。
选择分区标准
首先,您需要指定要使用的分区标准。有两个选项:GPT 和 MBR。GPT 是一个更现代的标准,而 MBR 在旧操作系统中更受支持。对于典型的云服务器,GPT 是一个更好的选择。
要选择 GPT 标准,请使用 parted
并使用 mklabel gpt
传递您识别的磁盘:
sudo parted /dev/sda mklabel gpt
要使用 MBR 格式,请使用 mklabel msdos
:
sudo parted /dev/sda mklabel msdos
创建新分区
选择格式后,您可以使用 parted -a
创建跨越整个驱动器的分区:
sudo parted -a opt /dev/sda mkpart primary ext4 0% 100%
您可以将此命令分解如下:
parted -a opt
运行 parted,设置默认的 optimal 对齐类型。/dev/sda
是您要分区的磁盘。mkpart primary ext4
创建一个独立的(即可引导的,不是从另一个扩展的)分区,使用 ext4 文件系统。0% 100%
表示此分区应跨越磁盘的起始到结束。
有关更多信息,请参阅 Parted 的手册页。
如果您检查 lsblk
,您应该会看到新的分区可用:
lsblk
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 标志添加分区标签。选择一个能帮助你识别这个特定驱动器的名称:
sudo mkfs.ext4 -L datapartition /dev/sda1
如果以后想要更改分区标签,可以使用 e2label
命令:
sudo e2label /dev/sda1 newlabel
你可以使用 lsblk
查看所有不同的识别分区的方法。你应该找到分区的名称、标签和 UUID。
某些版本的 lsblk
将使用 --fs
参数打印所有这些信息:
sudo lsblk --fs
你也可以手动指定它们,使用 lsblk -o
后跟相关选项:
sudo lsblk -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT
你应该会收到这样的输出。高亮显示的输出表示你可以用来引用新文件系统的不同方法:
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 创建该目录:
sudo mkdir -p /mnt/data
临时挂载文件系统
你可以输入以下命令临时挂载文件系统:
sudo mount -o defaults /dev/sda1 /mnt/data
在启动时自动挂载文件系统
为了在每次服务器启动时自动挂载文件系统,你需要向 /etc/fstab
文件添加一个条目。该文件包含有关系统所有永久或经常挂载的磁盘的信息。使用 nano
或你喜欢的文本编辑器打开该文件:
sudo nano /etc/fstab
在上一步中,你使用了 sudo lsblk --fs
命令显示文件系统的标识符。你可以在这个文件中使用其中任何一个。这个示例使用了分区 标签,但你可以看到使用其他两个标识符的行是什么样的,它们被注释掉了:
. . . ## 使用你找到的标识符之一来引用正确的分区 # /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
表示在本地机器出现错误时应该由本地机器验证文件系统,但作为第二优先级,而不是你的根卷。
完成后保存并关闭文件。如果你使用的是 nano
,按 Ctrl+X
,然后在提示时按 Y
,然后按 Enter
。
如果之前没有挂载文件系统,现在可以使用 mount -a
命令挂载它:
sudo mount -a
测试挂载
在挂载了卷之后,我们应该检查确保文件系统是可访问的。
您可以通过df
命令的输出来检查磁盘是否可用。有时df
会在输出中包含关于临时文件系统(称为tmpfs
)的不必要信息,您可以通过附加-x tmpfs
来排除这些信息:
df -h -x tmpfs
文件系统 容量 已用 可用 已用% 挂载点 /dev/vda1 20G 1.3G 18G 7% / /dev/sda1 99G 60M 94G 1% /mnt/data
您还可以通过写入一个测试文件来检查磁盘是否具有读写功能:
echo "success" | sudo tee /mnt/data/test_file
再次读取文件,以确保写入执行正确:
cat /mnt/data/test_file
success
在验证新文件系统正常运行后,您可以删除该文件:
sudo rm /mnt/data/test_file
结论
您的新驱动器现在应该已经被分区、格式化、挂载,并且可以使用了。这是您可以使用的一般过程,将原始磁盘转换为 Linux 可用于存储的文件系统。在某些情况下,可能会有更复杂的分区、格式化和挂载方法更为合适,但上述方法是一般用途的良好起点。
以上就是在Linux中对存储设备进行分区和格式化的操作步骤的详细内容,更多关于Linux对存储设备分区和格式化的资料请关注脚本之家其它相关文章!