Linux 中的磁盘分区
磁盘分区是将磁盘划分为一个或多个逻辑区域的过程,通常称为分区,用户可以在这些区域上单独工作。这是磁盘格式化的一个步骤。如果创建了分区,磁盘将在分区表中存储有关分区位置和大小的信息。有了分区表,每个分区对于操作系统来说都可以表现为一个逻辑磁盘,用户可以在这些磁盘上读写数据。磁盘分区的主要优点是可以单独管理每个分区。
为什么我们需要它?
- 升级硬盘(将新硬盘合并到系统中)
- 双引导(同一系统上的多个操作系统)
- 高效的磁盘管理
- 确保备份和安全
- 使用同一系统处理不同的文件系统
如何在 Linux 中对磁盘进行分区?
(本文截图中使用了 Cent OS 7 和 Vmware 进行演示。)
为了成功对磁盘进行分区并使其有用,我们需要确保完成以下四个步骤,无论系统的操作系统和硬件如何。
- 将磁盘连接到正确的端口
- 在磁盘中创建分区
- 在分区上创建文件系统
- 挂载文件系统
附盘:
此步骤指向将磁盘物理连接到系统。下面的截图指定了我的 CentOS 7 的系统配置。
明确指出系统只有 20 GB 的硬盘。在安装了必要的软件和下载了一些电影之后,我发现系统硬盘几乎完全用完了。现在我有两个选择,要么购买具有更高硬盘容量的新系统,要么升级现有系统。你们中的大多数人都会像我一样选择第二种选择,除非系统很旧。让我们用额外的 20 GB 硬盘升级系统。
要在 VMware 中附加新的虚拟硬盘,请单击“编辑虚拟机设置”链接并在下一个窗口中选择“添加”选项。
选择硬盘选项并继续前进。
选择推荐的磁盘类型。 (这里推荐使用 SCSI,因为我使用的操作系统是 CentOS)
通过指定所需的硬盘大小并选择推荐的选项来完成磁盘的附加。
最终配置显示我们的系统有一个 20 GB 大小的新硬盘。除非我们完成剩下的步骤,否则新添加的硬盘对我们的系统没有任何用处。
在磁盘中创建分区
启动系统并登录系统。确保您以 root(或 sudo 组的任何用户)身份登录。系统 UI 出现后,打开终端。要查看我们系统中可用的硬盘,请使用命令lsblk或使用cat /proc/partitions。这两个命令将显示相同的结果,但方式不同。
lsblk
我们可以发现系统有两个磁盘 -> sda和sdb。 sda是我们的旧硬盘。我们可以这么说,因为该磁盘已经分区为 sda1 和 sda2。我们可以使用 CLI 和 GUI 对磁盘进行分区。我们将在本文中演示基于 CLI 的分区。
fdisk -l
我们发现我们要分区的硬盘可以在/dev/sdb找到。使用命令
fdisk /dev/sdb
它将带我们到一个不同的控制台,我们可以在其中使用分区特定的命令。我们将更多地关注以下命令(或标志)。
m -> help
p -> print partition table
n -> create new partition
d -> delete partition
q -> quit without writing
w -> write to disk
在进行分区时,我们应该注意某些因素。
- 在一个磁盘上,我们最多可以有四个分区
- 分区有两种类型
- 基本的
- 扩展
- 扩展分区里面可以有逻辑分区
- 在四个可能的分区中,可能的组合是
- 所有 4 个主分区
- 3个主分区和1个扩展分区
n
这将创建一个新分区。使用p表示主分区,使用e表示扩展分区类型
p
这将创建一个主分区。控制台将提示输入要分配给分区的编号。我们可以给出从 1 到 4 的任意数字。让我给出 1。然后选择分区 1 的起始位置(柱面)。按 Enter 从磁盘的开头开始分区。
您可以通过两种方式指定分区的大小,或者作为最后一个柱面编号,或者直接指定大小。如果我们需要 partition1 的大小为 4 GB(作为一个整数),请使用
+4G
按回车键将成功创建我们的第一个分区。遵循相同的步骤,直到我们在新附加的磁盘上创建 4 个分区。
我们在磁盘中创建了 3 个主分区和一个扩展分区。扩展分区,顾名思义,可以进一步划分为多个逻辑分区。一旦创建了 4 个分区,就不能在同一个磁盘中创建更多分区。我们可以通过使用p命令打印分区表来检查我们是否以正确的方式进行了分区。如果一切都符合预期,则使用w命令将更改写入磁盘,否则使用q命令退出而不写入。
在分区上创建文件系统
计算机使用特定类型的文件系统在硬盘、CD、DVD 等媒体上存储和组织数据。常用的 Linux 文件系统有 ext2、ext3、ext4、JFS、ReiserFS、XFS、FAT(通常在 Windows 操作系统中) ) 和 B-treeFS。为了指定每个分区要使用的文件系统,我们可以使用mkfs (make file system)命令。
mkfs.ext4 -j /dev/sdb1
该命令的作用是使第一个分区的文件系统为 ext4(将分区格式化为 ext4)。 -j标志用于允许/支持日志。它有助于在系统故障的情况下将错误输入日志。
mkfs.fat /dev/sdb2
此命令用于将 /dev/sdb2 中可用的第二个分区格式化为 FAT 文件系统。即使我们格式化了磁盘,它对我们也没用,除非我们将它挂载到一个目录上。
挂载文件系统
让我们创建三个目录,使用mkdir (make directory) 命令挂载第一个、第二个和第三个分区。
mkdir /mount1
mkdir /mount2
mkdir /mount3
可以使用mount命令挂载格式化的分区
mount /dev/sdb1 /mount1
mount /dev/sdb2 /mount2
mount /dev/sdb3 /mount3
命令的第一部分是关键字 mount,后面是要挂载的分区和目录。要查看磁盘详细信息,我们可以使用df命令。 h 标志有助于以人类可读的格式显示输出。
df -h
卸载磁盘可以通过unmount命令实现
unmount /dev/sdb2
所有这些安装本质上都是暂时的。一旦我们重新启动系统,安装将被恢复。要使其永久化,我们必须编辑操作系统的文件系统表。我们在处理这个文件时应该非常小心。此文件中的一个小错误可能会导致系统无法启动,并可能使整个系统变得无用。让我们在任何编辑器中打开文件(我将使用 VI 编辑器)。
vi /etc/fstab
按顺序在文件中添加我们挂载的文件系统的详细信息
mounted partition [ space ] directory [ space ] file system type [ space ] defaults [ space ] 0 [ space ] 0
保存文件并返回终端。使用mount -a命令永久挂载分区
mount -a
我们可以通过访问操作系统的根文件夹来验证我们的分区是否可用于我们的目的(因为我们已经将分区挂载在根文件夹的 mount1、mount2、mount3 目录中)。我们还可以使用lsblk命令验证新创建的分区是否存在
lsblk
我们可以在表中找到我们的分区,每个分区大小为 4 GB。