有一块祖传的 SATA SSD 上,有一份 Windows 10,引导模式还停留在 BIOS/MBR 状态。想把它接续着用起来,但是新机器已经放不下 SATA 盘了,而且也不支持传统引导方式了。正好有一块同容量的 NVMe SSD,于是产生把系统克隆过来,改造后再使用的想法。
在 Windows 10 下,把源盘(SATA 盘)和目标盘(NVMe 盘)都用 USB 方式连接好。
第一步是先用 DiskGenius 磁盘克隆,此后源盘抛开,不再参与后续步骤。成功克隆目标盘后的第二步是用 DiskGenius 的分区表类型转换功能把其 MBR 分区表格式转换为 GPT 分区表格式。
第三步有少许精微,其目的是要把 GPT 引导所需的 ESP 分区和 Windows 系统所需的 MSR 分区设定好。一个常见的 GPT 分区布局是,ESP 分区位于磁盘首,而 MSR 稍显随意,相邻地位于系统所在分区之前或者之后(暂不考虑 Windows 的恢复分区)。现实情况是在 MBR 布局下已经存在于系统所在分区之后,因此仅需将其分区类型在 DiskGenius 的编辑分区参数界面中重新调整为 MSR 类型即可。ESP 分区需要单独处理,主要原因是当前磁盘上没有空余空间可以使用,因此需要先用 DiskGenius 调整系统所在分区的大小,在其之前缩出 500MB 即可。此时即可通过 DiskGenius 的“建立ESP/MSR分区”菜单完成 ESP 分区的创建。
接下来还有两步路走。首先是把刚刚创建好的 ESP 分区上置入引导文件。正好当前运行的主机也是 Windows 10,因此可以在管理员权限的命令行下执行 bcdboot C:\Windows /s S: /f UEFI /l zh-cn 来完成。其中的 S: 是给 ESP 分区分配的盘符,这个工作也可以在 DiskGenius 里做。
第二部则是确认上一步创建出来的 BCD 文件是否可用,最佳工具首推 Bootice。使用它打开 S:\EFI\Microsoft\Boot\BCD 文件,在高级编辑模式下,把左侧栏中的对象树里的必要节点仔细检查一遍(主要是 Windows Boot Manager 节点以及 Application Objects 和 Windows Resume Objects 分支下的节点,把带有 Device 字样的 key(一般是 ApplicationDevice 或者 OSDevice)都要仔细审视一番,把对应的磁盘和分区(要特别注意:引导分区和系统分区是不一样的!)选择正确后保存。理论上,这块磁盘应该准备就绪了。
在实践中,上述操作一次性成功。
