一、问题描述

刚刚在VirtualBox中使用Ubuntu虚拟机中,出现了虚拟硬盘不够用的情况。 
 
乖乖,查了一下磁盘空间,如下所示:

df -H

原来是上午安装Ubuntu虚拟机的时候,选择了动态分配存储,想当然的以为硬盘不够用的时候,它会自动扩展,没想到上限是默认的8G。这就悲剧了,才用了一下子就占了96%的磁盘空间了,因此只能进行虚拟硬盘容量的扩容操作。

二、扩展虚拟硬盘容量

第1步、查看硬盘镜像文件

1、虚拟机关机,关机后如下所示,显示硬盘大小上限为8G。 

2、启动CMD命令行,进入VirtualBox的安装目录。如

cd C:\Program Files\Oracle\VirtualBox

然后查看需要修改的虚拟硬盘:

VBoxManage list hdds

整体命令如下所示:

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\Users\Administrator>cd C:\Program Files\Oracle\VirtualBox C:\Program Files\Oracle\VirtualBox>VBoxManage list hdds
UUID: 0bd9c696-1735-48ce-81cf-04e9f64c2418
Parent UUID: base
State: created
Type: normal (base)
Location: C:\Users\Administrator\VirtualBox VMs\Ubuntu\Ubuntu.vdi
Storage format: VDI
Capacity: 8192 MBytes
Encryption: disabled UUID: c76c5d26-1fd3-46f3-9cc0-f979b02a4411
Parent UUID: base
State: created
Type: normal (base)
Location: C:\Users\Administrator\VirtualBox VMs\Ubuntu\NewVirtualDisk1.vdi
Storage format: VDI
Capacity: 40960 MBytes
Encryption: disabled

我们看到共有2个虚拟磁盘,我们要修改图中第一个,它的空间大小为8G,UUID:0bd9c696-1735-48ce-81cf-04e9f64c2418

第2步、修改硬盘镜像文件

$ VBoxManage modifyhd YOUR_HARD_DISK.vdi –resize SIZE_IN_MB 
其中YOUR_HARD_DISK.vdi用真实的虚拟机文件替代,SIZE_IN_MB则由调整后的空间大小替代。

例如使用命令 VBoxManage modifyhd 0bd9c696-1735-48ce-81cf-04e9f64c2418 –resize 51200 对 UUID为 0bd9c696-1735-48ce-81cf-04e9f64c2418 的磁盘进行扩容操作

C:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd 0bd9c696-1735-48ce-81cf-04e9f64c2418 --resize 51200
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% C:\Program Files\Oracle\VirtualBox>

再重新查看下虚拟硬盘的大小

操作成功后该虚拟的硬盘即变成了50G,但要注意了,此50G空间还没有分配.

第3步、分区

1、虚拟机开机 
2、查看磁盘情况 
 
纳尼,我不是已经扩容为50G了吗?怎么还是提醒我空间不够用?原来虽然已经扩大了磁盘,但是由于还没有经过分区,指定文件系统[格式化],所以linux操作系统无法识别(其实就相当于你插入了一块新硬盘,但是你并没有对其进行分区、格式化是一个道理)。

3、开始分区 
输入命令$sudo fdisk /dev/sda 
然后按m查看帮助文档如下所示: 

如上图所示,按n命令的话就增加一个分区,如下所示 
 
如上图所示: 
首先输入命令:n(添加新分区)之后回车: 
接着输入命令:p 
剩下步骤全按回车默认, 
最后输入命令w保存分区信息。

再查看下分区信息:fdisk -l 
 
发现多了一个分区 /dev/sda4。(之前重复做了一次分区操作,划了一个分区/dev/sda3) 
然后重启Ubuntu虚拟机。

4、格式化分区 
格式化刚才划好的分区/dev/sda4

sudo mkfs -t ext4 /dev/sda4

5、挂载分区 
创建目录 /home/ouyangpeng/sda4

sudo mkdir sda4

将分区 /dev/sda4 挂载到 /home/ouyangpeng/sda4

sudo mount /dev/sda4 /home/ouyangpeng/sda4

6、开机自动挂载,则修改/etc/fstab文件,在这个文件里面添加一行: 
使用vim命令编辑/etc/fstab文件

sudo vim /etc/fstab

增加如下一行代码

/dev/sda4 /home/ouyangpeng/sda4/ ext4 defaults 0 1

至此,容量扩展完成了。

再次查看下刚刚挂载好的分区

df -H


参考文档:

http://blog.csdn.net/ganshuyu/article/details/17954733

http://www.cnblogs.com/jyzhao/p/4778657.html

http://www.2cto.com/os/201406/309339.html

转自:http://blog.csdn.net/ouyang_peng/article/details/53261599

VirtualBox如何扩展虚拟机Ubuntu的硬盘容量?的更多相关文章

  1. VirtualBox如何扩展虚拟机Ubuntu的硬盘容量-转

    https://blog.csdn.net/ouyang_peng/article/details/53261599 摘录要点: 扩展 VBoxManage modifyhd YOUR_HARD_DI ...

  2. 增加虚拟机ubuntu的硬盘

    20150526更新验证日记: (1)首先在虚拟机中增加ubuntu的硬盘大小. (2)在ubuntu中使用Gparted软件对新的空间进行分配(傻瓜式) (3)不能直接将磁盘挂载到home下,只能先 ...

  3. VirtualBox 扩展虚拟硬盘容量

    转载:VirtualBox 扩展虚拟硬盘容量 如果使用的是ubuntu主机加xp虚拟机,扩容后,xp还无法识别扩大后的硬盘部分,可以在xp下使用“分区助手”进行处理,即将扩大的空间分给C盘.

  4. VM虚拟机扩展硬盘容量

    VM虚拟机扩展硬盘容量 第一步,关闭系统,给虚拟机硬盘增加空间. 第二步,启动系统.查看硬盘大小和分区情况. 第三步,分区. 第四步,格式化分区. 第五步,挂载. 第六步,开机自动挂载. 第一步: 当 ...

  5. 【转载】VMware虚拟机修改硬盘容量大小

    很多人在安装虚拟机系统的时候,为了节省硬盘空间,把硬盘容量设置得较小,可是后来发现硬盘容量不够用了.在VMware中又不能直接修改虚拟机的硬盘容量大小,或者重建虚拟机系统,非常麻烦. 其实在VMwar ...

  6. Proxmox虚拟机增加硬盘容量

    1.首先在虚拟机控制台选择调整硬盘容量,弹出窗口为增加的容量 2.重启虚拟机,用fdisk –l查看新增容量是否被识别 3.用cfdisk创建分区,分区格式为Primary 8e (Linux LVM ...

  7. virtualbox虚拟机ubuntu操作系统,设置网络互通、访问,能访问虚拟机swoole的http服务

    网络互通 1.设置virtualbox网络连接模式为桥接网卡模式 2.重启虚拟机查看虚拟机IP ifconfig 3.开启window的telnet程序 控制面板->程序->启用或关闭wi ...

  8. 解决VirtualBox下安装虚拟机(Ubuntu)出错(不能为虚拟电脑Ubuntu打开一个新的任务)的有关问题

    [转]http://www.myexception.cn/program/1964906.html 解决VirtualBox下安装虚拟机(Ubuntu)出错(不能为虚拟电脑Ubuntu打开一个新的任务 ...

  9. ubuntu 18.04下virtualbox安装windows虚拟机+增强功能+secureCRT

    先强调一下,我是在Ubuntu里安装windows虚拟机,如果要看如何安装linux虚拟机的话,那么你走错地方了. 我一直使用Linux系统做开发的,选择Ubuntu是因为多数常用软件对Ubuntu支 ...

随机推荐

  1. postman环境变量的设置

    相同的api接口因为部署环境不同,分为test和fromal 不仅重复,还容易出错 下面来介绍一下Postman的一个小技巧来解决这种问题: 设置环境变量 Tips: 不是在OS中设置环境变量哦   ...

  2. FineUI利用JS取控件的值

    用ExtJS的获取方式应该就可以了把...我是直接用Ext.getCmp("txt_cusname").getValue;不过txt_cusname这个控件如果是runat=&qu ...

  3. JS 响应式布局

    1.media 效果为屏幕宽度变化时,背景颜色也变化 <!DOCTYPE html> <html lang="en"> <head> <m ...

  4. typescript-dva脚手架

    2019有太多的东西想尝试,ts,GraphQL,SSR,docker,python,electron,小程序云后台,vue3等等,一个个来吧,用两天了解了下typescript,大概做了个webpa ...

  5. 关于String.valueOf()和.toString的问题

    以下是String.valueOf()的源代码 public static String valueOf(Object obj) {     return (obj == null) ? " ...

  6. shell 2变量

    shell变量 定义变量 变量名命名规则: 1.命名只能使用英文字母.数字和下划线,首个字符不能以数字开头 2.中间不能有空格,可以使用下划线 3.不能使用标点符号 4.不能使用sh中的关键字,可用h ...

  7. 正则捕获的细节及replace分析

    1.var reg=/./与var reg=/\./的区别? 前者代表任意一个字符, 后者代表这个字符串中得有一个点 2.?的使用 如果单独的一个字符后面带? 代表1个或0个这个字符的出现: 列如: ...

  8. php array_flip() 删除数组重复元素——大彻大悟

    1. php array_flip() 删除数组重复元素,如果用于一维索引数组,好理解. [root@BG-DB:~]$more arr.php  <?php         $arr = ar ...

  9. C#后台调用前台javascript的五种方法小结

    第一种,OnClientClick (vs2003不支持这个方法) <asp:Button ID="Button1" runat="server" Tex ...

  10. 学习MongoDB 六: MongoDB查询(游标操作、游标信息)(三)

    一.简介 db.collection.find()可以实现根据条件查询和指定使用投影运算符返回的字段省略此参数返回匹配文档中的所有字段.并返回到匹配文档的游标,可以随意修改查询限制.跳跃.和排序顺序的 ...