Ubuntu14.04.2+Vmware9.0扩展磁盘分区

    在Vmware 9.0下安装了Ubuntu 14.04.2 Desktop LTS版本,接着下载了Ubuntu内核源码树并用该源码编

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名雅安服务器托管、营销软件、网站建设、逊克网站维护、网站推广。

译了内核,完成后又想在Ubuntu系统下安装源码阅读工具以及一些其他一些辅助工具,结果发现磁盘空间不

够了,总不能重新安装系统把这些动作重来一遍或者拷贝大量的数据吧?这实在是太浪费时间了。还好,

Vmware为我们提供了便利。

    这里,其实我最终的目标是要达到扩大磁盘分区的容量。这要分两步来走:

    第一步,要扩大安装Ubuntu系统时所创建的磁盘的容量。

这可以很方便的通过Vmware自身的工具来完成。操作步骤如下面两图:

Ubuntu 14.04.2 + Vmware 9.0扩展磁盘分区

Ubuntu 14.04.2 + Vmware 9.0扩展磁盘分区

填入自己最终想要的磁盘容量大小,这个操作步骤很容易也很快就完成了。更多关于Vmware磁盘操作的

细节可参考Vmware软件help目录下的文档或Vmware官方网站文档。

    第二步,接下来使用工具GParted来扩展磁盘分区的容量。

    到SourceForge去下载GParted的ISO镜像、文件。配置Vmware的CD/DVD(IDE)项,载入该ISO镜像文

件,并同时勾选上"Connect at power on"(这个很重要),否则即使Vmware BIOS里设置了光盘引导,

也不会由GParted镜像文件引导系统,后面的一切自然无法进行。

    接下来配置Vmware BIOS的BOOT优先级,将CDROM设为第一优先级。Vmware 9.0进入BIOS的快捷键是F2,

我疯狂的按啊,也没能进去,这是我暂时没能搞明白的问题,有网上文章说这是启动速度太快的原因,但事

实并非如此,因为至少有2个事实做为佐证来否认这个判断:第一,我有过在Vmware 9.0按Esc键选择启动设

备成功的经验,而这次无论怎么按Esc键都无法成功;第二,通过修改.vmx配置文件加长启动延时,仍然没

能够成功。我这里是采用修改Vmware的配置文件的方法来进入Vmware BIOS的。打开Guest OS(我这里是

Ubuntu 14.04.2)所在的目录,找到后缀为.vmx文件,用文本编辑器打开它,在其最后一行添加一句:

bios.forceSetupOnce="TRUE"

上面的可以强制启动一次BIOS,之后再启动系统不会再进入BIOS。事实上,Vmware是通过更新.vmx配置文件

将该配置项的值置为FALSE来做到的。另外,在你添加上面的语句到.vmx配置文件之前,你需要先确认.vmx

文件中没有bios.forceSetupOnce配置项,如果该配置项已经存在,将它的值直接修改为TRUE就行了。如果

重复配置该项,启动Guest OS时Vmware会报错。

    下面是配置Vmware BIOS的截图,将CD-ROM Drive配置为首选启动设备。

Ubuntu 14.04.2 + Vmware 9.0扩展磁盘分区

接下来会进入到GParted进行最后的步骤:磁盘分区扩展。

根分区扩展前的截图:

Ubuntu 14.04.2 + Vmware 9.0扩展磁盘分区

根分区扩展后,重建扩展、交换分区后的截图:

Ubuntu 14.04.2 + Vmware 9.0扩展磁盘分区

上面的截图显示/dev/sda1分区已经被扩展为36.48GiB。在进入上面的画面前会有针对一些针对GParted的配

置或选择,全部选择默认的即可(就是直接敲回车键)。

    我原本的磁盘分区非常简单,只有一个位于主分区的根分区、一个位于扩展分区的交换分区。由于扩展

前两个分区的空间都是紧挨着的,如果要扩展,需先将原来的扩展分区(包括其中的交换分区)删除,然后

用Resize/Move菜单来扩展主分区从而扩展根分区的大小,剩下的空间分别用于建立新的扩展分区,并从扩

展分区中重新建立交换分区,最后用Apply菜单真正的将更改写回磁盘,完成后退出GParted工具。

    完成上面的两步后,重启系统,系统已经能够工作了。但我们依然还有些收尾的工作要做,在启动界面

的会看到一个提示信息,如下图:

Ubuntu 14.04.2 + Vmware 9.0扩展磁盘分区

上面的提示信息是说有UUID=9f8f36cb-4a9f-4aab-97bd-b27b86f86f00磁盘驱动器没有准备好或者根本不存

在。这样的信息够吓人,但好在我们还能进入系统。UUID应用于磁盘管理,是为了避免在多个磁盘或者其他

磁盘驱动器加载顺序变动造成的混乱,将每个分区用唯一的UUID来标识,这样可以避免这样的问题。

    回到我们的问题,到底是什么造成了这个提示信息呢?因为和磁盘驱动器加载有关,所以我先查看了配

置文件/etc/fstab,发现提示信息中UUID对应于swap分区的配置项;然后又用sudo blkid查看了重新调整了

分区后swap的UUID,发现swap分区的UUID已经发生了变化(这是必然的,因为UUID是唯一的,UUID的生成规

律是根据系统时间等等等等结合产生的)。到此,问题明了了,提示信息里UUID对应的旧的swap分区已经不

存在了,要解决这个问题,需要将/etc/fstab中的swap分区的UUID更改为新的UUID。另外,由于Ubuntu系统

从休眠状态唤醒也使用到了swap分区的UUID,所以还需要修改配置文件

/etc/initramfs-tools/conf.d/resume,否则系统将无法从休眠状态正确恢复,系统会重启。将该配置文件

中swap分区的UUID更新为新的swap分区UUID,然后运行命令

sudo update-initramfs -u -k $(uname -r)

更新目录/boot/下当前内核对应的initrd.img-xxx镜像文件,如果你有多个内核镜像在/boot目录下,要用

-k参数指定你想要更新的内核版本,否则只会更新默认启动的内核版本的对应文件,而不是更新你当前运行

内核的对应文件initrd.img文件。

    至此,修改完成,重启系统后,前面的提示信息不会再出现了。

    至此,磁盘分区的扩展工作告一段落。当我们不能就此止步不前,是吧?学海无涯啊!除了上面提到的

磁盘工具外,Ubuntu另外还有些其他工具很是值得学习,如lsblk会打印磁盘block的一些信息,fdisk可以

查看磁盘挂载,使用状况,磁盘分区等,mkfs在磁盘上建立Linux文件系统,tune2fs修改磁盘的文件系统信

息。另外一些关于和磁盘信息相关的文件,如/dev/disk/by-uuid,/proc/磁盘信息文件等等等等。


网页名称:Ubuntu14.04.2+Vmware9.0扩展磁盘分区
链接URL:http://ybzwz.com/article/ppjggs.html