virtualbox下新安装的Ubuntu16,当时只给他分配了固定的15G磁盘,现在已经不够用了,所以想到给他动态扩容。
在网上看了一下,如果磁盘类型是动态的,那么扩容只需要打开设置,点点就可以了,但我这里是固定大小磁盘,所以无法再次在设置里修改。
好在找到了一个自称“linux大神”的“linux大神博客”,他给出了如何为固定大小的virtualbox硬盘进行扩容,并且按照他的方法成功实现了,文章链接。这里只记录一些针对自己情况的补充。
- 原理:新建一个比原来固定磁盘容量大的固定或动态磁盘,通过dd命令将旧磁盘中的内容拷贝到新磁盘中,然后移除旧磁盘,使用新磁盘,即实现了磁盘的扩容。
- 将需要扩充磁盘的系统关机!
- 你得提前准备一个linux安装包,使用dd命令复制旧磁盘内容时,被操作的linux系统不能运行,所以只能在另外的linux环境下进行,不过我们不需要安装他,只需要在预览(试用)模式下就可以使用dd命令。
- 磁盘复制ok后,需要通过gparted分区工具进行适当的操作才能开始使用新磁盘:
当我们打开gparted工具后,应该会如下图所示,有unallocated的大小存在,其中btrfs是系统所在分区(后面有boot字样),File System为linux-swap类型的分区是内存,可以删除:
所以我们要做的事很明显:将unallocated部分附加到系统分区后面,但实际操作时,如果linux-swap分区在系统分区和unallocated分区之间的话,发现无法进行这个操作,这时我们需要把linux-swap分区先删除,和unallocated合并,之后再将整个unallocated分区留出之前linux-swap分区大小的空间,用于最后分配给linux-swap分区,其他的unallocated则全部附加到系统分区后面,以实现扩容!
这里是我已经操作完成后的gparted截图,仅供参考用: