Linux 创建分区

前面小节介绍了文件系统,本小节介绍如何创建分区,创建分区之后就可以用来容纳文件系统。

1. 硬盘分区介绍

Linux 磁盘分区主要分为基本分区(primary partion)和扩充分区 (extension partion) 两种,基本分区和扩充分区的数目之和不能大于四个。且基本分区可以马上被使用但不能再分区。扩充分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。在 Linux 中,每一个硬件设备都映射到一个系统的文件,对于硬盘、光驱等 IDE 或 SCSI 设备也不例外。Linux把各种 IDE 设备分配了一个由 hd 前缀组成的文件,而对于各种 SCSI 设备,则分配了一个由 sd 前缀组成的文件。

1.1 分区的作用

  • 主分区主要是用来启动操作系统的,它主要放的是操作系统的启动或引导程序,/boot分区最好放在主分区上。
  • 扩展分区不能使用的,它只是做为逻辑分区的容器存在的;我们真正存放数据的是主分区和逻辑分区,大量数据都放在逻辑分区中
  • 如果你用的是 GPT 的分区方式,那么它没有限制主分区个数

Tips:从MBR转到GPT分区或者说从GPT转到MBR会导致数据全部丢失。

2. fdisk 命令参数介绍

下面列举了一些 fdisk 命令参数作用:

fdisk 命令参数名称 功能与作用描述
-a 设置活动分区标志
-b 编辑 BSD Unix 系统用的磁盘标签
-c 设置 DOS 兼容标志
-d 删除分区
-l 显示可用的分区类型
-m 显示命令选项
-n 添加一个新分区
-o 创建 DOS 分区表
-p 显示当前分区表
-q 退出,不保存更改
-s 为 Sun Unix 系统创建一个新磁盘标签
-t 修改分区的系统 ID
-u 改变使用的存储单位
-v 验证分区表
-w 将分区表写入磁盘
-x 高级功能

3. 查看机器所挂硬盘个数及分区情况

执行 fdisk -l 命令查看机器所挂硬盘个数及分区情况,执行结果如下图:

图片描述

通过如图的信息,我们知道该机器中挂载三个硬盘(或移动硬盘), /dev/nvme0n1 表示第一块硬盘是 nvme0n1/dev/mapper/cl-root 表示根分区 cl-root,系统所有的东西都在这里面, /dev/mapper/cl-swap 表示交换分区 cl-swap,表示虚拟内存,当物理内存不足的时候,使用该硬盘上的空间。也可以查看单个硬盘情况,以 /dev/nvme0n1 为例,命令如下:

fdisk -l /dev/nvme0n1

执行结果如下图:

图片描述

4. 硬盘分区

/dev/nvme0n1 为例,对其分区命令如下:

fdisk /dev/nvme0n1

执行结果如下图:

图片描述

从上图中可以看出,p 表示打印分区表,下面使用 n 命令可以添加分区,执行结果如下图:

图片描述

5. 小结

Linux 演示了如何创建分区,需要注意的是本小节演示的是虚拟机系统中的虚拟硬盘,实际业务中,需要先挂载一个硬件设备,然后使用 fdisk 命令对其进行分区,分了主分区之后,剩下的分给扩展分区,然后可以对扩展分区进行逻辑分区,主分区可以被文件系统直接格式化,而扩展分区则只能容纳其他主分区。