无损扩展linux磁盘需三步:先在虚拟机软件中扩大磁盘文件(如vmware或virtualbox关机后操作),再通过fdisk/parted或pvresize扩展分区表,最后用resize2fs或xfs_growfs扩展文件系统;全程不删分区、不格式化即无损。

在虚拟机里无损扩展 Linux 磁盘,核心是“三步走”:先扩虚拟磁盘文件,再扩分区表,最后扩文件系统。只要不删分区、不格式化、不误操作覆盖数据,整个过程就是无损的。
一、先在虚拟机软件里扩大磁盘容量
这一步只改虚拟磁盘文件(如 .vmdk 或 .vdi)大小,不碰系统内任何数据。
- VMware Workstation/Player:关机 → 右键虚拟机 → 设置 → 硬盘 → 扩展 → 输入新大小(例如从 40GB 改为 60GB)→ 确认
-
VirtualBox:关机 → 终端执行:
vboxmanage modifyhd "路径/到/虚拟机.vdi" --resize 61440(单位是 MB,61440 = 60GB) - 注意:必须关机操作;若存在快照,需先删除或合并快照,否则扩展按钮可能灰色不可用
二、让 Linux 系统识别新增空间
开机后,系统默认看不到扩容部分——因为底层设备变大了,但分区表还停留在旧尺寸。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 运行
lsblk查看磁盘总大小是否已更新(比如sda显示 60G),但分区(如sda1、sda2)仍为旧大小 - 如果是 LVM 架构(常见于 CentOS/RHEL/Fedora),直接运行:
pvresize /dev/sda2(假设物理卷在 sda2 上),就能把新增空间纳入卷组 - 如果是传统分区(非 LVM),需用
fdisk /dev/sda或parted /dev/sda扩展最后一个分区:- 输入
p看当前分区布局 - 输入
d删除最后一个分区(⚠️只是删分区表项,不删数据) - 输入
n新建同编号主分区,起始扇区保持原样,结束扇区用默认(即占满剩余空间) - 输入
w写入——此时分区已扩展,但文件系统还没变
- 输入
三、扩展文件系统,真正释放空间
分区扩大后,文件系统仍按老大小工作,必须显式告诉它“后面还有空间可用”。
-
ext4 文件系统(如 Ubuntu/Debian 默认):
resize2fs /dev/sda2(对应分区设备名) -
XFS 文件系统(如 CentOS 7+/RHEL 8+ 默认根分区):
xfs_growfs /(填挂载点,不是设备名) - 验证结果:
df -h查看根目录或目标挂载点是否显示新容量
关键提醒
操作前建议做三件事:备份重要数据、创建虚拟机快照、记录当前 lsblk 和 df -Th 输出。MBR 分区表磁盘超过 2TB 需转 GPT,该操作有风险,不建议新手直接尝试。










