128G 小盘实在不够用,每天都看还剩多少空间提心吊胆。我买了东芝 RC500 256G 把原厂盘换下来。128G 盘装进硬盘盒里当资源盘 / Win to go 还不是美滋滋?
首先大部分笔记本都没有俩M2槽,要想换成新盘就要把老盘上的系统转移过去,就必须能同时读取两个盘的数据。因为老盘是 PCIE 协议的,我就上淘宝上买了个金胜的40块钱的硬盘盒。
新盘装上,老盘拆下来装进硬盘盒。对拷期间两个盘都不能用,所以我就拿之前烧录的 ArchISO U盘当临时系统。三个盘全部插上,启动项选择 ArchISO。
我把两个对应的根目录分区挂在 /mnt/old/
和 /mnt/new
上。因为我不准备复制 /boot
所以就没挂载 EFI 分区。反正我的 /boot
里没什么配置,只是内核文件和我再不想要的 refind
。
我原来的分区方式是 一个 ext4 区挂载到 /,一个 EFI 区挂载到 /boot,直接使用 EFISTUB 启动。
Arch Wiki 上建议使用 rsync
进行数据复制。
我按着 Wiki 上写的运行
rsync -qaHAXS /mnt/old /mnt/new
等了十几分钟之后复制完了,然后 cd
进 /mnt/new
之后发现怪怪的……
/mnt/new/
里面还有个 old
文件夹,里面才是原来的数据。
想了想也很正常,平时 cp
一个文件夹也是这个行为。
不过 rsync
的语法与 cp
不同。
如果在源目录末尾加一个 /
运行:
rsync -qaHAXS /mnt/old/ /mnt/new
就是我想要的效果了。这会把 old
目录下的所有文件放到new
里,而不是再创建一个文件夹。cp
没有此行为。
然后就可以卸载旧盘了,为了方便我把两个都卸载了,然后把新盘重新挂载到/mnt
。
然后挂载 EFI 到 /mnt/boot
上。
然后用 genfstab /mnt -U > /mnt/etc/fstab
重新生成挂载文件,并检查一下。
arch-chroot
进去,重新 pacman -S linux intel-ucode
,/boot
下的必要启动数据就可以恢复了。
最后用efibootmgr
加上新盘的启动项,重启完事!