(详细讲解)解决ubuntu根目录/和用户目录/home分区过小(从新挂载home以及其余目录)

问题描述

  安装系统的时候根目录/和用户目录/home分配空间不够。
不少教程讲了扩容分区,然而在界面下不少目录我根本无法卸载。
能够经过从新挂载一些目录来解决此问题,注意
  不要尝试直接修改根目录/的挂载点,不要尝试将/bin, /sbin, /lib, /etc, /dev挂载到其余分区,只须要将所须要大空间的目录挂载到大容量的分区
  须要使用gparted工具node

解决方法

决定须要新挂载的目录
新的正确格式的分区
挂载新的分区
拷贝原目录到新的分区
修改挂载点

决定须要新挂载的目录

  若是发现根目录的分区须要扩充,则能够将根目录下的一些目录挂载到其余分区。通常来讲对于桌面用户,/home和/usr两个目录须要的空间较大,缘由为:web

  1. /usr下面的存放大部分程序、部分共享数据、部分程序运行所需的函数库文件等
  2. /home存放的是root用户以外用户的我的文件,如用户设置、桌面、网络下载数据等
    (服务器用户须要挂载/var和/srv等)

新的正确格式的分区

  使用gparted工具将新的分区格式化,通常来讲除swap分区外格式化为ext4格式便可。ubuntu

挂载新的分区

  在gparted找到新分区的分区号,好比/dev/sdb[0-n],而后命令行执行bash

sudo mkdir /mnt/home
sudo mount /dev/sda[0-n] /mnt

  这里我挂载到了/mnt/home下面,固然你能够挂载到其余地方,任意一个已经挂在的目录以及子目录均可以。
gparted图服务器

拷贝原目录到新的分区

  将原来目录的全部内容拷贝到新的分区下面,下面示例拷贝/home目录到/mnt/home下,假设将新的分区/dev/sdb[0-n]挂载到了/mnt/home下网络

sudo cp -a /home /mnt/home

  若是本身想从新挂载的目录较大、磁盘速度不够,这一步很费时,能够再空闲时间操做。ssh

修改挂载点

  下面示例为将/home挂载到以前挂到到/mnt/home的/dev/sdb[0-n]下面
  首先在gparted里面查看新分区的uuid
示例
  而后修改/home的挂载点,系统开机时会主动读取/etc/fstab这个文件中的内容,根据文件里面的配置挂载磁盘
  下图是我损坏系统后重装,而后将/home从新挂载到原来/home的目录下。因为个人这种状况,我在安装系统的时候没有挂载/home,而后直接修改了挂载点,下图最后一行是我装完系统添加的。
示例
  下面编辑/etc/fstab,对于小白使用gedit文本编辑器就能够了async

sudo gedit /etc/fstab

  这样咱们打开了fstab,而后按照顺序来添加新的挂载点便可。下面是顺序编辑器

  1. 设备名或者设备卷标名
  2. 设备挂载目录(/、home、sys等)
  3. 设备文件系统(ext四、ntfs、iso9660、swap 及 auto等)
  4. 挂载参数(auto、exec、ro、rw、user、users、owner、sync、async、dev、suid、noatime、relatime、flush、defaults等等)
  5. 指明是否要备份,(0为不备份,1为要备份,通常根分区要备份)
  6. 指明自检顺序。 (0为不自检,1或者2为要自检,若是是根分区要设为1,其余分区只能是2)。所以要使ubuntu不开机自检,只需将该列的值修改成0便可。

  uuid在gpart里面双击就可查看,好像直接写分区/设备名也可,可是仍是统一格式的好。
  若是不想开机磁盘自检,则将全部挂载的最后一列改成0便可。ide

后记

  不懂或者须要交流欢迎评论。