前面小节介绍了文件系统,本小节介绍如何创建分区,创建分区之后就可以用来容纳文件系统。
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
命令对其进行分区,分了主分区之后,剩下的分给扩展分区,然后可以对扩展分区进行逻辑分区,主分区可以被文件系统直接格式化,而扩展分区则只能容纳其他主分区。