如何为 bcdedit 设置 BCD 系统存储的位置

Szt*_*upY 7 windows boot windows-8.1

我正在使用一台使用嵌合体引导管理器双引导 Windows 8.1 和 OSX 的机器。磁盘布局是 MBR,所以没有 EFI 分区,引导文件可以在C:\boot. 当我尝试bcdedit在命令提示符下使用时,出现以下错误:

C:\Windows\system32>bcdedit /enum
The boot configuration data store could not be opened.
The system cannot find the file specified.
Run Code Online (Sandbox Code Playgroud)

但是,如果我手动指定 bcd 位置(位于c:\boot\bcd),一切正常,我可以编辑存储,并且更改会在下次重新启动时按预期进行:

C:\Windows\system32>bcdedit /store c:/boot/bcd /enum

Windows Boot Manager
--------------------
(...)
Run Code Online (Sandbox Code Playgroud)

所以它似乎bcdedit不知道系统存储在哪里。有没有办法来解决这个问题?如果我首先知道 bcdedit 试图在何处查找系统存储,这也可能会有所帮助。

Art*_*are 2

编辑:这并不能解决原始用户的双启动问题。但此页面是 Google 首次针对我的 bcd-not-found 问题点击的页面之一,因此如果其他人只是想修复 BCDedit 行为,他们可能会发现它很有用。

默认情况下,bcdedit 似乎会尝试从活动分区加载 BCD 存储。您可以使用 diskpart 修改哪个分区处于活动状态。

所以我会像这样执行diskpart: diskpart list disk select <your disk number> list partition select <partition number that includes your boot/BCD file> active exit bcdedit 希望最后一个bcdedit能找到你的BCD存储。