日常折腾 -- 迁移archLinux到固态

迁移自己的archLinux到新的硬盘时遇到了很多坑,记一下,说不定以后用的着


思路

  • 借鉴了网上的各种操作,总体的操作思路就是克隆当前的分区到新的硬盘分区中,只是使用的工具各不相同,常见的是使用tar打包或者使用dd直接复制分区

  • tar命令相对于dd来说效率比较低,且还需要手动解压到新分区,好处是留下了一个原系统的备份。个人在使用时还踩了坑,系统的体积比较大,处理器又比较渣,压缩过程中直接变僵尸,浪费了我一个晚上时间等待。

  • dd相对来说比较好用,但是这里有个大坑,使用dd命令前需要自己确保新的分区大小不小于原来的分区,当你使用dd命令时,它不会自己检测大小,而是直接复制,结果复制完了新分区的空间,发现地方不够了才报错... 又是浪费大把的时间。

  • 还有一些可视化工具,像Clonezilla,doClone等,都可以克隆系统,不过个人没有尝试。

解决

  • 使用dd克隆分区之前,先使用gparted进行分区大小调整
    注意: gparted不能安装在当前操作系统中,对于正在使用的分区,它将不能进行压缩操作。因此,需要安装在live USB(即烧录到启动盘)或者其它的Linux操作系统中(对于多系统电脑)。个人使用的ubuntu 20.04的启动盘,上面有预装的gparted

  • 调整好分区大小后不要退出启动盘,直接使用dd命令复制分区到目的位置

  • 踩坑: 由于dd也会将uuid复制,此时原分区的uuid与新分区的相同,如果这时退出启动盘进入系统(不要退出,这条及下条都是我踩的坑),查看系统发现还是挂载的原来的分区(/dev/sda8)。

  • 要想挂载新的分区,就需要改变两者的uuid,但使用这个问题中提供的命令时,发现需要将该分区卸载才能继续。对于正在运行的系统,/home肯定是不能卸载的:

  • 因此,继续在启动盘中进行更改uuid的操作

  • 使用下面命令更新新分区的大小

$ sudo resize2fs /dev/sdb5 
  • 更改完成后,启动系统。挂载分区已经改变。


最后

  • 只迁移了系统的/目录,/boot目录并未迁移。也不影响系统运行速度,迁移/boot可能还需要处理其它几个系统的引导,懒得搞了,以后再说吧。

你可能感兴趣的:(日常折腾 -- 迁移archLinux到固态)