Linux中的“分卷”可分为两类:传统磁盘分区(通过fdisk/parted等工具划分物理分区)和LVM(逻辑卷管理)分卷(更灵活的动态分区方式)。以下是详细操作步骤及注意事项:
传统分区将磁盘划分为固定大小的分区,适合不需要频繁调整大小的场景。常用工具包括fdisk
(MBR分区表)、parted
(支持GPT/MBR)、gdisk
(GPT专用)。
lsblk
或fdisk -l
查看磁盘信息(如/dev/sdb
、/dev/sdc
)。# 查看磁盘信息(确认目标磁盘)
sudo fdisk -l
# 进入fdisk交互界面(以/dev/sdb为例)
sudo fdisk /dev/sdb
# 交互命令:
n # 创建新分区
p # 选择主分区(Primary,最多4个)
# 输入分区号(1-4)
# 设置起始扇区(默认即可)
+10G # 设置分区大小(如+10G,或直接输入结束扇区)
w # 保存并退出
# 进入parted交互界面
sudo parted /dev/sdb
# 查看磁盘信息
print
# 创建GPT分区表(若磁盘未初始化)
mklabel gpt
# 创建新分区(从0%开始到100%结束,使用整个磁盘)
mkpart primary ext4 0% 100%
# 退出parted
quit
# 格式化分区(以/dev/sdb1为例,ext4文件系统)
sudo mkfs.ext4 /dev/sdb1
# 创建挂载点
sudo mkdir -p /mnt/new_partition
# 临时挂载
sudo mount /dev/sdb1 /mnt/new_partition
# 设置开机自动挂载(编辑/etc/fstab)
echo "/dev/sdb1 /mnt/new_partition ext4 defaults 0 0" | sudo tee -a /etc/fstab
若需扩大分区,可使用parted
的resizepart
命令(需先卸载分区):
# 卸载分区
sudo umount /dev/sdb1
# 进入parted调整分区大小(假设将/dev/sdb1扩展到15G)
sudo parted /dev/sdb
resizepart 1 15G # 调整分区1的大小为15G
quit
# 调整文件系统大小(ext4为例)
sudo resize2fs /dev/sdb1
LVM通过“物理卷(PV)→ 卷组(VG)→ 逻辑卷(LV)”的层级结构,支持动态扩展、缩小分区,适合需要灵活调整空间的场景。
# 将/dev/sdb转换为PV(若为分区,如/dev/sdb1)
sudo pvcreate /dev/sdb
# 将PV加入卷组(卷组名为vg_data,可自定义)
sudo vgcreate vg_data /dev/sdb
# 在卷组中创建LV(逻辑卷名为lv_root,大小为10G)
sudo lvcreate -L 10G -n lv_root vg_data
# 查看LV信息
sudo lvdisplay
# 格式化LV(ext4为例)
sudo mkfs.ext4 /dev/vg_data/lv_root
# 挂载LV
sudo mkdir -p /mnt/lv_root
sudo mount /dev/vg_data/lv_root /mnt/lv_root
# 开机自动挂载(编辑/etc/fstab)
echo "/dev/vg_data/lv_root /mnt/lv_root ext4 defaults 0 0" | sudo tee -a /etc/fstab
# 扩展LV(增加2G空间)
sudo lvextend -L +2G /dev/vg_data/lv_root
# 调整文件系统大小(ext4)
sudo resize2fs /dev/vg_data/lv_root
# 若为XFS文件系统
sudo xfs_growfs /mnt/lv_root
# 卸载LV
sudo umount /dev/vg_data/lv_root
# 检查文件系统(ext4)
sudo e2fsck -f /dev/vg_data/lv_root
# 缩小文件系统(ext4,缩小到8G)
sudo resize2fs /dev/vg_data/lv_root 8G
# 缩小LV(缩小到8G)
sudo lvreduce -L 8G /dev/vg_data/lv_root
# 重新挂载
sudo mount /dev/vg_data/lv_root /mnt/lv_root
sudo
或root权限执行命令。e2fsck
)。通过以上步骤,可根据需求选择传统分区或LVM进行Linux分卷操作。LVM因灵活性更高,推荐用于大多数场景。