vmware虚拟机的ubuntu系统下不重新分区而扩大磁盘容量

下载个kivy虚拟磁盘,大小只有9G,由于android SDK占用的巨大容量,很快出现了磁盘空间不足的现象。
在vmware虚拟机的磁盘设置中,工具里有扩展磁盘容量的选项,将9G改为11G,成功。但这只是增加了ubuntu虚拟机的”物理“硬盘容量,由于分区大小已经设置确定,所以再启动ubuntu 12.10客户操作系统,其文件系统大小并无变化,我们需要适当设置一下,使增加的2G容量为虚拟机所用。方便起见,当然是 不需重新分区格式化和重装, 将原有root文件系统扩大为11G省事了,。
linux下有类似于pqmagic的工具gparted,由于其工作原理,必须在操作系统脱机的状态下使用。在其官网上下载了iivecd镜象。链接地址是:http://jaist.dl.sourceforge.net/project/gparted/gparted-live-stable/0.16.1-1/gparted-live-0.16.1-1-i486.iso
大约136M左右。
现在把iso镜像插入ubuntu启动光驱。启动时,按F2可进入vmware bios设置,按esc键则可进入启动设备选择。悲剧的是,由于host机性能强劲,vmware启动bios画面一闪而过,无法适时按下F2或Esc键。怎么办呢?
打开kivy.vmx,就是虚拟机的配置文件,在里面加入一行:
bios.forceSetupOnce = "TRUE"。
好了,现在重启kivy,会自动进入bios设置界面,需注意的是,在启动之后,此选项会自动被设为FALSE,下次除非重新修改,否则不会自动再次进入BIOS,这其实是个很贴心的设置。
设了CD为第一启动设备,启动,进入了gparted分区界面。
从上到下,sda1开始,是主分区,也就是根文件系统所在分区,下面扩展分区里是1.73G的swap分区sda5。再往下方,是未使用的磁盘空间,也就是增加的2个G。现在,我们要把这2个G合并入主分区的sda1中去,使其容量扩大为9G(扣除swp分区占用的1.7G)。
由于swap分区隔在原root分区和新增加的2G之间,所以为 使磁盘扇区连续起来, 首先要删除swap分区,删除扩展分区, 此时只留下了原root分区和未使用的硬盘空间。可以调整根分区大小了,选中原root分区,选择调整分区大小,将在大小增加2个G,只留下swap分区要使用的容量(还是1.7G左右)。应用,成功。
然后把剩下的空间创建扩展分区,创建swap文件系统,1.7G左右。成功。
现在重启ubuntu虚拟机,重启时闪过个错误,暂不管它,进入系统,用df察看,空间已确实增加,且原应用程序不受影响。
现在最后一件事,来处理刚刚启动时的警告错误。由于ubuntu使用uuid来标识分区,而我们删除了swap分区后又重建,这会导致uuid变化。但fstab中的uuid仍为原来的值,所以会导致警告错误。由于原根分区只是扩容并未重建,所以/文件系统的uuid并无问题。
我们用sudo ls -l /dev/disk/by-uuid显示当前分区的uuid值:
kivy@kivy-VirtualBox:~$ sudo ls -l /dev/disk/by-uuid
[sudo] password for kivy: 
总用量 0
lrwxrwxrwx 1 root root 10  7月 28 20:31 09720673-41ee-4ab6-810e-eefc5d30c9e9 -> ../../sda1
lrwxrwxrwx 1 root root 10  7月 28 20:31 5cbec128-2b04-454d-aebe-921bf8573714 -> ../../sda5
与/etc/fstab里注册的值进行比较,发现sda1一致,而sda5的uuid确实不同。现在sudo vi /etc/fstab,修改其中sda5的uuid值为调整后的swap分区uuid值,用w!强制写入,退出,重启,OK了,警告也没有了。


转自:http://blog.163.com/squall_smile/blog/static/60349840201362885726180/

你可能感兴趣的:(Linux)