Ubuntu分区扩容

其实网上有很多关于扩容的文章,但是没有解决我的问题所以当扩容后成功后还是决定做个记录方便解决类似问题。不论是虚拟机还是物理机的扩容都可以试试下面的方法。

问题分析

Ubuntu的图形界面非常直观,上手难度也不大,所以使用VM虚拟机装了个Ubuntu系统,搭建专门跑实验室的一些linux软件环境,用到后面 / 挂载的磁盘仅剩500M不到,根本不够用就很难受。但是重配环境又很麻烦所以还是决定扩容分区。

扩容首先得有空间,虚拟机就直接如下图般添加空间即可(需要删除所有快照),如果有未分配的空间直接拿来用不用此步。

物理机的话就准备新的硬盘挂载分区。实在不行也可以从其他分区挤出些空间。

注意除非是windows的动态磁盘,否则分区物理分配逻辑是从左到右的顺序,不可以跨分区分配给其他空间。

Ubuntu有图形分区工具 gparted ,我这里添加了20g的空间(固态空间剩的不多了,所以也没扩多少)

所以搞过windows分区的话看起来很快就能搞定,图形界面点两下就完事了。

上锁的分区需要卸载后操作完毕再挂载。

# 查看挂载分区空间命令
df -Th
# 安装 分区工具 
sudo apt-get install gparted

文件系统       类型      容量  已用  可用 已用% 挂载点
udev           devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs          tmpfs     391M  2.2M  389M    1% /run
/dev/sda6      ext4      9.4G  8.4G  475M   95% /
tmpfs          tmpfs     2.0G  111M  1.9G    6% /dev/shm
tmpfs          tmpfs     5.0M  4.0K  5.0M    1% /run/lock
tmpfs          tmpfs     2.0G     0  2.0G    0% /sys/fs/cgroup
/dev/loop1     squashfs  2.5M  2.5M     0  100% /snap/gnome-system-monitor/163
/dev/loop2     squashfs  219M  219M     0  100% /snap/gnome-3-34-1804/66
/dev/loop3     squashfs  219M  219M     0  100% /snap/gnome-3-34-1804/72
/dev/loop4     squashfs  640K  640K     0  100% /snap/gnome-logs/103
/dev/loop5     squashfs  2.5M  2.5M     0  100% /snap/gnome-calculator/884
/dev/loop6     squashfs  242M  242M     0  100% /snap/gnome-3-38-2004/70
/dev/loop7     squashfs  2.5M  2.5M     0  100% /snap/gnome-system-monitor/160
/dev/loop0     squashfs  640K  640K     0  100% /snap/gnome-logs/106
/dev/loop10    squashfs   66M   66M     0  100% /snap/gtk-common-themes/1515
/dev/loop9     squashfs   56M   56M     0  100% /snap/core18/2128
/dev/loop11    squashfs  768K  768K     0  100% /snap/gnome-characters/726
/dev/loop12    squashfs  768K  768K     0  100% /snap/gnome-characters/723
/dev/loop13    squashfs   62M   62M     0  100% /snap/core20/1081
/dev/loop14    squashfs   56M   56M     0  100% /snap/core18/2074
/dev/loop15    squashfs   33M   33M     0  100% /snap/snapd/12883
/dev/sda1      ext4      268M  118M  132M   48% /boot
/dev/loop16    squashfs   33M   33M     0  100% /snap/snapd/12704
/dev/sda3      ext4       15G  5.2G  8.2G   39% /home
/dev/loop17    squashfs   62M   62M     0  100% /snap/core20/1026
/dev/loop18    squashfs   65M   65M     0  100% /snap/gtk-common-themes/1514
/dev/sda4      ext4      3.9G   63M  3.6G    2% /tmp
/dev/loop19    squashfs  2.5M  2.5M     0  100% /snap/gnome-calculator/748
tmpfs          tmpfs     391M   40K  391M    1% /run/user/1000
/dev/loop20    squashfs  243M  243M     0  100% /snap/gnome-3-38-2004/76

一开始我是想直接把home分区(看上面的记录 home分区基本没用多少)复制挂载到扩容硬盘新建立分区。然后把home分区删除分给 /。 但是也不知道当时为啥这么憨😓 装系统时 home 交换空间 tmp boot都拿来做主分区,拿一个10g的逻辑分区挂载 / 。而且系统分区表选的是mbr导致一个磁盘置多四个主分区。所以这个计划根本不可行,不能在当前系统下操作加新主分区。(我在当前系统下肯定是不太好操作当前系统的磁盘的)

回想起windows有pe工具,说不定Ubuntu也有类似的工具。网上一查ubuntu启动盘自身就是一个linux系统,可以直接使用这些linux软件包,说干就干准备启动盘。

解决步骤

  • 如果是虚拟机:

    找到安装该系统对应的iso镜像,并在虚拟机硬件设置中选项cd/dvd中选中该镜像并勾选启动时连接时。然后如下图直接进bios设置启动项即可。

  • 如果是物理机,就跟装系统一样做一个你当前主板bios能识别的启动盘即可,镜像要与当前系统一样,这里就不赘述启动盘的制作了。之后进入bios设置启动盘。

成功进入启动盘后,选择试用Ubuntu就进入到启动盘中的linux系统了,由于与主硬盘分离所以可以操作挂载的路径分区等。

同样的进入 gparted中,没有就联网安装一个。

接下来就可以随心改变分区了不过有几个注意点,重要数据一定要先备份,数据无价。(虚拟机的话直接加个快照,有问题就还原回来)

  • 有些仍挂载的分区上锁状态要先禁用或卸载,之后再启用或是挂载 例如我的swap交换空间。

  • 逻辑分区的大小扩容要先扩容其主分区大小,再操作逻辑分区 例如我这挂载 / 的sda6扇区就是逻辑分区。

  • 移动分区时,如果改变了扇区头要注意该扇区内是否挂载了 boot uefi等启动分区可能回造成启动项无法识别。

    ​ 您可以在GParted FAQ中学习如何修复启动配置。http://gparted.org/faq.php。我使用的mbr分区表没有uefi启动分区,bios是单独的扇区挂载上去的所以可以放心操作。

最后扩容就完成了,图形界面的操作没啥说的。只能感叹linux的强大,windows to go要是也能如此功能强大、配置方便就好了。