Linux 磁盘分区操作

Linux 系统中常见的磁盘分区操作,包括查看磁盘信息、创建分区、格式化、挂载、扩容、缩小、删除分区以及 LVM 管理等内容。

一、查看磁盘与分区信息

1️⃣ 查看磁盘结构

1
lsblk

2️⃣ 查看详细分区信息

1
fdisk -l

3️⃣ 查看文件系统与挂载

1
2
blkid
df -hT

二、创建新分区(MBR / GPT)

方式 1:使用 fdisk(传统 MBR)

1
fdisk /dev/sdb

常用交互命令:

1
2
3
4
5
6
g   # 新建 GPT 分区表
o # 新建 MBR 分区表
n # 新建分区
p # 主分区
1 # 分区号
w # 保存

刷新分区表:

1
partprobe

方式 2:使用 parted(推荐 GPT)

1
parted /dev/sdb

创建 GPT:

1
mklabel gpt

创建分区:

1
2
mkpart primary ext4 1MiB 100%
quit

三、格式化分区

EXT4

1
mkfs.ext4 /dev/sdb1

XFS

1
mkfs.xfs /dev/sdb1

Swap

1
mkswap /dev/sdb2

四、挂载与开机自动挂载

1️⃣ 手动挂载

  • 创建挂载点:
1
2
mkdir /data
mount /dev/sdb1 /data
  • 卸载挂载:
1
umount /data

2️⃣ 写入 fstab 自动挂载

获取 UUID:

1
blkid /dev/sdb1

编辑 /etc/fstab

1
UUID=xxxx   /data   ext4   defaults   0 0

测试:

1
mount -a

五、扩容分区(重点)

场景:磁盘扩容 → 分区 → 文件系统

1️⃣ 扩展分区

1
growpart /dev/sda 1

或:

1
parted /dev/sda resizepart 1 100%

2️⃣ 扩展文件系统

EXT4:

1
resize2fs /dev/sda1

XFS:

1
xfs_growfs /

六、缩小分区(⚠️高风险)

EXT4 缩容(必须卸载)

1
2
3
umount /dev/sdb1
e2fsck -f /dev/sdb1
resize2fs /dev/sdb1 20G

然后缩分区:

1
parted /dev/sdb resizepart 1 20G

七、删除分区

1
fdisk /dev/sdb
1
2
d   # 删除
w # 保存

刷新:

1
partprobe

八、LVM 分区管理(服务器常用)

1️⃣ 创建 PV

1
pvcreate /dev/sdb

2️⃣ 创建 VG

1
vgcreate vgdata /dev/sdb

3️⃣ 创建 LV

1
lvcreate -L 100G -n lvdata vgdata

4️⃣ 扩容 LV

1
2
lvextend -l +100%FREE /dev/vgdata/lvdata
resize2fs /dev/vgdata/lvdata

九、交换分区(Swap)

创建 swap 文件

1
2
3
4
fallocate -l 8G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

fstab:

1
/swapfile swap swap defaults 0 0

十、磁盘修复 & 检查

1
2
fsck /dev/sdb1
badblocks -sv /dev/sdb