![如何为 bcdedit 设置 BCD 系统存储的位置](https://linux22.com/image/1408511/%E5%A6%82%E4%BD%95%E4%B8%BA%20bcdedit%20%E8%AE%BE%E7%BD%AE%20BCD%20%E7%B3%BB%E7%BB%9F%E5%AD%98%E5%82%A8%E7%9A%84%E4%BD%8D%E7%BD%AE.png)
我正在使用一台使用 chimera 启动管理器双启动 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.
但是,如果我手动指定 bcd 位置(位于c:\boot\bcd
),一切就都正常了,我可以编辑商店,并且更改会在下次重启时按预期生效:
C:\Windows\system32>bcdedit /store c:/boot/bcd /enum
Windows Boot Manager
--------------------
(...)
所以它似乎bcdedit
不知道系统存储在哪里。有办法解决这个问题吗?如果我首先知道 bcdedit 尝试查找系统存储的位置,也可能会有所帮助。
答案1
编辑:这并不能解决原始用户的双重启动问题。但这个页面是我遇到 bcd-not-found 问题时在 Google 上找到的第一个页面,所以如果其他人只是想修复他们的 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 存储。