[原创] 扩展VirtualBox虚拟机的磁盘空间(vdi文件)

宿主机:Ubuntu 16.04 LTS
虚拟机:Windows 10

VirtualBox虚拟机文件有很多种格式,我的是vdi格式,对应的磁盘空间是37GB(Win10系统里只有一个C盘),由于虚拟机里的空间不够用了,想把它扩展成45GB,并且在数据不丢失的情况下仍然保持“只有一个C盘”的状态。
下面是操作方法。

扩大vdi空间
在宿主机的命令行执行命令:

[codelast@ win10.new]$ sudo VBoxManage modifyhd win10.vdi --resize 46080
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
其中,46080 的单位是MB。这样,vdi 文件对应的虚拟机的磁盘空间就被扩展成了 45GB,但是从 37GB → 45GB,多出来的 8GB 仍然是不可用的
文章来源:https://www.codelast.com/
我们可以进入虚拟机的系统验证这一点。在虚拟机里用快捷键 Win+R 打开运行命令对话框,输入 diskmgmt.msc 并回车,会打开Windows的“磁盘管理”软件,在里面我们会看到:

文章来源:https://www.codelast.com/
可见那8GB是“未分配”状态,如果要把它合并到原先的37GB里,并且不破坏已安装好的Win10的话,需要用GParted软件来合并扩展空间(如果你不需要合并在一起,只需要把新增的8GB创建成另一个分区,那么就简单得多,不需要用本文的方法)。

首先到GParted官网下载GParted ISO镜像文件(gparted-xxx.iso)。
把GParted ISO以光盘的形式挂载到虚拟机系统上
打开VirtualBox,在该虚拟机的“存储”设置页面上,你会看到一个 *.vdi 的虚拟机文件,对应的就是虚拟机里看到的磁盘:

文章来源:https://www.codelast.com/
点击“控制器: SATA”右侧的光盘加号按钮,弹出下面的对话框:

点击左上方的“注册”按钮选择本地磁盘上的GParted ISO文件,会像上图一样显示在列表中。
继续点击“选择”按钮,会看到ISO已经成功挂载了:

文章来源:https://www.codelast.com/
 重启虚拟机进入GParted软件
在虚拟机的“系统”设置页面上,把“光驱”调整成启动顺序的第一项:

这样开机才能先打开GParted,而不是进入安装过的那个Windows系统。
文章来源:https://www.codelast.com/
设置好后重启虚拟机,可以成功进入GParted:

回车进入列表的第一项。
文章来源:https://www.codelast.com/
 使用GParted调整分区大小
打开GParted,在其界面上可看到 8GB 的未分配空间:

文章来源:https://www.codelast.com/
选中 /dev/sda1 那个需要扩大的分区,点击工具栏的“Resize/Move”按钮,会弹出一个对话框:

你不需要输入具体的数值,只需要用鼠标拖拽绿色方框的右边,把它拉到最右,就可以把空间扩到最大。
文章来源:https://www.codelast.com/
点击“Resize/Move”按钮会看到空间已经被扩大了:

但是注意:现在只是临时状态,必须要点击工具栏上的“应用”按钮,才能真正让扩大分区的操作开始执行:

待操作完成后,Windows C盘就成功地从37GB变成了45GB,并且C盘上原来的数据不会丢失。

 验证结果
在虚拟机设置中,把光驱从启动项中移除(防止再次进入GParted),再重启虚拟机,查看Windows系统的C盘大小,就会发现成功了:

文章来源:https://www.codelast.com/
➤➤ 版权声明 ➤➤ 
转载需注明出处:codelast.com 
感谢关注我的微信公众号(微信扫一扫):

wechat qrcode of codelast

 

发表评论