我正在尝试使用 VHD 安装 Win8汉塞尔曼指南
一切顺利,直到 PC 重新启动并且 Windows 显示此错误:
Your PC needs to be repaired
The application or operating system couldn't be loaded because
a required file is missing or contains errors.
File:\windows\system32\winload.exe
Error code: 0xc000000e
有想法吗?
答案1
我遇到了完全相同的问题,我通过将 VHD 移动到 C 盘解决了该问题。
答案2
我建议您首先比较一下 ISO 上的哈希值。
MD5:cda63e335fb9af5354c63441f5aa5169 SHA1:1288519c5035bcac83cbfa23a33038ccf5522749
更糟糕的是,尝试重新安装。就我个人而言,我已经在 VHD 上运行了 Dev 预览版。还没有时间尝试这个。
答案3
错误代码 0xc000000e 是STATUS_NO_SUCH_DEVICE
,这有点令人难过。\system32\winload.exe
是从磁盘加载的第一个文件(它在\system\ntoskrnl.exe
加载之前运行预启动环境,这是任何人都会识别为 Windows 的第一位),因此这看起来像文件系统驱动程序中的某些东西反对你的虚拟机如何向操作系统呈现你的虚拟磁盘(即 Windows 不喜欢虚拟硬盘控制器)。
Windows 8 是否曾经在该虚拟机上成功启动过?如果没有,则可能是您使用的特定虚拟机软件不受 Windows 8 预览版支持,在这种情况下,您最好的选择是使用其他 VM 软件。
如果您之前曾在该虚拟机上启动过,则这看起来好像出现了严重问题,您可能需要重新安装操作系统。
答案4
我也犯了同样的错误,但情况与你不同。
在我的情况下,我将现有的 vhdx 文件移动到新路径(实际上是新驱动器)。要继续本机启动,我必须编辑 BCD 中的启动记录以指向新路径。有针对这种情况的官方指南,但缺少一个关键命令 - 这可能会对您有所帮助。
官方指南
官方指南将本机启动虚拟硬盘添加到启动菜单可以概括为:
:: Add boot record by copying and modifying current record
:: This command gives you new {new-guid} you will use below
bcdedit /copy {current} /d "Description here"
:: Update copied record with the new path N:\windows.vhdx
bcdedit /set {new-guid} device vhd=[N:]\windows.vhdx
bcdedit /set {new-guid} osdevice vhd=[N:]\windows.vhdx
相当简单,但没有用;我遇到了和你一样的错误。
修复
为了修复它,我必须将 vhdx 从其新路径挂载N:\windows.vhdx
到磁盘号O:\
并运行以下命令:
:: bcdboot does two things:
:: a) it creates or repairs boot files in specified location
:: b) it creates or updates boot record in BCD
bcdboot O:\Windows
然后您可以卸载 vhdx。它并没有对bcdedit /v
列表产生太大的影响——基本上它只是用新的 guid 而不是以前的 guid 更新了复制的引导记录{new-guid}
——但在幕后修复了引导记录中的某些内容,它开始工作了。
注意:您可能会争辩说bcdboot
实际上修复了 vhdx 文件,即中的启动文件O:\
,但这在我的场景中无法发挥作用,因为我丢弃了运行的 vhdx bcdboot
,而是使用了从未这样处理过的另一个副本。