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