archlinux 老电脑到新电脑 无痛迁移

笔记本主板把 secure boot 安全启动禁用

首先要准备 两 个 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 ,要在 同一个网里面(无线有线都行) ,要能互相 传数据 

如果你老电脑是在vmware 里面安装的 arch ,进入live cd 就 点击 虚拟机的电源 -打开电源时进入固件, 然后选择 从上往下第3个选项 , 就能进入 live cd 环境了 

然后 进去 以后

用 passwd 命令 都给 设置上root 密码  ,还有 使用 ip a 命令 临时 修改 一下ip ,互相ping 一下能通 

  用 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 --exclude="/home/ifnk/.cache(这个是你想排除的文件夹,可以写多个excludes )"  -aviHAXKh --partial --delete (老电脑的ssh地址比如10.168.1.199):/mnt/  /mnt

 

等1个多小时(根据你的网速还有系统文件大小决定)

 

注: 为了传输速度 我用网线 把两台笔记本直连 ,速度能有 40m/s  

这样需要你网线插两个笔记本口上,然后 分别 设置  ip a add 192.168.1.11/24  和 ip a add 192.168.1.22/24  (ip 随便定 两个ip 在一个网段就行)  然后 就应该能ping 通了,

 

然后 其中一个需要 设置密码  passwd (默认是root)  ,这样就能使用 rsync 直接传输 达到最快的速度

 

然后 在新电脑 上面 执行 

 

生成 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              # 重启


重启前要先拔掉优盘,否则你重启后还是进安装程序而不是安装好的系统

迁移到vmware 需要注意的

如果你 按照上面的步骤 把 老电脑的 系统 迁移到你的 vmware 虚拟机里面 ,会发现进不去系统 

这个时候 需要在开机时 进入 第二个选项(advanced options for archlinux ) 默认是第一个 (arch linux )  , 然后 在选择 fallbacks 项启动  ,这样就能进入系统了 ,然后 进入系统后需要  重新 mkinitcpio -P 生成  initramfs , 以后 就可以正常启动啦 

附带:  启动后第三个选项 uefi firmware settings 后进入vmware bios 选择  cd-rom (大概是第三个) 就能以 live-cd 启动 ,我之前是傻傻的重新 装了一遍 live-cd ……

 

装完记得  安装 open-vm-tools   然后 启动 并 启用 vmtoolsd.service 和 vmware-vmblock-fuse.service 

posted @ 2021-12-12 21:07  ifnk  阅读(677)  评论(0编辑  收藏  举报