虚拟机Linux如何拓展存储


这是一份为你整理的 VMware Workstation 中 Ubuntu 虚拟机拓展存储空间的详细操作笔记。

扩容操作分为两大部分:第一步在 VMware 中扩展虚拟磁盘(相当于给物理硬盘扩容),第二步在 Ubuntu 系统中分配新空间(相当于在系统里让新空间生效)。


📝 操作前重要提醒

  1. 删除快照:在进行任何磁盘扩展操作前,必须删除该虚拟机的所有快照。否则,VMware 中的“扩展”按钮将是灰色的,无法点击 。
  2. 备份数据:虽然此操作为无损扩容,但为防止意外(如断电、误操作),建议提前备份重要数据或复制一份虚拟机文件 。

第一部分:在 VMware 中扩展虚拟磁盘

  1. 关闭虚拟机:确保 Ubuntu 虚拟机处于 “关机” 状态,不能是挂起或正在运行 。
  2. 打开设置:选中要操作的虚拟机,点击菜单栏的 “编辑虚拟机设置” (或右键虚拟机 -> “设置”)。
  3. 找到扩展选项
    • 在“硬件”选项卡中,选中 “硬盘”
    • 在下方的磁盘工具区域,点击 “扩展” 按钮 。
  4. 设置新容量
    • 在弹出的窗口中,输入你想要扩容到的最终总容量(例如原来是 20GB,想增加 30GB,这里就输入 50GB)。
    • 点击 “扩展” ,等待操作完成 。

此时 VMware 部分的操作已结束。启动虚拟机,进入 Ubuntu 系统进行下一步。


第二部分:在 Ubuntu 系统内部署新空间

进入系统后,你需要将刚才扩展出来的空白空间分配给系统分区。这里提供两种常用方法:图形化方法(GParted,推荐新手)命令行方法(LVM 架构专用)

方法一:使用 GParted 图形化工具(适用于标准分区)

这种方法最简单直观,适合大多数默认安装的 Ubuntu 系统。

  1. 安装 GParted
    打开终端(Ctrl + Alt + T),输入以下命令安装分区编辑工具:

    1
    2
    sudo apt update
    sudo apt install gparted
  2. 启动 GParted

    1
    sudo gparted

    软件界面会显示当前磁盘的分区情况。

  3. 定位并调整分区

    • 在右上角选择磁盘(通常是 /dev/sda)。
    • 你会看到图形条末尾有一段**“未分配”**空间,这就是刚才扩展出来的部分 。
    • 右键点击你想要扩容的主分区(通常是 sda 数字最大的那个,挂载点为 /),选择 “调整大小/移动”
    • 在弹出的窗口中,拖动分区条右边缘的滑块,拉到最右边,或手动输入最大数值。
    • 点击 “调整大小/移动”
  4. 执行操作

    • 点击 GParted 工具栏上的绿色 “√” (应用全部操作)
    • 点击 “应用” 确认执行。等待进度条完成即可。
  5. 验证结果
    完成后,关闭 GParted,在终端输入 df -h,查看根目录(/)的容量是否已增加 。


方法二:命令行扩容(适用于 LVM 架构)

如果你的 Ubuntu 在安装时使用了 LVM (逻辑卷管理) 分区,可以使用此方法。如果你不清楚自己的系统是否为 LVM,可以使用 lsblk 命令查看,如果输出中含有 lvm 字样,则按此方法操作 。

  1. 查看卷组信息

    1
    sudo vgdisplay

    记下 VG Name(卷组名,通常为 ubuntu-vg)和 Free PE / Size(空闲空间大小)。

  2. 扩展逻辑卷
    执行以下命令,将所有空闲空间分配给根分区逻辑卷:

    1
    sudo lvextend -l +100%FREE /dev/ubuntu-vg/root

    注:如果根分区名称不同,可以通过 lvdisplay 查看,通常是 /dev/ubuntu-vg/ubuntu-lv

  3. 扩展文件系统

    • 对于 ext4 文件系统(常见):
      1
      sudo resize2fs /dev/ubuntu-vg/root
    • 对于 xfs 文件系统:
      1
      sudo xfs_growfs /
  4. 验证结果

    1
    df -h

    检查根目录容量变化。


三、常见问题与处理

  1. 无法在 GParted 中调整分区
    • 原因:未分配空间与目标分区不相邻(中间夹着一个 swap 分区)。
    • 解决:可以右键点击中间的 swap 分区(交换空间),选择“禁用交换空间”或“移动”,将其移动到磁盘末尾,让未分配空间紧挨着主分区后再调整 。
  2. 提示“只读文件系统”
    • 原因:系统分区正被占用。
    • 解决:最安全的方法是使用 Ubuntu 安装 U 盘(Live CD)启动,在试用模式下运行 GParted 进行扩容,这样所有分区都不会被挂载锁定 。
  3. 扩展后执行 df -h 空间没变
    • 原因:分区大小已变,但文件系统未识别。
    • 解决:对于 GParted 图形化操作,通常应用操作时会自动调整文件系统。对于 LVM,请确保执行了 resize2fsxfs_growfs 命令 。

总结

通过以上步骤,你就可以成功为 VMware 中的 Ubuntu 虚拟机增加存储空间了。核心要点就是:VMware 里先扩展(删除快照) -> 系统内用 GParted 或 LVM 命令分配