linux虚拟机磁盘扩容分三步:先在关机状态下通过vmware/virtualbox扩展底层磁盘并清除快照;再用rescan刷新识别新增空间;最后据lvm与否选择growpart+resize2fs/xfs_growfs或pvresize+lvextend+对应文件系统扩展命令。

Linux 环境下实现虚拟机磁盘扩容,核心是分三步走:先在虚拟平台扩大磁盘容量 → 再在系统内识别并分配新增空间 → 最后扩展文件系统使其可用。整个过程不复杂但容易忽略关键细节,尤其要区分是否使用 LVM 和文件系统类型(ext4/XFS)。
扩展虚拟机底层磁盘容量
这一步必须在虚拟机关机状态下操作:
- VMware:选中虚拟机 → “设置” → “硬盘” → 点击“扩展”,输入目标总大小(如从 30GB 扩到 50GB)
- VirtualBox:用
VBoxManage modifyhd命令或图形界面调整
⚠️ 注意:若有快照存在,需先全部删除;否则“扩展”按钮会灰显或报错(如“无法执行所调用的函数”),残留快照文件也可能导致失败
让 Linux 系统识别新增空间
开机后,系统默认不会自动感知扩容,需手动触发扫描:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 查看当前磁盘大小:
lsblk或fdisk -l /dev/sda - 刷新 SCSI 总线(适用于多数虚拟环境):
echo 1 > /sys/class/block/sda/device/rescan
- 验证是否生效:
lsblk应显示/dev/sda总容量已变大,但分区(如/dev/sda1或/dev/sda2)仍维持原大小
根据分区方案选择扩容路径
如果是传统分区(无 LVM,直接挂载 /dev/sda1)
- 扩展分区表(假设扩的是第 1 分区):
sudo growpart /dev/sda 1
- 再扩展文件系统:
- ext4:
sudo resize2fs /dev/sda1 - XFS:
sudo xfs_growfs /(注意:传挂载点,不是设备名)
- ext4:
如果是 LVM 管理(常见于 CentOS/RHEL/Ubuntu Server 默认安装)
典型结构:/dev/sda2 → PV → VG(如 centos)→ LV(如 centos-root)
- 扩展物理卷(PV),让 VG 知道有新空间:
sudo pvresize /dev/sda2
- 扩展逻辑卷(LV),用尽所有空闲空间:
sudo lvextend -l +100%FREE /dev/mapper/centos-root
- 扩展文件系统:
- ext4:
sudo resize2fs /dev/mapper/centos-root - XFS:
sudo xfs_growfs /
- ext4:
验证结果
运行 df -h 和 lsblk 对照:
-
/dev/mapper/centos-root或/dev/sda1的容量应与lsblk中对应设备一致 - 挂载点(如
/)的“Available”值明显增大
整个过程无需重装系统,只要步骤顺序正确、命令对象准确,就能安全完成扩容。










