VirtualBox 是一个免费的虚拟化产品, 可以用来构建虚拟机
它可以运行各大平台(Mac/Linux/OS) 上, 可以支持现有的绝大部分系统
VirtualBox 的构建的虚拟机一旦构建完毕, 磁盘的配置就几乎不能更改了, 至少从其界面并没有看到任何可以更改的操作
但是并不是没有办法, VirtualBox 安装完成之后, 同时还集成安装了 VirtualBox 的一些工具命令
比如 VBoxManage, 我们今天用它来解决调整 virtualbox 虚拟机磁盘大小这个问题
- # 假设我们已经进来, VirtualBox 具体镜像文件夹下的目录内容如下
- $ ls
- Logs docker_default_1462932932793_38985.vbox
- Snapshots docker_default_1462932932793_38985.vbox-prev
- box-disk1.vmdk
-
- $ VBoxManage showhdinfo box-disk1.vmd
- UUID: 6f5838ee-4319-4885-8eea-6276c9fbbe37
- Parent UUID: base
- State: locked write
- Type: normal (base)
- Location: /Users/Luo/VirtualBox VMs/docker_default_1462932932793_38985/box-disk1.vmdk
- Storage format: VMDK
- Format variant: dynamic default
- Capacity: 40960 MBytes
- Size on disk: 2795 MBytes
- Encryption: disabled
- In use by VMs: docker_default_1462932932793_38985 (UUID: 76746809-f711-4936-915c-49e27195d4f7) 可以看到 old UUID : `6f5838ee-4319-4885-8eea-6276c9fbbe37`
-
- $ VBoxManage clonehd box-disk1.vmdk new-disk1.vdi --format vdi
- 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
- Clone medium created in format 'vdi'. UUID: af5fbd4d-b4f9-4392-b78d-00822b3c32ca
-
- $ VBoxManage modifyhd new-disk.vdi --resize 51200
- 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
-
- $ VBoxManage clonehd new-disk.vdi resized-disk.vmdk --format vmdk
- 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
- Clone medium created in format 'vmdk'. UUID: 362b43f9-f562-49c9-8218-1235be0d16a7 记下 new UUID : `362b43f9-f562-49c9-8218-1235be0d16a7`
-
使用 new UUID 替换所有的 old UUID
使用 resized-disk.vmdk 替换所有的 box-disk1.vmdk
至此, 虚拟机的磁盘大小已经从 40G 调整到 50G
(以前的 box-disk1.vmdk 和 中间生成的 new-disk1.vdi 文件你可以清除掉了)