技术解析
我有一台 xps 15 9570 的笔记本,512G 硬盘,因为硬盘不够用所以买了一块 1T 的西数 SSD,费了一晚上时间把原有的数据备份到新硬盘,现在分享一下踩过的坑,希望能帮到有需要的人
我总共尝试了 3 种方法:
第一种 dd 是直接拷贝硬盘,速度极快我观察到的平均速度有 800M/s,但是生成的新硬盘大小变为 400G 了,还不好调整分区大小,所以我到这一步就放弃了
接下来尝试了 tar,照着 https://www.cnblogs.com/skynext/p/4023117.html 这篇文章操作的,速度比较慢,估计 100M 的速度吧,大概花了 1 小时同步完 400G 数据,不过同步完数据之后我重启系统发现不能引导新的硬盘,所以又格式化了
最后才意识到是引导的问题,但是又不想花 1 小时去复制数据,所以从网上找了一个 rsync 的命令,https://www.ostechnix.com/backup-entire-linux-system-using-rsync/ 照着做了一下速度还挺快,20 多分钟就把 400G 数据同步完了,接下来要做的就是修复引导
mount /dev/sda3 /mnt/
mount /dev/sda1 /mnt/boot
arch-chroot /mnt
编辑 /etc/fstab,修改对应分区的 uuid,可以通过 blkid 命令查看
# 生成 efi 文件
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
# 生成 ramfs
mkinitcpio -p linux
# 生成新的 grub.cfg 文件,生成完之后检查一下对应启动盘的 uuid 是否正确
grub-mkconfig -o /boot/grub/grub.cfg
以上操作执行完就得到了一块可引导的,包含完整数据的备份硬盘了,接下来设置 bios,给这块新银盘添加一个引导记录,开机按 F2 进入 bios,找到 boot sequence,添加一个 UEFI 引导记录(找到对应的 efi 文件,/boot/EFI/GRUB/grubx64.efi),然后保存开机就能进入了。