Linux系统磁盘分区及挂载 - fdisk
文本关键字:文件系统,磁盘分区,格式化,挂载
一、文件系统
1. 文件系统的作用
当我们拿到一块新的硬盘时,他所能够支持的最大空间只是代表硬件上的一个参数,我们要想让他能够正常的工作起来,必须要有相应的文件系统。文件系统决定了文件存储和管理时的方式和数据结构,也就是如何管理磁盘上的文件和文件夹。不同的文件系统拥有不同的特点,这也就是为什么我们在进行格式化操作必须要选定一种文件系统的原因。
当在一个操作系统(Windows、Linux、MacOS)中使用文件系统时,通常都会做一个统一的接口,来进行文件的读写,所以会存在某些文件系统只适用与某一种操作系统的情况。


4. 硬件创建向导

- 建议大家选择:将虚拟磁盘存储为单个文件,使用时速度会快一些。


三、磁盘分区
1. MBR分区表
分区表就是去整个磁盘分区情况的一个记录,对于MBR类型的分区表来说,该部分会占用512bytes(1扇区)的空间。MBR分区表不支持2TB以上的硬盘。
- 主引导记录:占用446bytes
- 分区表:最多有四个分区,包括主分区和扩展分区,占用64bytes

2. 硬盘识别
- 设备信息目录:/dev
- 对于IDE类型的磁盘,命名格式:/dev/hd[a-d]
- 对于SATA/SCSI/SAS类型的磁盘,命名格式:/dev/sd[a-p]
- 添加前:只有默认的一块硬盘,被识别为sda


3. 分区工具:fdisk
使用fdisk工具可以对2TB以下的磁盘来进行分区,使用MBR分区表,大于2TB的磁盘需要使用parted工具。

4. 设置分区
- 使用fdisk工具对指定磁盘进行分区(一定要指定磁盘,否则容易把自己的系统搞崩溃哦):
fdisk /dev/sdb

- 分区步骤
- 使用命令n新建分区
- 选择分区类型
- 选择分区编号(逻辑分区无此步骤)
- 选择开始位置
- 选择结束位置(用于指定分配的空间大小)
通常我们需要根据分配空间的大小来决定终止位置,直接使用+size{K,M,G}的格式操作。
- 设置主分区:分配5GB的空间
- 命令:n
- 类型:p
- 编号:1
- 开始位置:1
- 结束位置:+5G
- 分区表打印:p

- 设置扩展分区:分配剩余所有空间
- 命令:n
- 类型:e
- 编号:2
- 开始位置:回车
- 结束位置:回车
- 分区表打印:p

- 设置逻辑分区:新建两个大小为5GB的空间
- 命令:n
- 类型:l
- 开始位置:回车
- 结束位置:+5G
- 命令:n
- 类型:l
- 开始位置:回车
- 结束位置:+5G
- 分区表打印:p



四、格式化
1. 文件系统格式化
- ext4格式化:将第一个主分区格式化为ext4文件系统
mkfs.ext4 /dev/sdb1

- fat32格式化:将第一个逻辑分区格式化为ext4文件系统
mkfs.vfat -32 /dev/sdb5

2. swap空间格式化
将第二个逻辑分区格式化为swap类型
mkswap /dev/sdb6

五、挂载和启用
1. 文件系统的挂载
文件系统的挂载主要分为两步,确定挂载点 -> 进行挂载。本例中将在/mnt路径下创建两个文件夹作为挂载点,在挂载之前,该目录属于原磁盘sda,查看可用空间时将显示sda可用空间。如果挂载成功,向该目录存储文件将占用sdb的空间,并且文件也会存储在sdb磁盘上,查看可用空间时将会显示sdb对应分区的使用空间。
mkdir /mnt/ext4
df -h /mnt/ext4

mount /dev/sdb1 /mnt/ext4
df -h /mnt/ext4

mkdir /mnt/fat32
df -h /mnt/fat32

mount /dev/sdb5 /mnt/fat32
df -h /mnt/fat32

swapon /dev/sdb6