前言
最近背着算上电脑足有3kg多的包通勤,我也成了习武之人。为了解放我的两个肩膀,趁着这几天在跑数据集,稍有闲暇,我决定把目前主力机的系统迁移到更加轻便的surface上。
迁移的整体思路,大致就是用tar把现有系统打包。然后在surface上安装全新的系统,再将之前打包的系统解压到surface上,最后修改一下grub,host,fstab等设置。
一、打包系统
先用tar打包现有系统
tar -cvpzf /backup.tgz --exclude=/baksys --exclude=/lost+found --exclude=/proc --exclude=/sys --exclude=/tmp --exclude=/dev --exclude=/media --exclude=/mnt --exclude=/run --exclude=/backup.tgz --exclude=/dev --exclude=/boot /
二、安装新系统
按照装系统的流程走即可。值得一提的是我新系统的分区以及hostname均与旧系统保持了一致,以此减少麻烦。
三、迁移系统
3.1解压文件
通过U盘拷贝文件到新系统,进行解压,执行tar -xvpzf /mnt/backup.tgz -C /
3.2修改uuid
下一步,更改uuid。通过指令blkid -o list
查看当前硬盘的uuid
再vim /etc/fstab
,将其中的uuid更改为当前的uuid
针对hibernation device ‘UUID=xxxxxxx’ not found的问题,可以vim /etc/default/grub
,将GRUB_CMDLINE_LINUX_DEFAULT一行的UUID改为swap的UUID,再sudo grub-mkconfig -o /boot/grub/grub.cfg
即可
3.3目录相关错误
reboot之后,我们pacman -Syyu,会报2个错:
1."error: xxx duplicated database entry"
进入/var/lib/pacman/local将xxx文件删除即可。
2."error: xxx exists on filesystem"
输入指令sudo pacman -Syyu --overwrite "*“