目录
之前一直在开发环境中用 vagrant 去管理虚拟机,今天突然发现硬盘满了。查资料发现 vagrant 为了启动速度快一些默认指定的硬盘大小为 10G。 没办法只能讲现有的虚拟机进行扩容了。实际操作方法如下:文章源自编程技术分享-https://mervyn.life/18760036.html
准备工作
- 关闭虚拟机
- 找到 VirtualBox 安装目录,将该目录加入环境变量。 后边会用到
VBoxManage.exe
这个工具。
记录现有虚拟机信息
进入对应虚拟机存储目录,我这里是 F:\VirtualBox VMs\vagrant_init_lnmp_1537426685390_9527
,找到对应的 vmdk 文件。 我这边的文件为 ubuntu-xenial-16.04-cloudimg.vmdk
文章源自编程技术分享-https://mervyn.life/18760036.html
执行如下命令文章源自编程技术分享-https://mervyn.life/18760036.html
VBoxManage.exe showhdinfo "ubuntu-xenial-16.04-cloudimg.vmdk"
# mac pro下可执行
VBoxManage list hdds
得到虚拟机信息,后边会用到该信息文章源自编程技术分享-https://mervyn.life/18760036.html
UUID: 11fd9855-800d-4e37-ab94-b59a24092bb0
Parent UUID: base
State: locked write
Type: normal (base)
Location: F:\VirtualBox VMs\vagrant_init_lnmp_1537426685390_9527\ubuntu-xenial-16.04-cloudimg.vmdk
Storage format: VMDK
Format variant: dynamic default
Capacity: 30720 MBytes
Size on disk: 957 MBytes
Encryption: disabled
In use by VMs: vagrant_init_lnmp_1537426685390_9527 (UUID: ae809149-6531-4869-ab0f-e420dc934a1f)
开始进行扩容
转换文件格式
vboxmanage clonehd "ubuntu-xenial-16.04-cloudimg.vmdk" "new-virtualdisk.vdi" --format vdi
# mac pro 下 可执行
VBoxManage convertfromraw "ubuntu-xenial-16.04-cloudimg.vmdk" "new-virtualdisk.vdi" --format vdi
更改文件大小
VBoxManage.exe modifyhd "new-virtualdisk.vdi" --resize 30720
将扩容后的文件转回原格式
VBoxManage clonehd "new-virtualdisk.vdi" "resized.vmdk" --format vmdk
# mac pro 下执行
VBoxManage convertfromraw "new-virtualdisk.vdi" "resized.vmdk" --format vmdk
备份原有文件
mv ubuntu-xenial-16.04-cloudimg.vmdk ubuntu-xenial-16.04-cloudimg-backup.vmdk
替换扩容后的文件
mv resized.vmdk ubuntu-xenial-16.04-cloudimg.vmdk
修改文件对应的 UUID 标识
找到上边获取到的原有虚拟机信息的 UUID
字段的值,进行设置文章源自编程技术分享-https://mervyn.life/18760036.html
VBoxManage.exe internalcommands sethduuid "ubuntu-xenial-16.04-cloudimg.vmdk" 11fd9855-800d-4e37-ab94-b59a24092bb0
做完上述这些就大功告成了。文章源自编程技术分享-https://mervyn.life/18760036.html
我的微信公众号
微信扫一扫
评论