虚拟机磁盘空间不够用,需要扩容,但是不希望通过添加第二张磁盘解决(linux下目录的各种权限问题)。
查到文章说用VBoxManage.exe可以将原先的VDI 或者VHD的虚拟机磁盘扩大,如:
VBoxManage modifyhd b4dfa481-854f-45c7-a54d-8 5a08f7c9204 --resize 20480
b4dfa481-854f-45c7-a54d-8 5a08f7c9204为磁盘的UUID,通过命令VBoxManage list hdds查看
但是前提是该虚拟机磁盘需要大小动态分配的,那固定磁盘大小是不是没办法了呢?
答案是可以的,但是先要折腾下:
打开VBox->管理->虚拟介质管理,在‘虚拟硬盘’里选择要扩容的磁盘,然后点 复制,下一步,选VDI或VHD。然后一定要选’动态分配‘,等复制完之后就得到一个动态分配大小的虚拟磁盘。
然后用VBoxManage扩容,结果出现错误:
C:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd 62d18e0d-ef60-46f6-bb93-2
ad704ab8a1f --resize 40960
VBoxManage.exe: error: The given path '62d18e0d-ef60-46f6-bb93-2ad704ab8a1f' is
not fully qualified
VBoxManage.exe: error: Details: code VBOX_E_FILE_ERROR (0x80bb0004), component M
edium, interface IMedium, callee IUnknown
VBoxManage.exe: error: Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDe
vType, enmAccessMode, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 220 of
file VBoxManageDisk.cpp
表示看不懂,抱着44的心态将UUID换成绝对路径:
C:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd D:\VIRTUALBOX\UBUNTU1.vdi
--resize 40960
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
搞定!!
需要固定大小在用刚才的方法复制一遍即可。