调整Linux分区大小的通用流程与注意事项
调整Linux分区大小(包括扩展或缩小)是一项需要谨慎操作的任务,直接影响数据安全与系统稳定性。以下是详细的操作指南及关键注意事项:
rsync(rsync -av /path/to/data /path/to/backup)或第三方工具(如Deja Dup)完整备份目标分区数据。lsblk查看磁盘与分区布局(如/dev/sda1挂载在/home),df -h确认分区挂载状态,umount卸载待调整分区(若为系统分区如/,需使用Live CD/USB启动)。e2fsck -f /dev/sdXn(sdXn为目标分区)强制检查并修复错误,避免调整后文件系统损坏。若分区有未分配的相邻空间,可使用parted或fdisk扩展分区,再调整文件系统:
sudo parted /dev/sdX # 进入parted交互界面(sdX为目标磁盘,如/dev/sda)
print # 查看分区表,确认目标分区编号(如分区3)
resizepart 3 20G # 将分区3扩展至20G(或输入+5G扩展5G)
quit # 退出并保存更改
sudo partprobe # 更新内核分区表信息(避免重启)
sudo resize2fs /dev/sdX3 # 调整ext4文件系统大小(ext系列通用)
sudo xfs_growfs /dev/sdX3 # 调整XFS文件系统大小(仅XFS适用)
sudo fdisk /dev/sdX
p # 查看分区表,记录目标分区起始扇区
d # 删除目标分区(如分区3)
n # 创建新分区,选择p(主分区),输入相同起始扇区,设置更大结束扇区(如+20G)
t # 修改分区类型(如保持ext4的83类型)
w # 保存并退出
sudo partprobe
sudo resize2fs /dev/sdX3
若使用LVM(逻辑卷管理),扩展流程更灵活,无需卸载分区:
# 1. 扩展物理卷(若有新磁盘/dev/sdb,需先初始化为物理卷)
pvcreate /dev/sdb
# 2. 将物理卷添加到卷组(vg0为现有卷组名)
vgextend vg0 /dev/sdb
# 3. 扩展逻辑卷(lv_root为现有逻辑卷名,+10G表示增加10G,或+100%FREE用尽剩余空间)
lvextend +10G /dev/mapper/vg0-lv_root
# 4. 调整文件系统大小
sudo resize2fs /dev/mapper/vg0-lv_root # ext系列
sudo xfs_growfs /dev/mapper/vg0-lv_root # XFS
缩小分区风险更高,需严格遵循以下步骤:
umount /dev/sdXn)。e2fsck -f /dev/sdXn修复错误。resize2fs /dev/sdXn 10G(将文件系统缩小至10G)parted或fdisk缩小分区:
resizepart 3 10G(将分区3缩小至10G,起始位置不变)d删除分区,n重新创建(保持起始扇区,设置更小结束扇区)。mount /dev/sdXn /mnt(恢复挂载)。/、/boot等系统分区,建议使用Live CD/USB启动(如Ubuntu Live USB),避免分区正在使用导致操作失败。resize2fs,XFS使用xfs_growfs(仅支持扩展),Btrfs使用btrfs filesystem resize,需根据文件系统类型选择对应命令。通过以上步骤,可安全地调整Linux分区大小。操作前务必确认每一步的正确性,避免误操作导致数据丢失。