记录一次Ubuntu迁移根目录(/)的过程

原因:由于自己之前装系统Ubuntu系统没有做好合理的分区规划,导致根目录的使用达到93%以上,但是非常庆幸,我的硬盘还有100G没有被分区,所以考虑迁移根分区文件系统到新的分区。以下是具体操作:
1.首先使用parted分区工具,把自己未使用的分区重新进行分区,然后mkfs.ext4写入文件系统,分区大小100G。
2.把新的分区挂载到某个目录,如:mount /dev/sda7 /mnt/sysroot;(我新分区的是名字是/dev/sda7)
3.然后考虑把当前根目录下的文件和文件夹移到到/mnt/sysroot,排除/proc、/sys、/run、/dev等内存临时文件系统,以及一些其他分区的挂载目录,如/home,/boot 等,命令如下:
rsync -av --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/home --exclude=/boot --exclude=/mnt / /mnt/sysroot(因为我的home和boot目录是单独分区,所以排除;另外/mnt目录也需要排除,不然一直复制了)
4. 在新的根目录/mnt/sysroot下创建一些目录,如/boot,/home,/run ,/sys,/dev,/proc,/mnt等
5. 然后执行下列命令绑定挂载临时文件系统到新的根下,然后切换根。命令如下:
mount --rbind /proc /mnt/sysroot/proc
mount --rbind /dev /mnt/sysroot/dev
mount --rbind /sys /mnt/sysroot/sys
chroot /mnt/sysroot
6.切换到新根,需要修改/etc/fstab的文件,因为根分区的UUID变了。
7.修改往/etc/fstab,还需要修改grub的配置文件;先挂载boot分区到boot目录,通过执行grub-mkconfig -o /boot/grub/grub.cnf自动生成新的启动引导程序配置文件。
8.重启系统,见证奇迹。图片如下,之前的根是/dev/sda5,使用了93%;新根是/dev/sda7,仅仅占用18%,2个分区的内容是一模一样。
9.根分区迁移大功告成,以后可以随便造
记录一次Ubuntu迁移根目录(/)的过程