分享个人 Full-Stack JavaScript 项目开发经验
动态分配的虚拟硬盘只是逐渐占用物理空间(直到达到分配的大小),不过当其内部空间不用时不会自动缩减占用的物理硬盘空间。
固定大小的虚拟硬盘文件可能在某些系统中要花很长时间来创建,但它往往使用起来较快。
VirtualBox 用户界面中没有转换的选项,但是可以通过它的 vboxmanage 工具进行转换。
如何你使用的是 macos 系统,vboxmanage 工具在你安装完 VirtualBox 后就已经可用。你可以在终端中验证:
vboxmanage -v
如果你使用的是 windows 系统,VBoxManage.exe 可执行程序可在你 VirtualBox 安装目录中找到,例如:
D:\Program Files\Oracle\VirtualBox
我们可以将这个路径添加到系统用户环境变量 Path 中,然后直接在 cmd 中使用它。
查询当前的所有虚拟硬盘:
vboxmanage list hdds
该命令可以看到虚拟硬盘文件的 Location 及 UUID 信息。
再通过以下命令,可以查看具体虚拟硬盘的详细信息,其中包括 Format variant:
vboxmanage showhdinfo <UUID>
从固定大小转换为动态分配,可以这样:
vboxmanage clonemedium disk "C:\path\to\source.vdi" "C:\path\to\destination.vdi" –variant Standard
从动态分配转换为固定大小,可以这样:
vboxmanage clonemedium disk "C:\path\to\source.vdi" "C:\path\to\destination.vdi" –variant Fixed
转换前,请确保虚拟主机是关闭电源状态。转换完成后,我们在 VirtualBox 用户界面中选中对应虚拟主机 --> 设置 --> 存储,然后移除原来的虚拟硬盘并添加转换后的虚拟硬盘。最后,启动虚拟机即可。
在确保虚拟主机运行正常之后,我们可以通过以下命令删除旧的虚拟硬盘:
vboxmanage closemedium <UUID> --delete