我的启动文件和 BCD 处于打开状态埃:,我的 Windows 文件位于C:
设置 BCD 时,Windows 引导加载程序应该device
是osdevice
C: 还是 E:?
我已经有 Windows 启动管理器的条目,其参数为设备分区 = E:
我使用的是 64 位 Windows 8.1
答案1
马克斯对他自己的问题的回答(2013 年 12 月 23 日)并不完全正确。
答案是(设备 + 路径) 和 (osdevice + systemroot) 组成一个整体。
A)(设备 + 路径)是 Vista、Windows 7/8 的 Windows 加载程序的“完整文件路径”
- 通常是“c:\windows\system32\winload.exe”(或 UEFI 启动的扩展名 .efi)。
b)(osdevice + systemroot) 是 Windows 目录的“完整目录路径”
- 通常是“c:\windows”。
无需引导管理器 (bootmgr) 和 BCD 本身的路径,因为它们是在 BIOS 引导的初始加载和执行 MBR 和 PBR(主引导记录和分区引导记录)期间以编程方式建立的。bootmgr 和 \Boot\BCD 都位于 MBR 样式磁盘上的活动分区上。
在 GPT 磁盘(使用 UEFI 启动)上,启动管理器和 BCD 位于 ESP(EFI 系统分区)上。
很明显,第一次加载BCD时(BCD由启动管理器加载)无法使用BCD内部的BCD路径。
您可以找到有关如何在此处修复启动 BCD 问题。
答案2
device 和 osdevice 都应该指向安装操作系统的驱动器,而不是启动文件。
如果您只有一个操作系统,通常不需要更改这一点。
说你有另一个可启动的Windows在另一个驱动器上,并想将其添加到当前boot configuration data store
。
您需要将device
和都设置osdevice
为其他 Windows 当前所在的驱动器号(内部不会将其存储为驱动器号)
答案3
我会回答我自己的问题。osdevice 应该指向你的 os 分区(当它工作时,这似乎很明显,不是吗?)
设备参数指向你的启动bcd(可能在单独的驱动器上)
要在 cmd 中检查,请使用 bootsect.exe /nt60 all /force,它应该会显示所有驱动器。
此外,另一个有用的提示是,如果您没有 Win 8 的 ISO,那么您可以从 technet 下载评估版。我不会发布链接,因为我确信当任何人看到这个链接时,它已经失效/不可用了。许多笔记本电脑(尤其是上网本)不再附带它们,而且没有像 Win 7 时代那样的官方 ISO。
我希望这对某些人有帮助。这非常令人沮丧,而且据我谷歌搜索,大多数类似的问题最终都以重新格式化告终。