![将 Windows 8.1 安装迁移到新驱动器后无法启动](https://linux22.com/image/1448819/%E5%B0%86%20Windows%208.1%20%E5%AE%89%E8%A3%85%E8%BF%81%E7%A7%BB%E5%88%B0%E6%96%B0%E9%A9%B1%E5%8A%A8%E5%99%A8%E5%90%8E%E6%97%A0%E6%B3%95%E5%90%AF%E5%8A%A8.png)
我想迁移我的ThinkPad X1 Carbon(2015年)的 Windows 8.1 安装到新的240GB PCIe 2.0 4x SSD。我认为 Clonezilla 可能可以解决这个问题,但现在无法启动。
- 关闭了 SecureBoot,因为它不允许我启动 Clonezilla Live USB。
- 启动进入 Clonezilla。
- 创建原始驱动器的映像并将其保存到 USB 驱动器。
- 关闭。
- 将我的 Thinkpad 上的驱动器换成了新的 240GB 驱动器。
- 启动进入 Clonezilla。
- 使用 USB 驱动器中的图像对新驱动器进行映像处理。
但是,现在我无法启动 Windows。首先,我在 UEFI 启动屏幕上收到此消息:首先,我在 UEFI 屏幕上看到此错误:
错误 SataControllerSupported OpenProtocol gEfiDevicePathProtocolGuid 状态 F
然后,它进入某种“安全模式”,表示无法启动。
我尝试过的一些方法:
重新启用 SecureBoot,问题依然存在。我还应该做些什么呢?
尝试进入高级模式的命令提示符并运行
bootrec
和/fixboot
然后/rebuildbcd
。前者说成功了,后者说没有检测到 Windows 安装。重新启动后,问题仍然存在。放入原装驱动器后,它就可以正常工作。
我还应该采取其他故障排除步骤吗?或者可能的解决方案?
注意:我无法同时连接两个驱动器,因为我只有一个 M.2 连接器,因此这限制了我可以进行的故障排除类型。
答案1
在我首次bootrec.exe
尝试没有检测到任何 Windows 安装后,我进一步研究微软的文档。
我再次启动 RE 并进入命令行进行加载diskpart
:
> diskpart
选择磁盘:
DISKPART> list disk
DISKPART> select disk 0
选择名为“SYSTEM_DRV”(FAT32 文件系统)的分区并为其分配一个字母:
DISKPART> list volume
DISKPART> select volume 2
DISKPART> assign letter=f
DISKPART> exit
导航到 Microsoft BCD 目录:
C:> F:
C:> cd EFI\Microsoft\Boot
备份我当前的BCD:
F:\EFI\Microsoft\Boot> bcdedit /export C:\bcd.backup
F:\EFI\Microsoft\Boot> ren BCD BCD.backup
最后,重建它:
F:\EFI\Microsoft\Boot> bootrec /RebuildBcd
F:\EFI\Microsoft\Boot> exit
重启后,一切正常。
我很惊讶我找不到太多关于这个问题的信息,所以这可能是我的设置所特有的。不过,希望这对其他人有所帮助。