有时我们在使用Virtualbox虚拟机时,分配给虚拟机的磁盘空间太小,导致后期需要扩容,通过以下方法可以扩展磁盘空间。
增强虚拟磁盘空间容量(VDI)
扩展前最好把所有快照删除掉!
方法一:扩展磁盘空间
打开Virtualbox所在的安装目录,执行以下命令,命令中的虚拟有磁盘路径改成自己的:
//查看虚拟磁盘空间信息,确认确实是需要扩容的虚拟硬盘。
VBoxManage showhdinfo "H:\VirtualBox VMs\Ubuntu_14.04\Ubuntu_14.04.vdi"
//计算出要扩容的空间大小,我这里是要扩展到100G(1024*1024*1024*100)。
set /a 1024*100
//扩展虚拟硬盘空间,必须是动态分配模式的硬盘不能是固定大小模式的,最后的数字替换成上面计算出的硬盘空间大小。
VBoxManage modifymedium --resize 102400 "H:\VirtualBox VMs\Ubuntu_14.04\Ubuntu_14.04.vdi"
执行示例:
方法二:克隆虚拟硬盘
//创建个100G的虚拟硬盘
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" createhd --filename Ubuntu.vdi --size 102400
//克隆已有虚拟硬盘
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" clonehd "H:\VirtualBox VMs\Ubuntu_14.04\Ubuntu_14.04.vdi" Ubuntu.vdi --existing
//有快照时有选则Snapshots\{xxxxx.vdi},即选择当前使用的快照,一般是文件大小最大的那个。
方法二成功后将Virtualbox中的操作系统的虚拟硬盘替换即可。
增强虚拟磁盘空间容量(VMDK)
vmdk格式的虚拟硬盘使用如下方法:
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" clonehd "source.vmdk" "cloned.vdi" --format vdi
//扩展到120G
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd cloned.vdi --resize 1228800
//转换回原格式
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" clonehd cloned.vdi "mac13.vmdk" --format vmdk
扩容Virtualbox中操作系统硬盘大小
Ubuntu
- 通过gparted软件扩大硬盘容量
使用安装Ubuntu时的系统镜像进入"Try Ubuntu"菜单,打开gparted:
先"swap off"关闭交换空间,然后删除linux-swap,删除extended。然后选择需要调整的盘执行"Resize/Move"命令,调整到需要的大小,同样留下4GB的空间再新建回extended与linux-swap,完成后点对勾应用更改,Partition节下会恢复原来的分区标识,修改完毕再正常进入系统即可。
Mac
首先打开Terminal列出所有硬盘与硬盘分区,明确要扩容的盘符。
$ diskutil list
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *128.8 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Mac OS 84.0 GB disk0s2
3: Apple_Boot 639.3 MB disk0s4
比如上图硬盘被扩展后显示128G大小,原来是将近85G,那我们已被扩容的硬盘就是disk0,要使扩容生效的分区是disk0s2。
接下来依次执行如下命令:
//先执行错误修复
diskutil repairDisk disk0,可能有什么Recovery分区会报错,不会有大影响。
//扩容,容量是总容量-其它分区,如扩展到127GB
diskutil resizeVolume disk0s2 127GB
修复完成。
如果以后再要缩小磁盘空间的话就要把disk0s2调小,之后使用clonehd
命令将原磁盘内容复制过来。
Windows
打开磁盘管理进行操作即可。