jinhailang / blog

技术博客:知其然,知其所以然
https://github.com/jinhailang/blog/issues
60 stars 6 forks source link

虚拟机分区扩容(数据无损) #23

Open jinhailang opened 6 years ago

jinhailang commented 6 years ago

创建虚拟机设置磁盘大小时,很难预测未来的使用,导致分配的磁盘大小后续常常不够用。

可以使用命令 df -h 查看挂载的目录空间使用情况。

因为我的根目录(boot 目录,挂载到 /dev/sda1 分区)空间不够,导致软件安装失败,出现空间不足的错误。扩容之后效果下:

image

设置步骤

1)对虚拟机备份: 直接将虚拟机所在的文件夹复制一份就行; 2)关闭虚拟机,扩展虚拟机磁盘容量:虚拟机 -> 设置 -> 扩展 -> 设置最大磁盘大小

image

注意,此时虽然虚拟机磁盘更大了,但是并没有挂载进系统,所以,系统还不能识别应该到。可以使用命令 fdisk -l 看到,总的磁盘大小变大了,但是分区大小没有变,增加空间“不见了”。

3)安装磁盘分区工具:GParted,调整分区大小。

有两种安装方式

  • 使用命令 apt-get install gparted 直接安装; 调整非系统分区,可以使用这种方式,更简单,快捷。

4)加载 gparted 的 .iso 文件,选择光驱启动虚拟机。

image

image

image

image

image

5)调整分区大小

image

这里需要特别解释一下,磁盘和分区的关系,就像堵车时,路跟车子关系类似,前面的车子必须预留空间给后面车子,后面的车子才能往前移动。

Free space preceding 就是空出给后面分区的空间大小

因此,如上图,我要调整“最后面的” /dev/sda1 大小,就必须先按顺序调整“前面的” sda8,sda7 等等分区的大小。

注意, New Size 是当前分区的大小,这个值可以不变或调大,但不要调小,否则可能导致数据丢失。 image

6)设置完成后,记得点击 Apply 应用,分区需要花点时间,耐心等待~

7)重启虚拟机, /dev/sda1 分区调整成功

image

end.