在Linux系统中扩展分区是一个需要谨慎操作的过程,涉及磁盘分区和文件系统的调整,稍有不慎可能导致数据丢失,以下是详细的扩展分区步骤和注意事项,涵盖普通分区和LVM逻辑卷两种常见场景。
扩展分区的前提条件
- 存在未分配空间:目标磁盘需要有足够的未分配空间,且未分配空间应位于目标分区的相邻位置(如果是扩展逻辑分区,需在扩展分区内有未分配空间)。
- 文件系统支持在线扩展:常见文件系统如ext4、xfs支持在线扩展(无需卸载),但NTFS、FAT等需要卸载后扩展。
- 备份重要数据:操作前务必备份数据,避免分区调整失败导致数据丢失。
准备工作:检查磁盘和分区状态
-
查看磁盘分区情况
使用fdisk -l
或lsblk
命令查看磁盘和分区信息,确认目标分区及未分配空间的位置和大小。lsblk -f # 查看分区文件系统类型和挂载点 fdisk -l /dev/sda # 查看指定磁盘分区表
-
确认未分配空间位置
若/dev/sda3
需要扩展,且/dev/sda
上有未分配空间(如sda4
为未分配),需确保未分配空间与sda3
相邻,若不相邻,需先调整分区顺序(此操作较复杂,建议提前规划)。
普通分区扩展步骤(以ext4文件系统为例)
场景1:目标分区是主分区或逻辑分区,且相邻有未分配空间
-
卸载目标分区(若已挂载)
若分区正在使用,需先卸载(若为根分区,需进入 rescue 模式):umount /dev/sda3 # 若提示“device busy”,可尝试 fuser -km /mnt/sda3 强制关闭占用
-
使用 parted 调整分区大小
fdisk
不支持直接调整分区大小,需使用parted
(推荐)或gdisk
(针对GPT分区)。parted /dev/sda (parted) print # 查看当前分区表,确认分区编号和未分配空间位置 (parted) resizepart 3 # 假设目标分区编号为3,按提示输入新的结束扇区(可直接输入未分配空间的结束位置) (parted) quit # 退出后,分区表会自动更新
-
扩展文件系统
调整分区大小后,需同步扩展文件系统:resize2fs /dev/sda3 # 若为ext4文件系统 # 若为xfs文件系统:xfs_growfs /mnt/sda3(需先挂载)
-
重新挂载并验证
mount /dev/sda3 /mnt/sda3 # 若之前卸载过,重新挂载 df -hT /mnt/sda3 # 查看分区大小是否已扩展
场景2:目标分区是逻辑分区,位于扩展分区内
若扩展分区(如 /dev/sda2
)内有未分配空间,需先扩展扩展分区,再扩展逻辑分区的文件系统:
- 扩展扩展分区:使用
parted
调整扩展分区的结束位置(覆盖未分配空间)。 - 扩展逻辑分区:逻辑分区的起始位置固定,只需扩展结束位置(操作同上)。
- 扩展文件系统:同
resize2fs
或xfs_growfs
。
LVM逻辑卷扩展(更灵活的方式)
若系统使用LVM(逻辑卷管理),扩展逻辑卷无需调整分区,直接操作逻辑卷和文件系统即可:
-
查看卷组和逻辑卷信息
vgdisplay # 查看卷组(VG)信息,确认剩余空间 lvdisplay # 查看逻辑卷(LV)信息,确认目标LV路径(如 /dev/vg0/lv_root)
-
扩展逻辑卷
将卷组的未分配空间分配给逻辑卷:lvextend -l +100%FREE /dev/vg0/lv_root # 将卷组所有剩余空间分配给lv_root # 或指定大小:lvextend -L +10G /dev/vg0/lv_root
-
扩展文件系统
resize2fs /dev/vg0/lv_root # ext4文件系统 xfs_growfs /mnt/lv_root # xfs文件系统(需挂载)
-
验证扩展结果
df -hT /mnt/lv_root
常用工具对比
工具名 | 用途 | 支持的分区类型 | 特点 |
---|---|---|---|
fdisk |
查看/创建/删除分区 | MBR/GPT(部分功能) | 简单,不支持调整分区大小 |
parted |
调整分区大小、文件系统操作 | MBR/GPT | 支持调整分区大小,推荐使用 |
lsblk |
查看块设备信息(挂载点、文件系统) | 所有 | 直观显示分区和文件系统关系 |
resize2fs |
扩展/缩小ext系列文件系统 | ext2/3/4 | 需在卸载或在线(ext4)状态下使用 |
xfs_growfs |
扩展xfs文件系统 | xfs | 必须在挂载状态下使用 |
常见问题与注意事项
- 调整分区时提示“无效的分区表”:可能是分区未对齐或与原有分区冲突,建议使用
parted
的align-check
命令检查对齐情况。 - 扩展后文件系统大小未变化:需确认是否执行了文件系统扩展命令(如
resize2fs
),或文件系统类型是否支持在线扩展(如NTFS需使用resizefs.ntfs
)。 - 根分区扩展:若扩展根分区,需通过系统启动时的 rescue 模式或 live CD 进入系统操作,避免因分区占用导致调整失败。
FAQs
Q1:扩展分区时提示“Device or resource busy”,如何解决?
A:该错误表示目标分区正在使用(如挂载中或进程占用),解决方法:
- 若为普通分区:先执行
umount /dev/sda3
,若提示“device busy”,使用fuser -km /mnt/sda3
强制关闭占用进程后再卸载。 - 若为根分区:需通过系统安装U盘进入 rescue 模式,或 live CD 挂载磁盘后操作。
- 若为LVM逻辑卷:可尝试先卸载逻辑卷,或使用
lvextend -r
参数(部分版本支持在线扩展)。
Q2:扩展分区后,文件系统大小未增加,可能的原因是什么?
A:常见原因及解决方法:
- 未执行文件系统扩展命令:调整分区大小后,需手动执行
resize2fs
(ext4)或xfs_growfs
(xfs)扩展文件系统。 - 文件系统不支持在线扩展:如NTFS文件系统需卸载后使用
resizefs.ntfs
工具,或使用Windows磁盘管理工具扩展。 - 分区表未更新:若使用
fdisk
调整分区(不推荐),可能需重启系统使分区表生效;parted
调整后无需重启。 - LVM逻辑卷未同步文件系统:扩展逻辑卷后,需单独执行文件系统扩展命令(如
xfs_growfs
)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/32029.html