问题和环境说明

环境:

  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. 计算机爱好者协会技术贴markdown第四期

    首先先让爱酱用CSDN自带的数学公式方法来闪瞎大家的钛合金狗眼: 有没有感觉到Markdown的强大!!!!! ## KaTeX数学公式 您可以使用渲染LaTeX数学表达式 [KaTeX](https ...

  2. CentOS 7.6下解决登录MySQL时,ERROR 1045 (28000): Access denied for user root@localhost (using password: YES

    https://blog.csdn.net/sinat_35406909/article/details/79763782

  3. oracle 索引移动到不同的分区

    最近系统空间不够,要进行数据库清理,truncate数据之后,发现数据不连续,导致这个表空间占用巨大,想过使用shrink.move.但是shrink得效率比较慢,选择了move.语句大概如此: SE ...

  4. [小结]InnoDB体系结构及工作原理

    参阅:<innodb存储引擎内幕>原创文章,会不定时更新,转发请标明出处:http://www.cnblogs.com/janehoo/p/7717041.html 一.概述: innod ...

  5. <笔记>TP5的分页传递额外参数

    默认生成的分页只有page一个参数,若需要提供额外的参数才能访问分页(例如查询结果的分页,需要传入查询关键字的参数才能显示结果),则需要设置额外参数query

  6. python猜数字GUI版本V0.1

    非常简单的GUI版猜数字游戏,后面有时间好好研究下 # -*- coding: utf-8 -*-"""Created on Mon Jan 28 16:30:17 20 ...

  7. centos7的Kubernetes部署记录

    一.使用vm创建了三个centos系统,基本细节如下: 1.1 修改三台机器对应的主机名: [root@localhost ~] hostnamectl --static set-hostname k ...

  8. ASP.NET Core 微服务初探[2]:熔断降级之Polly

    当我们从单体架构迁移到微服务模式时,其中一个比较大的变化就是模块(业务,服务等)间的调用方式.在以前,一个业务流程的执行在一个进程中就完成了,但是在微服务模式下可能会分散到2到10个,甚至更多的机器( ...

  9. 剑指offer面试题24:二叉搜索树的后序遍历序列

    题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是返回true,否则返回false. 假设输入的数组任意两个数字都不相同 解题思路:二叉搜索树的特点是根节点的左子树的值小于等 ...

  10. 一次艰难debug的反思

    已经很久没有遇到如此顽固的bug了,总共耗费了我近1个礼拜的时间.期间的种种冲突,个人崩溃,最终解决方案的形成,到回过头来的反思,实在有太多值得梳理的东西. 从结果上来讲,这是个人js基础极端薄弱的集 ...