当前位置: 首页 > news >正文

VirtualBox 虚拟机磁盘扩容完整手册

摘要

VirtualBox虚拟机磁盘扩容指南:

1)创建快照备份;

2)关闭虚拟机并扩大虚拟磁盘文件;

3)启动Ubuntu Live系统使用GParted调整分区;

4)移除ISO并恢复硬盘启动;

5)扩展文件系统并验证。适用于ext4文件系统的根分区扩容,需注意:先扩虚拟磁盘再调整分区,推荐使用VDI格式,操作前务必备份。

VirtualBox 虚拟机磁盘扩容完整手册(含目的、检查点、兜底方案)

场景:根分区 /dev/sda5(ext4)位于扩展分区 /dev/sda2 内,右侧有未分配空间,需要并入 /dev/sda5 解决磁盘空间不足问题。


0. 准备与快照

目的:防止扩容过程中出错时数据丢失,可随时回滚。
操作

  • GUI:VirtualBox → 选中虚拟机 → 拍摄快照

  • 命令行

    VBoxManage snapshot "你的VM名" take "Before_Resize"

检查:快照创建完成,无报错。


1. 关闭虚拟机

目的:释放虚拟磁盘占用,允许调整磁盘文件大小。
操作

  • GUI:在 VirtualBox 管理器里正常关机虚拟机(不是保存/挂起)

  • 命令行

    VBoxManage controlvm "你的VM名" poweroff

检查:虚拟机状态为“已关闭 / Powered Off”。


2. 找到虚拟磁盘路径

目的:后续扩容命令需要准确的磁盘文件路径。
操作

  • GUI:VirtualBox → 选中虚拟机 → 设置存储 → 选中硬盘,右侧查看并记录路径

  • 命令行

    VBoxManage showvminfo "你的VM名" | grep -i 'vdi\|vmdk\|vhd'

检查:得到类似 D:\VMs\wzyLinux.vdi/home/user/VMs/wzyLinux.vdi 的完整路径。

兜底方案

  • VBoxManage 命令无法识别时:

    • Windows"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"

    • macOS/Applications/VirtualBox.app/Contents/MacOS/VBoxManage

    • Linuxwhich VBoxManagesudo find / -name VBoxManage

  • 路径或 VM 名含空格:必须加引号 "..."


3. 扩大虚拟磁盘文件

目的:先让虚拟硬盘“容器”变大,后续才能扩分区。
操作

  • 命令行

    # 查看当前大小 VBoxManage showhdinfo "磁盘路径.vdi" # 扩到 400GB(单位MB) VBoxManage modifymedium "磁盘路径.vdi" --resize 409600 # 再次确认 VBoxManage showhdinfo "磁盘路径.vdi"

  • GUI(部分 VirtualBox 版本支持):文件 → 虚拟介质管理器 → 选中磁盘 → 调整大小滑条 → 确认。

检查:磁盘大小变为目标值,无报错。

兜底方案

  • 如果是 VMDK/VHD 无法扩容:先转换为 VDI:

    VBoxManage clonemedium disk "源.vmdk" "目标.vdi" --format VDI

  • 有快照链/UUID 冲突:先克隆成新的 VDI 再扩容。


4. 挂载 Ubuntu ISO 并设置光驱启动

目的:进入 Live 系统(Try Ubuntu),避免根分区被占用。
操作

  • 挂载 ISO

    • GUI:设置 → 存储 → IDE 控制器 → 加载 Ubuntu ISO

    • 命令行

      VBoxManage storagectl "你的VM名" --name "IDE" --add ide VBoxManage storageattach "你的VM名" --storagectl "IDE" --port 0 --device 0 --type dvddrive --medium "ISO路径.iso"

  • 设置光驱优先启动

    • GUI:设置 → 系统 → 主板 → 启动顺序把光驱移到第一位

    • 命令行

      VBoxManage modifyvm "你的VM名" --boot1 dvd --boot2 disk

检查:启动顺序中光驱在第一位,ISO 路径正确。


5. 启动 Try Ubuntu 模式

目的:进入一个不挂载虚拟机磁盘的临时系统,方便修改分区。
操作

  • GUI:启动虚拟机,选择 Try Ubuntu without installing(试用 Ubuntu 而不安装)

  • 命令行

    VBoxManage startvm "你的VM名" --type gui

    启动后选择 Try Ubuntu。

检查:进入 Live 桌面,而不是原系统登录界面。


6. 使用 GParted 调整分区

目的:扩展 /dev/sda2(扩展分区)和 /dev/sda5(逻辑分区)以利用未分配空间。
操作

  • 启动 GParted

    • GUI:在应用菜单搜索并打开 GParted

    • 命令行

      sudo apt update sudo apt install gparted -y sudo gparted

  • 扩展分区

    1. 右键 /dev/sda2 → Resize/Move → 向右拖动至占满未分配空间 → 确定

    2. 右键 /dev/sda5 → Resize/Move → 向右拖动至占满 /dev/sda2 剩余空间 → 确定

    3. 点击绿色勾(Apply All Operations)执行。

检查:/dev/sda5 大小增加,未分配空间消失。


7. 移除 ISO 并恢复启动顺序

目的

  • 确保下次启动优先从硬盘启动,避免因光驱在第一位而进入 Live 系统;

  • 避免启动时光驱检查造成延迟。

操作

  • 移除 ISO

    • GUI:设置 → 存储 → 光驱 → 移除光盘

    • 命令行

      VBoxManage storageattach "你的VM名" --storagectl "IDE" --port 0 --device 0 --type dvddrive --medium none

  • 恢复启动顺序为硬盘优先

    • GUI:设置 → 系统 → 主板 → 启动顺序把硬盘拖到第一位,光驱放第二位

    • 命令行

      VBoxManage modifyvm "你的VM名" --boot1 disk --boot2 dvd

检查:启动顺序已恢复,光驱中无挂载 ISO。


8. 扩展文件系统

目的:让系统使用新分区的全部空间。
操作(按文件系统类型选择):

  • ext4

    df -hT /
    sudo resize2fs /dev/sda5
    df -hT /

  • xfs

    df -hT /
    sudo xfs_growfs /
    df -hT /

检查:根分区容量增加到目标值。


9. 验证

目的:确认扩容成功且系统正常运行。
操作

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT sudo dmesg | tail -n 50

检查:分区大小正确,无文件系统错误。

http://www.lryc.cn/news/618787.html

相关文章:

  • MaxKB+合合信息TextIn:通过API实现PDF扫描件的文档审核
  • [git] 重配ssh key | 解决冲突
  • python日志中的logging.basicConfig和logging.getLogger
  • [Robotics_py] 机器人运动模型 | `update`函数 | 微积分矩阵
  • 数据类型 list
  • 浏览器CEFSharp+X86+win7 之 全球外贸电商平台订单管理(十)
  • 每日五个pyecharts可视化图表-line:从入门到精通 (4)
  • 数据结构:链表栈的操作实现( Implementation os Stack using List)
  • Java 中 List 接口详解:知识点与注意事项
  • Java数据结构之LinkedList
  • 【开发环境下浏览器前后端Cookie跨域问题】
  • 视频安全预警系统的应用价值
  • vue3用quill富文本赋值后回退键删除报错
  • 可以免费使用的数字人API
  • 亚马逊POST退场后的增长突围:关联与交叉销售的全链路策略重构
  • 一维数组的创建、初始化与使用指南
  • 详解k6中的核心概念——场景(Scenarios)
  • Spring面试宝典
  • Pytest项目_day13(usefixture方法、params、ids)
  • Linux系统管理利器lsof命令详解与实战应用
  • 杰理手表-增加提示音-提示音音量调整--使用提示音
  • kafka 消费者组的概念是什么?它是如何实现消息的点对点和发布/订阅模式?
  • 无人机航拍数据集|第14期 无人机水体污染目标检测YOLO数据集3000张yolov11/yolov8/yolov5可训练
  • Linux中Https配置与私有CA部署指南
  • 股指期货基本术语是什么?
  • 云计算分类与主流产品
  • Neo4j Cypher语句
  • 设置默认的pip下载清华源(国内镜像源)和pip使用清华源
  • day49 力扣42. 接雨水 力扣84.柱状图中最大的矩形
  • 零基础数据结构与算法——第七章:算法实践与工程应用-性能分析与瓶颈