系统盘迁移小记

帮舍友迁移系统(Win10)。新买的固态,需要把hdd上的C盘完整复制过去。

舍友电脑上没有ngff接口,所以买了sata口的固态,需要把原硬盘挪到光驱位,再把固态放到原硬盘位。

硬件搞定直接开机,还是从机械硬盘启动,给固态指定盘符然后测速——固态倒是没什么问题,但后来才意识到这一步正是作死第一步。

在PE使用某分区助手直接迁移系统。因为光驱位是sata2的,所以速度特别慢。所以下次可以考虑直接上usb3.0的硬盘盒来做这一步。

迁移完系统,PE修复UEFI引导(在固态上之前预留的区),指定了从固态启动,BIOS指定启动的EFI。结果开机发现还是从机械启动的。于是把机械硬盘的C盘格了——作死第二步。

再开机始终卡黑屏,就一个鼠标。反复强制重启两次以后出现磁盘修复界面,“Windows正在扫描并修复磁盘(G:)”。

愣了一秒以后意识到,出大事了。测速时候给固态指定的盘符G,一定以某种方式记录在了系统中,Windows试图从G盘启动,但是系统根据盘符认为程序都应该在被格调的机械C盘里,因此只有内核加载了,登陆界面大概永远也不出来了。

Google如何修改盘符,正如猜测,盘符记录在注册表里。根据教程,只需要把System部分拷贝到别的Win下用Regedit挂载就可以修改。奇怪的是无论是PE还是我的Win10都挂载不了我舍友的注册表,显示Error while loading hive.

期间尝试了用十六进制编辑器直接修改注册表文件,未果。后来猜想可能是改的还不够彻底,下次可以尝试用Decoder把二进制解码了再对照修改。

总之,最后用了Win8.1的官方原版安装盘成功挂载上了注册表。这一步是靠运气,因为实在查不到挂载不了注册表的原因,随便试了一下居然成功了。

后面就很简单了。

HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices\

删除全部其中的键值,Win会自动重分配。

经验

  • 迁移系统前如果给新盘分配了盘符一定要记得删除。
  • 保险起见可以在PE里测试新盘。
  • 机械硬盘还是要小心。。。挪完系统舍友的机械硬盘挂掉了,除了C盘数据之前挪到了SSD,剩下全都没了。