问题和环境说明

环境:

  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文件


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


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

    • lvm lvresize

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

    Django的发送邮件是基于django的一个组件进行操作的,EmailMessage 基本使用方法: def send_html_mail(subject, html_content, from_a ...

  2. centos7搭建Cisco上网方式

    1.下载脚本 wget https://git.io/vpnsetup-centos -O vpnsetup.sh 2.修改 vi vpnsetup.sh 替换为你自己的值: YOUR_IPSEC_P ...

  3. Maven学习笔记1(clean compile package install)

    Maven是一个项目构建管理工具,使用相应的命令 就可以快速完成项目的编译 打包. 1.下载maven,直接解压目录就可以了,配置maven的环境变量就可以在window下的任何文件夹下以命令的方式执 ...

  4. python 方法

    1.首先运行python交互模式 输入 python 2.定义一个有序的集合 相当于js中的数组它里面有一些增删改查的方法 1. 定义一个数组 >>> ww = ['1','2',' ...

  5. 关于H5在微信获取授权

    很尴尬,flag倒了很久,这才来更新. 1.作为一枚小前端,所做的就是把微信获取授权之后的链接和所需的参数给到后端,定好之后只要获取链接就好了.(⊙o⊙)…确实就是这么简单,基本上这种授权是需要后端来 ...

  6. Linux下好用的屏幕录像软件kazam及截图软件shutter

    都是apt直接安装即可使用. 其中kazam默认保存的文件格式是avi,非常大,通常录制几十秒就已经好几个G,导致录制过程太占用资源,会出现卡顿的现象. 在“首选项”中可以选择输出格式为mp4,文件就 ...

  7. 摘录<奇特的一生>1~4——[苏]格拉宁

    一 只有在不实事求是的时候,事实才会叫人感兴趣. 虚构的人物任人摆布,并且纤毫毕露--他的一切想法意图,他的过去和未来,作者都一清二楚. 我还有一个任务:向读者灌输一些有用的知识,介绍些材料. 是一个 ...

  8. 2018-04-10 我的GitHub诞生的日子,欢迎大家吐槽批评

    我的GitHub,诞生的日子,欢迎大家吐槽与批评,嘻嘻 首先是自己想刷一下LeetCode上的代码,其次创建了自己的读书笔记以及面试经验与教训 下边是仓库的Git链接,欢迎大家的批评与修正,谢谢: L ...

  9. msfconlose基本命令

    命令 简介 back 从当前上下文 banner 显示显示一个令人敬畏的metasploit横幅 cd 更改当前工作目录 color 切换颜色 connect 与主机通信 edit 使用$ VISUA ...

  10. Promise实践

    一.概念 Promise是异步编程的解决方案之一,与事件驱动+回调函数并列. Promise是专门为异步编程设计的封闭的一次性用品,封闭体现在只有异步操作的结果能改变其状态,其他任何操作都不能改变其状 ...