个人LINUX版本是ubuntu12.04 32bit。今天在下载android源代码的时候发现本身最初给这个虚拟机分配的磁盘空间不足了(只有20G)。因此就须要给磁盘扩容。网上大体搜索了一下,主要有两种解决方法:一,另建一个磁盘;二,给原有的磁盘扩容。我选择第二种方案。linux
1,关闭虚拟机。进入要扩容虚拟机的设置界面,在设备框中选择磁盘,而后选择实用工具,再选择扩容选项。在跳出来的方框中输入你要扩容后的磁盘大小。我填写的是60G。android
PS:这里须要注意一点:若是你曾经给虚拟机创建过快照,那么你必须删除全部的快照才能按照此方法扩容。删除快照方法:虚拟机->快照->快照管理,选中快照点击删除便可。ubuntu
2,只须要上面的步骤咱们的虚拟机就扩容了么?固然不是!因为LINUX系统的特性,咱们还须要本身手动去为新分配的磁盘空间创建分区、挂载设备等。下面开始详细介绍配置过程。vim
①以root身份登陆系统(或进入系统后输入sudo su,切换到root模式),输入以下命令:工具
#fdisk -lspa 就能够看到本身磁盘的分区、挂载等信息。 虚拟机 咱们能够看到,显示的列表中有一个ID = 5 system = extern的分区/dev/sda2。it 这就是咱们刚扩展的磁盘空间。io 还有一个id = 82 system = Linux swap / Solaris的分区,这是系统交换分区/dev/sda5。table 以及id = 83 System = Linux的分区,/dev/sda1,这就是扩容前使用的磁盘分区。 |
②我遇到的状况,跟其余人不太同样,由于在个人虚拟机的系统swap分区(/dev/sda5)和系统原磁盘分区(/dev/sda1)之间只给我预留了1024block的空间(怎么看出来的呢?在fdisk -l 命令的输出结果中 有start和end标识,start表示该分区的开始block号,end表示结束block号,稍加分析就计算出来了)。可是我新加入的磁盘可远远不止这么一点!因此我必须删除这个swap分区,这样才能进行后面的操做。
③如何删除swap分区呢?
# fdisk /dev/sda #m (列出linux磁盘工具的帮助信息) #d (表示要删除分区) #Partition number(1-4): 5 (由于前面说了个人swap分区的sda号为5,这就表示要删除第5个主分区) 到这里就删除了swap分区了,能够输入命令p查看修改结果。 #w (表示保存修改,这一步是必须的!) |
④删除swap分区以后,咱们就能够将exern分区更改成主分区了。
#fdisk /dev/sda #n (增长分区) #p (增长主分区) 设置分区号 #回车便可 设置分区开始block号 #回车便可 设置分区结束block号 #默认值 - 900000 (这里很重要,咱们要预留90万block的空间来从新创建swap分区) #w (保存) 经过上面的操做咱们就创建好了主分区/dev/sda2了 |
⑤如今从新建立swap分区并完成格式化和挂载
首先,按照第四步的方式建立第三个主分区 而后将这个主分区改文swap分区 #fdisk /dev/sda #n #t (修改系统ID) #3 (表示要更改的这个主分区的sda号为3) #82 (改为swap的ID标示号) #p (打印修改后的分区结果) #w (保存)
到这里就能够重启一下系统了~~
重启后,一样以root权限执行以下命令 格式化: #mkswap /dev/sda3 开始查看和加载 #free (查看) #swapon /dev/sda3 #free
|
⑥分区的建立工做算是完成了,下面要作的就是将新建的主分区2挂载到文件系统中。
首先格式化主分区2 #mkfs ext4 /dev/sda2 (由于Ubuntu12.04的文件系统是ext4的,因此这里参数为ext4,若是不清楚本身的文件系统版本的话,能够经过命令mount查看/dev/sda1的type值,该值就是文件系统版本)
而后在本身的用户根目录中建立一个目录 切换到普通用户模式 $mkdir /home/(你的用户名)/ExternDisk (这个目录就是咱们新加入磁盘空间的“根目录”了,须要注意的是,这里不是以root身份执行的命令!) 切换到root模式 #mount /dev/sda2 /home/(你的用户名)/ExternDisk (挂载分区到该目录) #df -h (查看挂载后的分区状况) |
⑦设置开机自动挂载
修改/etc/fstab分区表文件 #vim /etc/fstab 在文件最后加上 /dev/sda2 /home/(你的用户名)/ExternDisk ext4 defaults 0 0 而后保存退出, 重启便可! |
如今虚拟机的磁盘扩容工做已经完成了!有大文件的话就把它移动到这个/home/(你的用户名)/ExternDisk目录里面吧!