Vmware Linux虚拟机磁盘扩容方法
我的LINUX版本是ubuntu12.04 32bit。今天在下载android源代码的时候发现自己最初给这个虚拟机分配的磁盘空间不足了(只有20G)。所以就需要给磁盘扩容。网上大致搜索了一下,主要有两种解决方法:一,另建一个磁盘;二,给原有的磁盘扩容。我选择第二种方案。
1,关闭虚拟机。进入要扩容虚拟机的设置界面,在设备框中选择磁盘,然后选择实用工具,再选择扩容选项。在跳出来的方框中输入你要扩容后的磁盘大小。我填写的是60G。
PS:这里需要注意一点:如果你曾经给虚拟机建立过快照,那么你必须删除所有的快照才能按照此方法扩容。删除快照方法:虚拟机->快照->快照管理,选中快照点击删除即可。
2,只需要上面的步骤我们的虚拟机就扩容了么?当然不是!由于LINUX系统的特性,我们还需要自己手动去为新分配的磁盘空间建立分区、挂载设备等。下面开始详细介绍配置过程。
①以root身份登录系统(或进入系统后输入sudo su,切换到root模式),输入如下命令:
#fdisk -l 就可以看到自己磁盘的分区、挂载等信息。 我们可以看到,显示的列表中有一个ID = 5 system = extern的分区/dev/sda2。 这就是我们刚扩展的磁盘空间。 还有一个id = 82 system = Linux swap / Solaris的分区,这是系统交换分区/dev/sda5。 以及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目录里面吧!