这个问题很多人遇到没解决,但其实是可以达到目的的,关键在于你的思路。还是先来看一下Virtual Box在修改硬盘大小时报的错吧。
@ :~$ VBoxManage modifyhd "/home/benq/VirtualBox VMs/WinXpWork01/WinXpWork01.vbox" --resize 30900
VBoxManage: error: Could not get the storage format of the medium '/home/benq/VirtualBox VMs/WinXpWork01/WinXpWork01.vbox' (VERR_NOT_SUPPORTED)
VBoxManage: error: Details: code VBOX_E_IPRT_ERROR (0x80bb0005), component Medium, interface IMedium, callee nsISupports
Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, AccessMode_ReadWrite, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 210 of file VBoxManageDisk.cpp
本人是在virtual box下运行了一段时间觉得硬盘原本分配20G太小了,想扩展到30g。由于Vbox很容易扩展,至少以前在我XP下试过,屡试不爽。但是这一次没这么好用了,我是在Ubuntu下装了个VirtualBox,然后装了个win xp的虚拟主机,这个装好windows Xp的硬盘也是从另一台机器上拷过来的,至于为什么执行上述命令出错了,我想可能是问题不是真正的不能识别版本。也许只是因为原来的虚拟硬盘是从XP上的Vbox下创建的,虽然平移到Ubuntu下的Vbox下直接可用,但是VBox的小版本是不一样的(当然基本是废话,即使所谓一样,它也会认为不一样的,毕竟不同的操作系统的安装文件完全不是一个版本)。所以这是根本原因。但问题总要解决。查了很多资料,全网没有解决方案。 我猜从一台window移到另一台windows上只要两台windows装了相同的vbox版本的话肯定没问题。不过既然这样,跨平台的意义就不大了。
突然想到可以解决这个跨平台版本引起的问题的解决。
你说我不是因为硬盘太小想变大吗?在物理机上的话我怎么可能扩大硬盘呢,除非舍得数据丢失那我可以换个大硬盘,而实际上我是不可能这样的,我会加一个硬盘。于是解决方法是:虚拟机也一样的道理,我再新建个虚拟硬盘。开始吧,在Vbox的设置下找到存储一项,然后添加新虚拟硬盘,加好后启动虚拟机里的XP系统,在磁盘管理中把第二块硬盘加载一下,搞定!