虚拟机硬盘容量扩展以及分区挂载详细步骤

我的虚拟机和linux配置:VMware Workstation 12 pro,Ubuntu 14.04 LST。


最开始安装虚拟机和linux系统的时候,一点相关知识都没有,完全都是按照网上的教程一步步来的,至于每一步操作的意思也不是很明白,硬盘设为了20G,没想到如今完全不够用。所以探索了一波如何扩展硬盘,以及后续如何分区,挂载,写了一个比较全面详细的步骤。


1.扩展硬盘空间


这一部分很简单,而且网上的教程已经很多了,我就随便放了一篇,可能不同的虚拟机版本操作稍有不同,不过大同小异:

 http://jingyan.baidu.com/article/2c8c281df7e3d90009252a6b.html


但是有一个注意的地方,如下图(这个图里显示的容量是扩展之后滴):

虚拟机硬盘容量扩展以及分区挂载详细步骤_第1张图片

有可能提示有快照,而无法扩展,快照即是备份,如果不是重要的备份,完全可以删除,操作如下:

找到虚拟机的快照管理器,然后删除掉,这有啥可说的  ( ̄▽ ̄")  ……总之没有了快照,就可以扩展了!扩展这一步骤不会影响到虚拟机里系统的数据,所以之前的备份删了也没关系吧。

虚拟机硬盘容量扩展以及分区挂载详细步骤_第2张图片



2.分区以及挂载


扩展完进入系统,发现还是老样子唉!因为还没有进行分区与挂载,新增的容量还不能被使用。如果你对于linux系统还比较陌生,可能会懵,但没关系,一步一步魔鬼的步伐,慢慢来就好了。


接下来的步骤可能威胁到虚拟机系统内部数据,建议做个备份,找到系统的文件(.vmx),拷一份出来就好了。万一出了问题,就用拷出来的这份。(不过这是网上教程说的,因为我挂载成功了,所以不知道可行性,按道理是没毛病儿)


理论部分:在开始操作之前,要对系统及空间做一个规划:要做几个分区,分区的挂载点放在哪儿?

别懵!我简单解释一下!


分区,学名叫partition。就是你的硬盘空间的划分,额外一般来说需要一个swap空间还,也就是分的时候记得事先割一小块下来,剩下的自由分!例如说我,原本是20G(19g+1g swap),现在新增40g,那我就按照19g(不用动)+39g+2g swap。

挂载,先看目录,/ 是根目录,这个目录下一般分成/usr,/etc,/home……如图所示:

虚拟机硬盘容量扩展以及分区挂载详细步骤_第3张图片


把目录与分区联系起来的过程,就是挂载,mount!如图所示:

虚拟机硬盘容量扩展以及分区挂载详细步骤_第4张图片


(来自鸟哥的linux私房菜)

这里跟windows的理解不太一样,同一个目录下面的东西可以被放到不同分区


故事是这样的,那天我去吃自助,拿了个20g的小盘子(扩展前的硬盘),盘子里有牛肉鸡肉、菜(根目录下面的目录及文件),诶装了太多再也装不下。可是我还想吃鱼肉(另一些文件),于是把施展技术把20g小盘子换成60g大盘子(扩展后的硬盘),我要去吃东西了,这样合理吗?不合理吧,小盘里放好东西(目录及文件)了,那要吃别的东西,再去另外拿盘子呗,将60g大盘子换成几个小盘子的过程,就是分区;好,我再拿了40g的盘子,还没完事,我得规定一下,这个盘子是用来放鱼肉的,这个规定的过程就是挂载咯!这样,我才能顺利的把鱼肉放到盘子里吃,好辛苦呀哈哈。一个目录下面的东西可以被放到不同分区,即理解为,肉类我可以放在两个盘子里,开心就好。


在分区的时候,需要做一个计算因为在文字界面下我们直面磁盘,跟他说19g他听不懂,一般磁盘用sector来做单位,一个sector是512byte,即0.5kb,故sectors=GBs*1024*1024*2 。那么19g我们命名为分区1,是从sector 0到sector 39845887,计算公式39845887=19*1024*1024*2-1;以此类推39g命名为分区2,是从sector 39845888到sector 121634815,最后分区3是swap的2g,从sector 121634816到sector 125829119。


在挂载的时候呢,就需要考虑那个分区要挂载在那个目录下的问题,要注意一个点,被挂载到新分区的目录最好是空目录,如果含有文件及子目录,被挂载到新分区上的时候,这些文件和子目录会被隐藏起来,以上图的目录树为例,如果将/home/bird挂到新增了的比如分区5上面,那test就会不见,所以最好先建一个空目录!例如,原先我的很多个人文件都放在主目录/home/joy下,新增的空间也想放到这里,于是新建了一个/home/joy/0_slam(搞slam用)空的子目录,现在就要将分区2挂载到/home/joy/0_slam上头。


理论部分全舒展开了,接下来是操作!


linux系统开机,新建一个空目录,以供挂载。我的就是/home/joy/0_slam咯


打开文字界面,ctrl+alt+f2(f1~f6是打开文字界面,我习惯f2,f7是图形界面,ctrl+alt+f7可回到图形界面)


进入root权限,一定要有root账号密码,我这儿sudo不好使


查看磁盘现状:fdisk -l 如图,一个原始19g,一个扩展的,一个swap,没毛病

虚拟机硬盘容量扩展以及分区挂载详细步骤_第5张图片

分区:进入磁盘管理吧!fdisk /dev/sda,然后看见command后面还有个小光标闪呀闪 —— 输入 p(磁盘现状,跟fdisk -l差不多),d(delete删除分区),n(new增加新分区)

把/dev/sda2和/dev/sda5删掉:command  d回车,会问你要删哪个分区partition number:2回车,分区2就被删了,分区 5也一样操作,删之后可以command p查看一下删除结果,最后记得 command w保存(write的意思),如图(我傻乎乎的把分区1,2,5都删了,现在想想好像没必要,因为分区1没什么需要改变的,容量和挂载点都没有改变,前后都是19g,挂载到根目录上的)

虚拟机硬盘容量扩展以及分区挂载详细步骤_第6张图片


新建分区2,分区3,即/dev/sda2,dev/sda3(swap用):还是要进入磁盘管理(fdisk /dev/sda),command n回车,type p回车(选择分区类型,选primary)number 2回车,接下来!喂醒醒啦!Frist sector 默认就好,end sector 121634815这不是随便编的,还记得之前的计算吗?分区3做同样操作,最后记得command p查看以及command w保存,如下图:

虚拟机硬盘容量扩展以及分区挂载详细步骤_第7张图片

分区最后一步,因为分区3是swap用,需要改变分区的系统id,还是进入磁盘管理,command t回车,partition number选择3回车,hex code 输入82回车,command p查看结果,如果成功command w保存退出磁盘管理,如图:

虚拟机硬盘容量扩展以及分区挂载详细步骤_第8张图片

分区设置完成之后,系统提示要重启或者,命令行输入partprobe回车,是为了更新一下分区,done!


挂载:(swap不需要挂载)在将分区2挂载到目录上之前,需要先格式化一下,很简单mkfs.ext4 /dev/sda2(格式化为ext4格式,大多数情况是这个),然后就可以挂载到一个准备好的空目录上啦,例如我就是mount /dev/sda /home/joy/0_slam;最后是需要设置一下开机挂载,即每次开机都自动帮你挂载好,操作是输入vim /etc/fstab,(这里默认系统里已经安装vim,没有就安一个吧,以后多半会用到,命令行输入apt-get install vim-gtk)用vim打开/etc/fstab,然后写入如下图的第10行和第11行(唉等等,第10行的注释信息好像写错了我,不过还好是个注释,对于系统操作没有影响),然后wq保存(vim的操作就不啰嗦了)
虚拟机硬盘容量扩展以及分区挂载详细步骤_第9张图片  
这样就基本上完成啦,可以键入df -h看一眼分区以及挂载情况,如下图1是之前,图2为以上操作以后的情况(就为了最后一行……):

虚拟机硬盘容量扩展以及分区挂载详细步骤_第10张图片


虚拟机硬盘容量扩展以及分区挂载详细步骤_第11张图片


最后,真的是最后啦呵呵,因为以上都是root执行的,为了以后使用~/0_slam方便,用户组和用户名都是root,还是改变一下该目录的用户组和用户名吧,用chgrp和chown,例如我都改成我的joy,chown joy /home/joy/0_slam && chgrp joy /home/joy/0_slam

你可能感兴趣的:(ubuntu)