磁盘空间不足有两种解决方法,另建磁盘或者给原磁盘扩容,这里选择扩容的方法。
1、关闭虚拟机。进入要扩容虚拟机的设置界面,在设备框中选择硬盘,然后选择实用工具,再选择扩展选项。在跳出来的方框中输入你要扩容后的磁盘大小。这里需要注意一点:如果你曾经给虚拟机建立过快照,那么你必须删除所有的快照才能按照此方法扩容。删除快照方法:虚拟机->快照->快照管理,选中快照点击删除即可。
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分区之后,按照步骤③删除system = extern的分区/dev/sda2,我们就可以将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/(你的用户名)/work (这个目录就是我们新加入磁盘空间的“根目录”了,需要注意的是,这里不是以root身份执行的命令!)
切换到root模式
#mount /dev/sda2 /home/(你的用户名)/work(挂载分区到该目录)
#df -h (查看挂载后的分区情况)
⑦设置开机自动挂载
修改/etc/fstab分区表文件
#vim /etc/fstab
在文件最后加上 /dev/sda2 /home/(你的用户名)/work auto defaults 0 0
然后保存退出, 重启即可!
现在虚拟机的磁盘扩容工作已经完成了!有大文件的话就把它移动到这个/home/(你的用户名)/work目录里面吧!