在安装好系统之后, 分区大小基本就固定了, 如果要手动修改分区大小或者数量, 就会有点麻烦.

本文将介绍:

  • 如何修改分区大小, 例如新的硬盘或者需要增删分区.
  • 在固定好分区并且有一定数据之后, 如何将原本在一起的/分区和/home分区分隔开, 并且把home挂载到这个新的分区上.

修改分区大小

如果要压缩分区

Ubuntu可视化系统页面很简单, 下载Gparted.
然后拖动上面的滑条, 或者输入值修改即可.

img

这样就会多出来一个分区.

如果是命令行界面
删除时, 如下操作

1
2
3
4
5
6
7
8
9
10
11
sudo fdisk --list

#进入待调整分区的磁盘设备:

sudo fdisk /dev/sdb

#这将在命令模式下启动 fdisk。你可以随时按 m 来查看选项列表。
p
#输入 p 查看分区信息。q 命令退出。
d
#输入 d 删除一个分区, 编号与"Device"列出的编号对应

如果是扩容分区, Gparted页面很简单, 不多赘述.

如果是命令行界面, 参考我这篇文章. 末尾有记录

挂载新分区

有图形界面时:

如果已经有了分区, 要修改分区挂载情况, 例如要把//home分离开(这样更新或者重装系统就不会影响到用户文件)
步骤如下:

  • 首先, 压缩分区或者新的硬盘, 获得新的分区, 这里假设为sdb1, 如上一条
  • 在Gparted里格式化新的分区sdb1
  • sudo mkdir /media/home, 建立一个备份目录, 可以选其他非home路径
  • sudo mount /dev/sdb1 /media/home. 把/dev/sdb1挂载到/media/home
  • sudo rsync -aXS /home/. /media/home/.. 同步/home到/media/home, 同步时间根据数据量大小决定, 建议在系统空闲时操作.
  • sudo mv /home /home_old. 同步完成后重命名/home
  • sudo mkdir /home. 新建/home
  • sudo umount /dev/sdb1. 取消/dev/sdb1挂载
  • sudo mount /dev/sdb1 /home. 重新挂载/dev/sdb1到home
  • blkid. 查看/dev/sdb1的UUID
  • sudo gedit /etc/fstab. 把UUID复制下来, 修改/etc/fstab文件, 实现开机自动挂载
  • 在文件最后添加如下内容, 记得更改UUID
1
2
# home 
UUID=8da46012-ab9c-434f-a855-2484112fd1a7 /home ext4 nodev,nosuid 0 2

再之后, 重启, df -h查看, 没有问题就可以把原来的home_old删了.

如果没有图形界面, 首先新建和格式化新分区, 参考我这篇文章, 末尾有记录. 然后剩下的命令就和上面一样了.


参考文章

压缩分区
https://blog.csdn.net/liam_dapaitou/article/details/91988983
挂载分区
https://www.cnblogs.com/saszhuqing/p/8716644.html