archlinux 老电脑到新电脑 无痛迁移
首先要准备 两 个 u 盘 ,装上 live cd
linux 下是 使用 dd 命令
用U盘替换 /dev/sdx,如 /dev/sdb。(不要加上数字,也就是说,不要键入 /dev/sdb1 之类的东西)
dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx status=progress && sync
windows 下 下载 个 refus 就好啦 ,按照提示 就作出来了
然后 在 老电脑 和新电脑 上面 都 跑起来 live cd ,要在 同一个网里面(无线有线都行) ,要能互相 传数据
然后 进去 以后 用 mount 挂载 硬盘
我这里是 分了3 个区 ,就挂3 个
老电脑新电脑都这么挂 (新电脑先给硬盘分区 在挂载,老电脑 已经分好了, 直接 挂载就行)
$ df -h
文件系统 容量 已用 可用 已用% 挂载点
dev 3.8G 0 3.8G 0% /dev
run 3.8G 1.3M 3.8G 1% /run
/dev/nvme0n1p2 147G 28G 112G 20% /
/dev/nvme0n1p3 320G 20G 285G 7% /home
/dev/nvme0n1p1 799M 156K 799M 1% /efi
mount /dev/nvme0n1p2 /mnt
mount /dev/nvme0n1p3 /mnt/home
mount /dev/nvme0n1p1 /mnt/efi
然后在新电脑 执行 rsync 命令
rsync -aviHAXKh --partial --delete (老电脑的ssh地址比如10.168.1.199):/mnt/ /mnt
等1个多小时(根据你的网速还有系统文件大小决定)
然后 在新电脑 上面 执行
生成 fstab 文件
fstab 用来定义磁盘分区
genfstab -U /mnt > /mnt/etc/fstab
把环境切换到新系统的/mnt 下
arch-chroot /mnt
安装微码 如果你 老电脑是 amd 新电脑是 intel 的cpu 和老电脑不一样就 安装 ,一样就不安装 了
pacman -S intel-ucode #Intel
pacman -S amd-ucode #AMD
安装引导程序
pacman -S grub efibootmgr #grub是启动引导器,efibootmgr被 grub 脚本用来将启动项写入 NVRAM。
grub-install --target=x86_64-efi --efi-directory=/efi --removable
最后生成 GRUB 所需的配置文件
grub-mkconfig -o /boot/grub/grub.cfg
完成安装
exit # 退回安装环境# umount -R /mnt # 卸载新分区 reboot # 重启
重启前要先拔掉优盘,否则你重启后还是进安装程序而不是安装好的系统