随着各种各样的东西越下越多,最近发现根目录所在的分区仅剩下4GB的硬盘空间,根目录下面其中/home占了一半的存储空间,系统已经多次报警,鉴于之前系统崩溃的教训,应该立即对根目录进行扩容或者进行文件删除。

2020-02-28 09-05-38屏幕截图.png
2020-02-28 09-05-38屏幕截图.png

看了一下硬盘的分区表。根目录所在的/dev/sda13已经快满了,相邻的分区也挤不出几个GB的空间了,然后发现了/dev/sd3有100GB,是双系统win10的C盘。win10已经两年多没用过了,就把它格式化掉给/home用。

linux对硬盘分区空间的应用十分灵活,可以把分区挂载在任何地方,这次迁移扩容的核心是把根目录下面的/home移动到/dev/sda3分区上,然后把/dev/sda3挂载在/home的位置,基本上对系统没有什么影响,对应用软件层面没有任何变动。

首先,先把/dev/sda3格式化为ext4,这个用Gparted图形化界面很容易完成。

第二步,准备把/home数据复制到新分区(/dev/sda3)。先将/dev/sda3挂载到/mnt/newhome,为了下一步操作方便,采用修改/etc/fstab的方式

创建挂载点

sudo mkdir /mnt/newhome

修改/etc/fstab其中UUID可以在Gparted中查看。

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda13 during installation
UUID=717b8db6-0934-4d7b-9e9a-c82920adc416 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda1 during installation
UUID=266A-373E  /boot/efi       vfat    umask=0077      0       1
/swapfile                                 none            swap    sw              0       0
UUID=41ccdd73-efd2-4bab-801d-e1f04c4988d6 /mnt/newhome ext4 nosuid,nodev 0 2

sudo mount -a 使配置生效

然后将/home复制到/mnt/newhome为保证万无一失,可以重启到单用户root模式进行复制

cp -aq /home/* /mnt/newhome/
mv /home /home_bk
mkdir /home

等过了很长时间全部复制完成之后,将/home改名为/home_bk以防万一。再次修改/etc/fstab,将/dev/sda3挂载点改为/home

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda13 during installation
UUID=717b8db6-0934-4d7b-9e9a-c82920adc416 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda1 during installation
UUID=266A-373E  /boot/efi       vfat    umask=0077      0       1
/swapfile                                 none            swap    sw              0       0
UUID=41ccdd73-efd2-4bab-801d-e1f04c4988d6 /home ext4 nosuid,nodev 0 2

然后重启,应该就没问题了。

如果确定没问题之后,可以删掉/home_bk用来释放存储空间。