问题和环境说明

环境:

  1. 主机:Ubuntu 15.10
  2. 客户机:Windows 7 x64
  3. VirtualBox:5.0.10
  4. 虚拟机磁盘类型:VDI(VirtualBox磁盘映像)

问题:

在虚拟机里,win7系统C盘空间不足,且虚拟机的磁盘映像为动态磁盘映像VDI,可以后期修改磁盘大小,问题是如何扩大原本的磁盘文件?

简要步骤

  1. 如果原先的磁盘文件为VMDK格式的,则需要使用VBox管理工具转换为VDI格式
  2. 使用VBox管理工具调整磁盘大小,以便后面的分区扩容
  3. 使用GParted工具修改文件系统,将空闲的空间分配给磁盘分区

详细步骤

  1. 查看虚拟机的磁盘的文件格式,如果不是*.vdi,则将磁盘格式从*.vmdk转为*.vdi。打开Ubuntu终端,进入VBox磁盘文件所在文件夹

    说明:虚拟机所在的磁盘文件位置查看方式为设置-存储下的明细位置,因为我的系统之前是做了快照,所以不仅在明细位置存在一个*.vdi文件,而且在磁盘文件所在目录下的Snapshots文件夹也存在多个备份的*.vdi文件,我修改的是位于Snapshots目录下最新的*.vdi文件


    1. $ cd VirtualBox\ VMs/win7_linux/Snapshots/
    2. $ VBoxManage clonehd --format VDI "vmdk磁盘文件名" "要创建的vdi文件名"
  2. 重新调整文件大小,打开终端进行*.vdi文件所在目录。例如,调整磁盘文件大小为60GB,即61440MB


    1. $ VBoxManage modifyhd "vdi文件名" --resize 61440
  3. 对于原先磁盘文件格式为vmdk的,则需要重新设置虚拟机的磁盘位置,将其路径改为新创建的磁盘文件*.vdi。虚拟机-设置-存储-控制器:SATA-右键*.vmdk文件-删除盘片-添加虚拟硬盘-选择你最新创建的*.vdi文件

  4. http://gparted.sourceforge.net/download.php下载"gparted-live-x.xx.x-x-ixxx.iso"文件,并且将其iso文件加载到虚拟机的光驱。虚拟机-设置-存储-控制器-添加最新下载的*.iso文件

  5. 运行虚拟机,虚拟机将会从光驱文件启动。一直选择Enter直到进入GPart系统桌面。启动gpart程序,默认是开机自启动的

  6. 按照下面的方法扩展分区:

    • 选择你要扩容的分区,右键点击Move/Resize

    • 简单的可以直接拖动上面的滑动块,将右边的所有空闲分区分配给当前分区。

      • 灵活地,可以调整下面的数字,第一个为前面要空闲的大小,中间为新的分区大小,后面为新分区后面空闲分区大小。

    • 点击上面工具栏的Apply按钮
    • 关闭虚拟机,并将*.iso光驱文件移除
    • 重新打开虚拟机,如果你的客户机为win7系统,则直接进入win7系统,系统会自动识别新增的分区,并且在自动合并后重启;否则进行第7步
  7. 如果客户机为Linux系统则需要手动合并新分区

    • lvm vgdisplay
    1. $ lvm vgdisplay
    2. => Free PE / Size 122880 / 480.00 GiB
    • lvm lvdisplay
    1. $ lvm lvdisplay /dev/VolGroup/lv_root
    2. => Current LE 3978
    • 计算上面值的和,此时,122880 + 3978 = 126858,126858将会在下一条命令中用到

    • lvm lvresize

    1. $ lvm lvresize -l 126858 /dev/VolGroup/lv_root
    • resize2fs
    1. $ resize2fs /dev/VolGroup/lv_root
    • lsblk
    1. $ lsblk
    2. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    3. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    4. sr0 11:0 1 1024M 0 rom
    5. sda 8:0 0 500G 0 disk
    6. sda1 8:1 0 500M 0 part /boot
    7. L¦sda2 8:2 0 499.5G 0 part
    8. VolGroup-lv_root (dm-0) 253:0 0 480G 0 lvm /
    9. L¦VolGroup-lv_swap (dm-1) 253:1 0 4G 0 lvm [SWAP]
    10. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    • 通过创建一个大的文件检查文件系统是否扩容成功
    1. $ fallocate -l 480G /test_file
    • 移除测试文件
    1. $ rm -rif /test_file

【原创】VirtualBox 磁盘扩容教程的更多相关文章

  1. VirtualBox上Centos7磁盘扩容

    VirtualBox上Centos7磁盘扩容 非常实用 点击直达

  2. [CentOS7]Windows下VirtualBox虚拟机磁盘扩容

    目录 虚拟系统磁盘文件扩充 修改分区 LVM更新 扩容文件系统 参考资料 虚拟系统磁盘文件扩充 命令操作 命令行运行VBoxManage,modifyhd扩容需要文件格式为.vdi,如为.vmdk,需 ...

  3. 使用Oracle VM VirtualBox创建虚拟机教程

    使用Oracle VM VirtualBox创建虚拟机教程                                                                       ...

  4. VirtualBox下扩容vdi文件

    VirtualBox下扩容vdi文件 版本:VirtualBox 5.0.14 之前VirtualBox创建的虚拟机的vdi文件过小,无法满足新的实验需求,扩容vdi文件的方法如下: 比如我这里将RH ...

  5. 故障处理:磁盘扩容出错:e2fsck: Bad magic number in super-block while trying to open /dev/vdb1

    按照阿里云官网教程对云服务器进行磁盘扩容,使用fdisk重新分区,最后使用e2fsck和resize2fs来完成文件系统层面的扩容 在执行“e2fsck -f /dev/vdb1”命令时报错,如果你的 ...

  6. Oracle VM VirtualBox虚拟机导出教程

    Oracle VM VirtualBox虚拟机导出教程 | 浏览:583 | 更新:2015-01-31 11:21 1 2 3 4 5 6 7 分步阅读 有时我们需要把Oracle VM Virtu ...

  7. VMware下对虚拟机Ubuntu14系统所在分区sda1进行磁盘扩容

    VMware下对虚拟机Ubuntu14系统所在分区sda1进行磁盘扩容 一般来说,在对虚拟机里的Ubuntu下的磁盘进行扩容时,都是添加新的分区,而并不是对其系统所在分区进行扩容,如在此链接中http ...

  8. SQL Server 磁盘空间告急(磁盘扩容)转载

    一.背景 在线上系统中,如果我们发现存放数据库文件的磁盘空间不够,我们应该怎么办呢?新买一个硬盘挂载上去可以嘛?(linux下可以直接挂载硬盘进行扩容),但是我们的SQL Server是运行在Wind ...

  9. VirtualBox安装Ubuntu教程

    1.VirtualBox虚拟机安装,及VirtualBox安装Ubuntu教程VirtualBox版本为VirtualBox-4.3.12-93733-Win.exe,Ubuntu版本为ubuntu- ...

随机推荐

  1. JavaScript判断系统语言

    var lang= null; function language(){ var language=null; if (navigator.appName == 'Netscape'){ langua ...

  2. adb安装apk

    1.    安装配置 1.1安装包 下载adb.zip,解压至本机 1.2环境配置 将adb安装路径加入path中 2.    安装apk 使用数据线将Android手机与电脑连接,打开手机usb调试 ...

  3. PEM证书加密方法(python)

    1. 常见网络登录现在都使用了rsa加密,一般而言客户会提供模(mo)和指数(e). 2. 通过模和指数获取到证书PEM(方法见:https://www.cnblogs.com/luo30zhao/p ...

  4. bower学习总结

    1. 安装软件:node-v6.10.3-x64.msi 和 Git-2.13.0-64-bit.exe 在安装git时,需要选择‘Run Git from the Windows Command P ...

  5. ssh 使用 sed 替换的时候,替换的字符串有单双引号的时候怎么用

    线上有一个脚本需要 ssh 登录远程机,然后完成特定文件中的某个值,替换的字符中有单引号,所以需要特定的写法,才能成功 1).ssh 远程执行命令,替换字符串中有单引号( ' ) ssh zhuzi@ ...

  6. beautifulsoup爬取糗事百科

    # _*_ coding:utf-8 _*_ import urllib2 from bs4 import BeautifulSoup user_agent = "Mozilla/5.0 ( ...

  7. Kali 2017 使用SSH进行远程登录 设置 ssh 开机自启动

    一.配置SSH参数 修改sshd_config文件,命令为: vi /etc/ssh/sshd_config 输入“ /Pass ”回车搜索 找到#PasswordAuthentication no的 ...

  8. The test form is only available for requests from the local machine

    使用浏览器测试Web服务时出现提示“The test form is only available for requests from the local machine.”的解决办法 在Web服务项 ...

  9. [转] AppArmor

    AppArmor https://help.ubuntu.com/14.04/serverguide/apparmor.html AppArmor 是一个实施了基于名称强制存取控制的Linux安全模组 ...

  10. 包建强的培训课程(7):iOS企业级开发实战

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...