基础的磁盘分区文档,如果想了解更深层的分区知识请跳转:Ubuntu通过LVM调整磁盘空间
Linux命令
lsblk #显示存储设备信息
fdisk #查看磁盘分区表
blkid #查看磁盘及分区UUID
parted #磁盘初始化及分区
mkdir #创建目录
mkfs.ext4 #设置文件格式为ext4
mount #挂载
unmount #解挂载
查看
磁盘信息
sudo fdisk -l
分区信息
sudo lsblk
磁盘分区格式信息
fdisk -l
parted -l
有个小插曲,按照习惯MBR格式一般在linux下称作dos,如果在New disk label type?后输入dos或者mbr会提示无效命令,这时候要用help mktable查看帮助信息,可以看到parted命令中MBR分区被称作msdos,其它分区如下:
aix, amiga, bsd, dvh, gpt, mac, msdos, pc98, sun, loop
磁盘分区类型区别
| 磁盘分区形式 | 最大磁盘容量 | 支持分区数量 | Linux分区工具 |
|---|---|---|---|
| 主启动记录分区(MBR) | 2 TiB | MBR分区包含主分区和扩展分区,其中扩展分区里面可以包含若干个逻辑分区。扩展分区不可以直接使用,需要划分成若干个逻辑分区才可以使用。以创建6个分区为例,以下两种分区情况供参考: |
以下两种工具均可以使用: |
| 全局分区表(GPT, Guid Partition Table) | 18 EiB1 EiB = 1048576 TiB | 不限制分区数量GPT格式下没有主分区、扩展分区以及逻辑分区之分。 |
分区(使用parted工具)
注意:分区不是必要的,如果整个硬盘直接挂载则默认是一个分区
创建分区
$ parted /dev/sdb
# 对/dev/sdb进行分区或管理操作
(parted) mklabel gpt
# 定义分区表格式(常用的有msdos和gpt分区表格式,msdos不支持2TB以上容量的磁盘,所以大于2TB的磁盘选gpt分区表格式)
警告: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
# /dev/sdb上现有的磁盘标签将被销毁,该磁盘上的所有数据将丢失
(parted) mkpart p1
# 创建第一个分区,名称为p1(p1只是第一个分区的名称,用别的名称也可以,如part1)
文件系统类型? [ext2]? xfs
虽然 Parted 操作环境之中也有格式化分区的功能,但是它的稳定性不如一般专门的格式化工具(如
mkfs系列的工具),所以建议在建立好分区之后,离开 Parted 环境再用一般的工具格式化。 定义分区格式(不支持ext4,想分ext4格式的分区,可以通过mkfs.ext4格式化成ext4格式)
sudo mkfs -t ext4 /dev/sdb
起始点? 1
# 定义分区的起始位置(单位支持K,M,G,T)
结束点? 100%
# 定义分区的结束位置(单位支持K,M,G,T)
(parted) print # 查看当前分区情况
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 标志
1 1049kB 107GB 107GB xfs p1
删除分区
$ parted /dev/sdb
# 对/dev/sdb进行分区或管理操作
(parted) rm
# rm删除命令(删除之前必须确保分区没有被挂载)
分区编号? 1
# 删除第一个分区
(parted) print # 打印当前分区情况
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 标志
挂载
挂载
sudo mount /dev/vg0/lv0 /home
解挂载
sudo unmount /home
重启自动挂载
使用
mount命令挂载目录后,系统重启不会自动加载,需要修改fstab文件内容后才能自动加载。在修改fstab文件时推荐使用UUID来标识磁盘。
# 查看磁盘uuid
sudo blkid
# 修改fstab文件,增加挂载记录
sudo vim /etc/fstab
#生效挂载文件
mount -a