起因

  此前用VBox,初始时动态或固定分配的磁盘容量用完了就再重新建一个磁盘,但是有个虚拟机的系统分区容量不够了,把整个磁盘都分成系统盘仍然不够,于是研究了下磁盘容量调整问题。

更新

  新版的VirtualBox已经支持GUI调整磁盘容量,"管理--虚拟介质管理器--虚拟磁盘" 下面有一个进度条,可以方便的修改。不用再用命令行了~

正文

1,从当前虚拟机中卸载该磁盘:

  点击 设置--存储--选中磁盘--右键,删除盘片(注:这里只是卸载,不要去物理删除);

2,关闭Oracle VM VirtualBox管理器,重新以管理员身份启动;

3,以管理身份运行命令行,转到VirtualBox安装目录。默认路径为C:\Program Files\Oracle\VirtualBox

cd C:\Program Files\Oracle\VirtualBox

4,调整磁盘容量。

  以虚拟机路径:C:\Users\XXX\VirtualBox VMs\Win_XP.vdi ,调整容量为30G为例。

VBoxManage modifyhd "C:\Users\XXX\VirtualBox VMs\Win_XP.vdi" --resize 

  注:--resize 调整的单位为MB,若需以字节为单位请用 --resizebyte

  命令执行成功的标志:

  0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

5,现在重新从 “设置--存储--添加虚拟硬盘--选择现有虚拟盘” 中选择磁盘即可看到容量已经扩展。

  注:现在启动系统仍然看不到容量变大。这是因为容量调整,只是调整的虚拟机的“物理磁盘容量”,这时仍需要手动扩展分区,才可以使用。

    关于如何手动扩展分区 请搜索 DISKGENIUS 此处不再赘述。

6,因为快照的影响,在调整主磁盘分区后,快照中无法看到容量更改,此时需要手动调整所有快照的磁盘容量,参考命令为

for %x in (Snapshots\*.vdi) do VBoxManage modifyhd --resize  "%x"

  7,linux中调整分区后(swap一般在末尾,删除,扩展,重建swap后),需要重新设置swap

  

# 查看swap分区UUID
gparted # 修改自动挂载swap分区,将其中swap分区UUID更新
gedit /etc/fstab # swap分区UUID更新
gedit /etc/initramfs-tools/conf.d/resume update-initramfs -u

可能遇到的问题

VBoxManage.exe: error: Failed to create the VirtualBox object!
VBoxManage.exe: error: Code CO_E_SERVER_EXEC_FAILURE (0x80080005) - Server execution failed (extended info not available)
VBoxManage.exe: error: Most likely, the VirtualBox COM server is not running or failed to start.

解决:

  1)在进程管理器中,点击 显示所用用户进程--结束掉 VBoxSVC.exe 和所有 virtualbox.exe

  2)保证VirtualBox管理器和命令行以管理员身份运行

  3)重新按正文操作即可

参考

  http://www.cnblogs.com/zhcncn/articles/2948508.html

  https://www.virtualbox.org/ticket/11307

VirtualBox 磁盘容量调整的更多相关文章

  1. LVM---动态调整磁盘容量

    LVM:logical volume manager(逻辑卷管理):LVM屏蔽了底层磁盘布局,方便于动态调整磁盘容量. 一.创建逻辑卷的步骤: 1)通过fdisk 工具将磁盘转换为linux分区 2) ...

  2. 扩展VirtualBox虚拟机磁盘容量

    1. 在cmd命令行下进入VirtualBox的安装目录,使用“VBoxManage list hdds”命令,找到需要修改磁盘容量的虚拟机的img路径或UUID: VirtualBox安装目录> ...

  3. VmBox硬盘容量调整

    硬盘容量修改为15*1024MB. VBoxManage.exe modifyhd "F:\VirtualBox\magiclinux.vdi"   --resize 15360 ...

  4. VHD容量调整的方法(保存原有vhd)

    VHD容量调整的方法(保存原有vhd)特别对于RAMOS的VHD,调整VHD容量的办法:1.在WIN7或者7PE中,右击我的电脑→管理→磁盘管理,挂载原始VHD文件,然后新建一个VHD文件,初始化,格 ...

  5. 【原创】VirtualBox 磁盘扩容教程

    问题和环境说明 环境: 主机:Ubuntu 15.10 客户机:Windows 7 x64 VirtualBox:5.0.10 虚拟机磁盘类型:VDI(VirtualBox磁盘映像) 问题: 在虚拟机 ...

  6. VMware 扩展磁盘容量

    背景:创建虚拟机后,发现原先定的磁盘容量不够了,这时候可以通过vmware扩展磁盘容量 步骤一 先关闭虚拟机,右键虚拟机设置:(我没关虚拟机,所以灰显了) 步骤二: 启动VMware环境下的Linux ...

  7. 【Linux】df命令 ,查看磁盘容量。

    Oracle 导库时,失败,原因为磁盘满了, 记录下查看磁盘容量的指令 1.命令格式: df [选项] [文件] -a 全部文件系统列表 -h 方便阅读方式显示 -H 等于“-h”,但是计算式,1K= ...

  8. Windows Azure Virtual Machine (29) 修改Azure VM 数据磁盘容量

    <Windows Azure Platform 系列文章目录> 当我们使用Windows Azure管理界面,创建Azure虚拟机的时候,默认挂载的磁盘是固定大小的 1.比如我创建1个Wi ...

  9. C# 获取磁盘容量

    原文:C# 获取磁盘容量 /// 获取指定驱动器的空间总大小(单位为B) /// </summary> /// <param name="str_HardDiskName& ...

随机推荐

  1. chrome开发工具指南(十三)

    模拟传感器:地理定位与加速度计 由于大多数桌面设备都没有 GPS 芯片和加速度计,所以测试它们比较困难.Chrome DevTools 的 Sensors 模拟窗格可以通过模拟常见的移动设备传感器来降 ...

  2. ASP.NET Core的身份认证框架IdentityServer4(8)- 使用密码认证方式控制API访问

    前言 本文及IdentityServer这个系列使用的都是基于.net core 2.0的.上一篇博文在API项目中我使用了icrosoft.AspNetCore.Authentication.Jwt ...

  3. Spring定时任务quartz表达式

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp32 0 0 12 * * ?---------------在每天中午12: ...

  4. Java之String、StringBuffer、StringBuilder

    String.StringBuffer和StringBuilder的理解 这三个类学过已经有一段时间了,想通过这篇文章再将其复习一下,以求温故知新. 首先说一下三者各自的特性 String: Stri ...

  5. 规则集之探究何时使用HashSet、LinkedHashSet以及TreeSet?

    前言 Java集合框架三种主要类型的集合:规则集(Set).线性表(List).队列(Queue).Set用来存储不可重复的元素:List用来存储有元素构成的有序的集合:而Queue则用于存储用先进先 ...

  6. MySQL (二)-- 数据类型(列类型)、数值类型、 小数类型、 时间日期类型、 字符串类型 、 MySQL记录长度、列属性

    1 数据类型(列类型) 所谓的数据类型:对数据进行统一的分类,从系统的角度出发是为了能够使用统一的方式进行管理,更好的利用有限的空间. SQL中将数据类型分成了三大类: 2 数值类型 数值类型数据:都 ...

  7. python--用户登录验证

    目标要求: 1.最多输入3次用户名密码, 2.如果是被锁用户,则一次即退出程序, 3.如果输入正确的用户名密码,则提示登陆成功,程序结束, 4.3次输入不对,会将用户写入被锁用户列表,当然,该用户名需 ...

  8. 201521123091 《Java程序设计》第5周学习总结

    Java 第五周总结 第五周的作业. 目录 1.本章学习总结 2.Java Q&A 3.使用码云管理Java代码 4.PTA实验 1.本章学习总结 1.1 尝试使用思维导图总结有关多态与接口的 ...

  9. 201521123088《java程序设计》第三周学习总结

    1. 本周学习总结 本周学习了关于Java的封装,所谓封装就是将属性私有化,提供公有的方法访问私有属性 2. 书面作业 代码阅读 public class Test1 { private int i ...

  10. Cookie和Session总结

    Cookie概述     Cookie是什么?       Cookie是一小段文本信息,伴随着用户请求和页面在Web服务器和浏览器之间传递.Cookie包含每次用户访问站点时Web应用程序都可以读取 ...