我有系统分区的备份,想要将其还原到机器上,但该目标系统不支持 UEFI 模式,WIndows 10 是在该模式中首次安装的。
我的 Windows 10 系统从 EFI 系统分区启动,BCD 数据存储位于该分区,我应该如何将其转换为经典的系统保留分区?
我看到很多关于如何从 BIOS 转到 EFI 的文档,但没有任何关于反向过程的文档。
不幸的是,我无法在目标硬件上启用 UEFI 模式。
我正在尝试恢复我的 Windows 10 机器,我在一台完全不同的机器上备份了它的映像,准确地说是基于 KVM 的虚拟机。
我并不是在问如何更改 KVM 上的硬件设置,而是如何将与我的 C:分区一起恢复的 ESP 分区转换为可以在 KVM 呈现给操作系统的旧硬件上启动的标准系统服务分区。
如果需要此信息,则 VirtIO 驱动程序已安装在操作系统中。
我看过的参考资料:
https://msdn.microsoft.com/fr-fr/library/windows/hardware/dn898504(v=vs.85).aspx https://msdn.microsoft.com/fr-fr/library/windows/hardware/dn898510(v=vs.85).aspx
当然还有我之前的问题,遗憾的是,自从 Windows 10 更新 1607 以来,答案就不再起作用了。 在仅支持 BIOS 的主机上启动使用 UEFI 安装的 Windows
我尝试过:
- 仅恢复 MBR 磁盘上的第一个分区
- 将该分区设置为活动分区
按照@snayob 的解释,使用 BCD 重新生成启动 bcd 文件
PS C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\BCDBoot> .\bootsect.exe /nt60 F: /mbr 目标卷将使用与 BOOTMGR 兼容的引导代码进行更新。
F:(\?\Volume{833d781b-d99f-11e6-80ec-8223a3a1c06a})
Successfully updated NTFS filesystem bootcode.
\??\PhysicalDrive3
Successfully updated disk bootcode.
已成功更新所有目标卷上的引导代码。PS C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM> cd "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\BCDBoot" .\bcdboot.exe F:\Windows /s F: /v /f BIOS BFSVC: ServiceBootFiles MuiOnly:n Res:y Fonts:y BootMgrOvw:nBootStatOvw:n DbgTransports:y CreateSetupObj :n .\bcdboot.exe : BFSVC 错误:无法打开文件 F:\Windows\boot\Resources\BOOTRES.DLL 进行读取!错误代码 = 0x780 位于行:2 字符:1
- .\bcdboot.exe F:\Windows /s F: /v /f BIOS
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- CategoryInfo:未指定:(BFSVC 错误:Fa...或代码 = 0x780:String)[],RemoteExcept ion
- FullyQualifiedErrorId : NativeCommandError
BFSVC 警告:无法确定源操作系统版本。BFSVC 错误:无法打开文件 F:\Windows\boot\PCAT\bootmgr 进行读取!错误代码 = 0x780 BFSVC 错误:无法验证启动管理器校验和 (F:\Windows\boot\PCAT\bootmgr)!错误代码 = 0xc1 尝试复制启动文件时失败。
答案1
Windows 10 对硬件变化的适应性相当好。
例如,您可以在本机计算机和 Hyper-V 中使用相同的 Windows 10 VHD 安装。
因此,您只需要复制您的 Windows 10 分区 - 仅复制放置 \windows 文件夹的分区。
将目标磁盘设为 MBR 样式,仅创建一个分区,使分区处于活动状态,将其映射到任何驱动器号,例如 Z:(它将是未来的 c: 驱动器)
最终将 Windows 分区从备份逐个文件复制到目标磁盘(单个分区)(取决于用于备份的软件)。
然后使用 bootsect.exe 写入 MBR 和 PBR
bootsect /nt60 Z: /mbr
然后使用 bcdboot.exe 写入启动文件
bcdboot Z:\windows /s Z: