VirtualBox安装了ubuntu16,默认的是8G内存,运行了hadoop以后不够用了,需要扩容。扩容还不那么智能,有点麻烦,主要有几个步骤,1先用virtualbox自带的工具进行扩容,2然后在进行分区的合并,3在分区配置文件中fstab进行配置修改。第一次的时候并没有做分区合并的动作,只是将新增的磁盘作为一个分区挂在到了一个目录下,后来发现要完美解决还是要在原分区上合并。第二次又进行分区合并,和配置文件调整。

 刚刚在VirtualBox中使用Ubuntu虚拟机中,出现了虚拟硬盘不够用的情况。 

有位兄弟第一步和我一样,参见他的http://blog.csdn.net/ouyang_peng/article/details/53261599

VirtualBox ubuntu16 硬盘扩容
乖乖,查了一下磁盘空间,如下所示:

df -H

VirtualBox ubuntu16 硬盘扩容

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

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

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

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

cd C:\Program Files\Oracle\VirtualBox

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

VBoxManage list hdds

整体命令如下所示:

Prettyprint代码  VirtualBox ubuntu16 硬盘扩容
  1. <code style="display: block; padding: 0px; background: transparent; color: inherit; font-family: 'Source Code Pro', monospace; font-size: inherit; border-radius: 0px;" class="hljs tex has-numbering">Microsoft Windows [Version 6.1.7601]  
  2. Copyright (c) 2009 Microsoft Corporation.  All rights reserved.  
  3.   
  4. C:\Users\Administrator>cd C:\Program Files\Oracle\VirtualBox  
  5.   
  6. C:\Program Files\Oracle\VirtualBox>VBoxManage list hdds  
  7. UUID:           0bd9c696-1735-48ce-81cf-04e9f64c2418  
  8. Parent UUID:    base  
  9. State:          created  
  10. Type:           normal (base)  
  11. Location:       C:\Users\Administrator\VirtualBox VMs\Ubuntu\Ubuntu.vdi  
  12. Storage format: VDI  
  13. Capacity:       8192 MBytes  
  14. Encryption:     disabled  
  15.   
  16. UUID:           c76c5d26-1fd3-46f3-9cc0-f979b02a4411  
  17. Parent UUID:    base  
  18. State:          created  
  19. Type:           normal (base)  
  20. Location:       C:\Users\Administrator\VirtualBox VMs\Ubuntu\NewVirtualDisk1.vdi  
  21. Storage format: VDI  
  22. Capacity:       40960 MBytes  
  23. Encryption:     disabled</code>  

VirtualBox ubuntu16 硬盘扩容

我们看到共有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 的磁盘进行扩容操作

Prettyprint代码  VirtualBox ubuntu16 硬盘扩容
  1. <code style="display: block; padding: 0px; background: transparent; color: inherit; font-family: 'Source Code Pro', monospace; font-size: inherit; border-radius: 0px;" class="hljs mel has-numbering">C:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd 0bd9c696-1735-48ce-81cf-04e9f64c2418 --resize 51200  
  2. 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%  
  3.   
  4. C:\Program Files\Oracle\VirtualBox></code>  

VirtualBox ubuntu16 硬盘扩容

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

VirtualBox ubuntu16 硬盘扩容

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

第3步、分区

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

VirtualBox ubuntu16 硬盘扩容

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

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

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

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

sudo mkfs -t ext4 /dev/sda4

VirtualBox ubuntu16 硬盘扩容

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

sudo mkdir sda4

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

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

VirtualBox ubuntu16 硬盘扩容

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

sudo vim /etc/fstab

增加如下一行代码

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

VirtualBox ubuntu16 硬盘扩容

至此,容量扩展完成了。

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

df -H

VirtualBox ubuntu16 硬盘扩容

 

 

第二步

先下载一个分区合并软件 gparted-live-0.28.1-1-amd64.iso 我是amd的cup,你们如果不是可以下载非amd的。

装载这个iso
VirtualBox ubuntu16 硬盘扩容
 

启动先进入这个页面


VirtualBox ubuntu16 硬盘扩容
 然后一路回车,然后进入软件的首页


VirtualBox ubuntu16 硬盘扩容
 将除了第一个分区以外的所有分区都删除。然后点击apply,下面的图是没有点击apply前的截图。


VirtualBox ubuntu16 硬盘扩容
 调整第一个磁盘的大小


VirtualBox ubuntu16 硬盘扩容
 我一共20g空间,sda1由原来的8g我调整为19g,剩余1g给swap空间。


VirtualBox ubuntu16 硬盘扩容
 下面是swap空间的分区,选择扩展分区。


VirtualBox ubuntu16 硬盘扩容
在扩展分区下在分linux-swap分区


VirtualBox ubuntu16 硬盘扩容
 

分好之后的结果


VirtualBox ubuntu16 硬盘扩容
关机,把光盘卸载,再启动。启动会不正常,不能进入桌面,会进入emergency mode。没事,正常输入密码

 
VirtualBox ubuntu16 硬盘扩容
 

需要输入root 密码。

ls -l /dev/disk/by-uuid/

 


VirtualBox ubuntu16 硬盘扩容
 

蓝色部分是uuid 。要和 cat  /etc/fstab 中的uuid匹配。sda1是一样,sda5是不一样的。

 


VirtualBox ubuntu16 硬盘扩容
vi /etc/fstab 把sda5的uuid 改成正确的。 并且删除sda5 后面多出来的参数。更改完以后的fstab如下:


VirtualBox ubuntu16 硬盘扩容
 成功进入桌面


VirtualBox ubuntu16 硬盘扩容
 

相关文章:

  • 2021-11-10
  • 2022-12-23
  • 2022-12-23
  • 2021-08-25
  • 2022-01-16
  • 2021-05-20
  • 2021-06-18
  • 2021-10-13
猜你喜欢
  • 2021-09-29
  • 2022-12-23
  • 2021-07-27
  • 2018-11-20
  • 2022-12-23
  • 2021-12-29
  • 2021-08-15
相关资源
相似解决方案