博客 > 硬件&操作系统
# 记一次 UEFI Windows 10 系统迁移 由于老固态只有128G,每天爆红,新固态有将近300G还没有使用,所以考虑把系统迁移到新固态的空闲空间里(下文给出的是一般较好的步骤,毕竟第一次配走了一些弯路,所以没有按过程原样给出,而是总结了比较通用的步骤) > 本教程属于软件洁癖患者的迁移教程,仅使用到了PE系统和DiskGenius,涉及到文件系统和注册表操作。如果是新手,不介意使用分区备份助手之类的软件,请优先考虑使用此类软件。 > 本教程只适用于UEFI引导的老硬盘向新硬盘的迁移,新硬盘无需全空。 > 顺便一提,如果你的系统是UEFI引导的,那就永远不要打开 BIOS/Legacy/CSM 引导,全部使用UEFI。 > 如果使用过refind,手动调整过EFI目录的结构,请自行梳理你的引导逻辑,注意安全。如果没有就最好了。 ### 第〇步 - 事前准备 我原以为我可以不用PE直接办好,后来发现是太天真了。PE系统中操作分区、重建引导,还是比较方便的。PE系统选某桃某店什么都可以。 1. 进入原系统 1. 烧录PE系统。选择较新的PE系统,至少要配备DG(DiskGenius)、支持UEFI启动、支持UEFI重建引导(最好在Windows系统和PE上都配好DG,当然不是必须的,可以全部在PE操作) 1. 用DG调整目标硬盘为GUID分区表。有可能要调整首尾扇区空间,根据DG提示操作即可。 1. 用DG在目标硬盘上划出ESP等分区。 1. 用DG在目标硬盘上划出新系统用的分区,最好与原系统分区先设置成一般大(**扇区级的一般大**,别只看容量)。目标硬盘上如果有已经放了东西的分区,不用管他,很安全,你甚至可以用DG缩减一些它们的空间,留给新系统分区扩容使用,不会影响该分区里的原有数据。如果你想将新系统分区进行扩容,先留好相应的空闲空间(无分区)一会再说。 1. 备份C盘个人资料(可选) ### 第一步 - 备份原系统注册表配置 Windows注册表的SYSTEM项保存在`C:\Windows\System32\config`中,一会儿要对它进行破坏性的修改,因此需要备份。 1. 进入PE 2. 拷贝老系统的`\Windows\System32\config`目录到与迁移完全无关的位置作为备份,注意此时老系统的盘符应该不是C别弄错 ### 第二步 - 修改原系统注册表的分区映射表 我就是在这里卡了很久。实际上,迁移系统不只是复制系统文件到另一个盘,然后重建引导就结束了,更加关键的一个问题是系统迁移发生了盘符的变化。Windows注册表内有一个盘符与分区的映射表,迁移至的盘(可称为X盘)必须将其分区ID绑定到C盘符,才能正确地映射资源,正确地启动新系统,否则就是持续性黑屏有鼠标。 1. 进入原系统 2. `regedit`,右键点击`HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices`项,选择导出(点击左侧的树形目录,不是右边的值)。导出至任意位置,最好也是与迁移完全无关的位置。 3. 修改导出的`.reg`文件,查找`\DosDevices\`,不出意外的话应该可以看到CDEF等等盘符与分区的映射关系。在此处,将`C`改为`X`(你的新系统分区在原系统中的盘符),将`X`改为`C`。双击执行,导入注册表。 4. 重启。此时原系统已无法进入,黑屏(若之后几步出现问题,随时可以**用第一步中备份的config目录来恢复原系统**)。 ### 第三步 - 克隆分区 若你在第〇步中建立分区时保证了新分区与老分区大小(扇区数量)完全一致,则可以在这一步选择“复制所有扇区”,否则只能选择“按文件复制”。区别不大,只是复制所有扇区略微保守而已,按文件复制也可以直接向下看。 1. 进入PE 2. 打开DG,选中原系统分区,右键**克隆分区**,克隆目标为你的新系统分区。 3. 克隆结束,使用PE中的工具重建UEFI引导。①选择克隆后的**新系统分区**,②以**新硬盘的ESP分区为引导分区**。这步必须确保你**确实看到**了上述两个选项——有些引导修复工具默认隐藏了ESP分区的选择,展开它,手动选到新硬盘上的ESP分区,不然你有可能会通过老硬盘的ESP分区引导新系统,那样就离不开老硬盘了。 4. 重启,引导进入新系统 ### 第四步 - 检查新系统可用性 1. 不出意外,新系统已经可以进入了。它甚至与原系统长得一模一样,你只能通过DG或者磁盘管理来得知当前系统分区是新的那个。 1. 检查有无致命的驱动问题(网卡、声卡、显卡等),如有,尝试修复。 1. 检查你的个人业务能否正常执行,可以着重检查一下 符号链接、WSL、Hyper-V等是否可用,如果这三个没有问题(或者你没在原系统中用过)基本就断言新系统安全了。 1. 此时若需要扩容系统分区,重启进PE,用DG扩容(应当有一些在第〇步留好的空闲空间),然后重启进入新系统再次检查可用性。 ### 第五步 - 老硬盘的清理 如果不需要继续使用原系统,而是想把老硬盘挪作他用或者拆除,这时需要一步额外的检查。 - 进入PE - 打开DG,进入老硬盘ESP分区的浏览文件,删除其中的EFI目录(选彻底删除就可以) - 重启进入新系统,检查能否正确引导 - 如果能,说明新系统的引导不依赖老硬盘,老硬盘已经可以随便你造了;如果不能,请用第三步第3条的方法重建新硬盘的引导。 - 即便如此,依然还是**建议将老硬盘内的系统原封不动地保留一周**(或者符合你正常使用周期的一个冗余时长),万一新系统发生问题,你可以直接回退。 如果还需要继续使用原系统,那么在PE中把第一步备份好的`config`目录还原到原系统内就可以了。 ### 结束 到此,新系统已经正常可用,老硬盘已经闲置。恭喜你迁移成功! 参考资料:[Windwos 10系统迁移的一种方法](https://zhuanlan.zhihu.com/p/142213767)