Linux分区:如何缩小分区大小
导读:Linux分区缩小分区大小操作指南 缩小分区是一项高风险操作,可能导致数据丢失,务必提前备份重要数据(如使用rsync或tar备份至外部存储)。以下是针对不同分区类型的详细步骤: 一、非LVM分区(直接操作物理分区) 1. 卸载目标分区 若...
    
Linux分区缩小分区大小操作指南
缩小分区是一项高风险操作,可能导致数据丢失,务必提前备份重要数据(如使用rsync或tar备份至外部存储)。以下是针对不同分区类型的详细步骤:
一、非LVM分区(直接操作物理分区)
1. 卸载目标分区
若分区处于挂载状态(如/home、/var),需先卸载。使用umount命令,例如:
sudo umount /dev/sda5  # 替换为目标分区路径
通过df -h确认分区已卸载(不再显示在列表中)。
2. 检查并修复文件系统
使用e2fsck(适用于ext2/ext3/ext4)检查文件系统完整性,强制修复错误:
sudo e2fsck -f /dev/sda5  # 替换为目标分区路径
3. 缩小文件系统
先缩小文件系统,再调整分区表,避免数据截断。使用resize2fs命令,指定目标大小(如4G):
sudo resize2fs /dev/sda5 4G  # 缩小至4GB
注:若分区为根分区(无法卸载),需进入救援模式(如使用Live CD/USB启动),再执行上述步骤。
4. 调整分区表
使用parted或fdisk修改分区大小:
- parted命令(推荐,交互式操作):sudo parted /dev/sda (parted) resizepart 5 4GB # 将分区5缩小至4GB(编号需与fdisk一致) (parted) quit
- fdisk命令(手动操作):sudo fdisk /dev/sda Command (m for help): p # 查看分区表,记录起始扇区(Start) Command (m for help): d # 删除目标分区(如分区5) Command (m for help): n # 新建分区 Partition type: p # 主分区 Partition number: 5 # 保持原编号 Start sector: [之前记录的值] # 必须与原起始扇区一致 End sector: [输入新大小对应的扇区,或直接输入+4G] Command (m for help): w # 保存并退出
5. 验证结果
使用df -h查看分区大小,确认是否缩小至目标值;再用fdisk -l /dev/sda检查分区表是否正确。
二、LVM分区(逻辑卷管理)
LVM分区的缩小需通过逻辑卷(LV)→ 文件系统的顺序操作,步骤更严格:
1. 卸载目标分区
若分区已挂载(如/home),先卸载:
sudo umount /dev/vg0/lv1  # 替换为逻辑卷路径(如/dev/mapper/vg-home)
2. 检查并修复文件系统
sudo e2fsck -f /dev/vg0/lv1  # 替换为逻辑卷路径
3. 缩小文件系统
使用resize2fs将文件系统缩小至目标大小(如30G):
sudo resize2fs /dev/vg0/lv1 30G
4. 缩小逻辑卷
使用lvreduce命令,将逻辑卷缩小至目标大小(需小于等于文件系统大小):
sudo lvreduce -L 30G /dev/vg0/lv1  # 缩小至30GB
注:若逻辑卷正在使用,需添加-f强制缩小(风险更高)。
5. 验证结果
重新挂载分区:
sudo mount /dev/vg0/lv1 /mnt/home  # 替换为挂载点
df -h /mnt/home  # 确认大小
lvdisplay /dev/vg0/lv1  # 检查逻辑卷大小
注意事项
- XFS文件系统限制:XFS不支持在线缩小,需先备份数据、删除逻辑卷、重新创建后再恢复数据。
- 卸载失败解决方法:若分区无法卸载,使用lsof | grep /mnt/point或fuser -km /mnt/point查找并终止占用进程。
关键提醒
- 操作顺序:非LVM分区需“缩小文件系统→调整分区表”;LVM分区需“缩小文件系统→缩小逻辑卷”。
- 数据安全:无论哪种分区类型,备份是避免数据丢失的最有效手段。
- 分区编号:调整分区表时,确保分区编号正确(可通过fdisk -l查看)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux分区:如何缩小分区大小
本文地址: https://pptw.com/jishu/740091.html
