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

介绍

准备一个新的磁盘在Linux系统上使用是一个简单的过程,有很多工具,文件系统格式和分区方案,如果您有专业需求,可以改变这个过程,但基本仍然相同。

本指南将涵盖以下过程:

  • 识别系统上的新磁盘.
  • 创建覆盖整个驱动器的单个分区(大多数操作系统预计分区布局,即使只有一个文件系统)
  • 使用 Ext4 文件系统格式化分区(大多数现代 Linux 发行版的默认)
  • 安装和设置启动时自动安装文件系统

步骤 1 - 安装分割

要分割驱动器,您将使用共享实用程序. 与低级别文件系统交互所需的大多数命令在Linux上默认可用。

如果你在Ubuntu或Debian服务器上,没有共享安装,你可以通过键入:

1sudo apt update
2sudo apt install parted

如果您在 RHEL、Rocky Linux 或 Fedora 服务器上,您可以通过键入:

1sudo dnf install parted

在本教程中使用的任何其他命令都应该预先安装,因此您可以转到下一步。

步骤 2 – 识别系统上的新磁盘

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

如果这是一个全新的驱动器,在您的服务器上识别它的一种方法是寻找没有分区方案. 如果您要求‘parted’列出您的驱动器的分区布局,它将为没有有效分区方案的任何驱动器产生错误。

1sudo parted -l | grep Error

您应该看到新的未分区磁盘的未识别磁盘标签错误:

1[secondary_label Output]
2Error: /dev/sda: unrecognized disk label

您还可以使用lsblk命令搜索没有相关分区的正确大小的磁盘:

1lsblk
1[secondary_label Output]
2NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
3sda 8:0 0 100G 0 disk 
4vda 253:0 0 20G 0 disk 
5└─vda1 253:1 0 20G 0 part /

<$>[注] 注: 请记住在更改之前每次重新连接到服务器时检查lsblk/dev/sd*/dev/hd*磁盘标识符不一定在机器人之间一致,这意味着如果不正确验证磁盘标识符,就会出现分区或格式化错误磁盘的风险。

考虑使用更持久的磁盘标识符,如 /dev/disk/by-uuid, /dev/disk/by-label,或 /dev/disk/by-id

当你知道内核分配给你的磁盘的名称时,你可以分割你的驱动器。

步骤 3 – 分区新驱动器

正如介绍中提到的,您将在本指南中创建一个覆盖整个磁盘的单个分区。

选择分区标准

要做到这一点,你首先需要指定要使用的分区标准。有两个选项:GPT和MBR。GPT是一个更现代的标准,而MBR在较旧的操作系统中得到更广泛的支持。

要选择 GPT 标准,请将您所识别的磁盘与mklabel gpt分成parted:

1sudo parted /dev/sda mklabel gpt

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

1sudo parted /dev/sda mklabel msdos

创建新分区

一旦格式被选中,您可以使用parted -a来创建覆盖整个驱动器的分区:

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

您可以将此命令分解如下:

  • parted -a opt 运行 parted,设置默认 opt初始对齐类型。
  • /dev/sda 是您正在分区的磁盘。
  • mkpart primary ext4 使用 ext4 文件系统创建一个独立的(即可启动,不扩展到其他)分区。

要了解更多信息,请参阅 Parted 的 手册页面

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

1lsblk
1[secondary_label Output]
2NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
3sda 8:0 0 100G 0 disk 
4└─sda1 8:1 0 100G 0 part 
5vda 253:0 0 20G 0 disk 
6└─vda1 253:1 0 20G 0 part /

现在你已经创建了一个新的分区,但它还没有作为一个文件系统初始化,这两个步骤之间的差异是任意的,独特的Linux文件系统的工作方式,但它们仍然是实践中的两个步骤。

步骤 4 — 在新分区上创建一个文件系统

现在你有一个分区可用,你可以将其初始化为 Ext4 文件系统。Ext4 不是唯一可用的文件系统选项,但它是单一的独立 Linux 卷的最简单的选项。Windows 使用像 NTFSexFAT这样的文件系统,但它们在其他平台上有限的支持(这意味着它们在某些情况下只能读,并且不能用作其他操作系统的启动驱动器),而 macOS 使用 **HFS+**和 APFS,具有相同的警告。

要初始化 Ext4 文件系统,请使用mkfs.ext4实用程序. 您可以添加带有-L 旗帜的分区标签。

<$>[注] 注: 请确保您提供分区的路径,而不是整个磁盘。在Linux中,磁盘有如sda,sdb,hda等名称。

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

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

1sudo e2label /dev/sda1 newlabel

你可以看到所有不同的方式来识别你的分区用lsblk。你应该找到分区的名称,标签和UUID。

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

1sudo lsblk --fs

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

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

突出的输出表示您可以使用不同的方法来引用新文件系统:

1[secondary_label Output]
2NAME FSTYPE LABEL UUID MOUNTPOINT
3sda                                                              
4└─sda1 ext4 datapartition 4b313333-a7b5-48c1-a957-d77d637e4fda 
5vda                                                              
6└─vda1 ext4 DOROOT 050e1e34-39e6-4072-a03e-ae0bf90ba13a /

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

步骤 5 – 安装新文件系统

现在,您可以安装文件系统用于使用。

Filesystem Hierarchy Standard建议在临时安装的文件系统(如可移除驱动器)下使用 /mnt 目录或子目录。它不建议在哪里安装更多的永久存储,所以您可以选择您想要的方案。

使用mkdir创建该目录:

1sudo mkdir -p /mnt/data

暂时安装文件系统

您可以通过键入暂时安装文件系统:

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

在 Boot 上自动安装文件系统

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

1sudo nano /etc/fstab

在最后一步中,您使用了sudo lsblk --fs命令来显示您的文件系统的标识符,您可以在本文件中使用其中任何一个标识符。

1[label /etc/fstab]
2. . .
3## Use one of the identifiers you found to reference the correct partition
4# /dev/sda1 /mnt/data ext4 defaults 0 2
5# UUID=4b313333-a7b5-48c1-a957-d77d637e4fda /mnt/data ext4 defaults 0 2
6LABEL=datapartition /mnt/data ext4 defaults 0 2

除了「LABEL=datapartition」元素之外,这些选项工作如下:

  • /mnt/data 是磁盘正在安装的路径.
  • ext4 表示这是一个 Ext4 分区.
  • defaults 意味着该卷应该与默认选项(如读写支持)一起安装。

<$>[注] 注: 您可以通过检查其 man page来了解 /etc/fstab 文件中的各个字段, 有关特定文件系统类型可用的安装选项的信息, 请检查 man [filesystem] (如 man ext4)。

完成后保存并关闭文件. 如果您正在使用nano,请按Ctrl+X,然后在被要求确认时,请按Y,然后按Enter

如果你以前没有安装文件系统,现在可以用mount -a来安装它:

1sudo mount -a

测试山

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

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

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

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

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

只需重新阅读文件,以确保写作正确执行:

1cat /mnt/data/test_file
1[secondary_label Output]
2success

您可以在检查新文件系统是否正常工作后删除该文件:

1sudo rm /mnt/data/test_file

结论

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

接下来,您可能想学习 如何使用 SSHFS 来安装远程卷在 SSH 上

Published At
Categories with 技术
comments powered by Disqus