我有一台物理计算机,其中有两个 BCD 条目用于启动 VHD。我正在寻找一种以编程方式获取已启动到的当前 VHD 名称的方法。我看到使用 Hyper-V 时可能的解决方案,但在这种情况下我在物理计算机上启动。我在 Windows 7 和 Windows 8.1 上看到了相同的行为设置
BCDEDIT 和 WMI(BCDSTORE 类)的输出不显示启动的 VHD 的文件名(第二个条目用于第二个 VHD,第三个条目用于当前启动):
Windows Boot Manager
--------------------
identifier {bootmgr}
device partition=D:
description Windows Boot Manager
locale en-us
inherit {globalsettings}
default {default}
resumeobject {4c6d3c84-4bb6-11e3-bc07-b5a095a1a2a8}
displayorder {default}
{current}
{4c6d3c81-4bb6-11e3-bc07-b5a095a1a2a8}
toolsdisplayorder {memdiag}
timeout 30
Windows Boot Loader
-------------------
identifier {default}
device vhd=[D:]\VHD\v2.vhd
path \Windows\system32\winload.exe
description Windows Embedded Standard
locale en-us
inherit {bootloadersettings}
osdevice vhd=[D:]\VHD\v2.vhd
systemroot \Windows
resumeobject {4c6d3c84-4bb6-11e3-bc07-b5a095a1a2a8}
nx OptIn
detecthal Yes
Windows Boot Loader
-------------------
identifier {current}
device partition=C:
path \Windows\system32\winload.exe
description Windows
locale en-US
inherit {bootloadersettings}
osdevice partition=C:
systemroot \Windows
resumeobject {4c6d3c82-4bb6-11e3-bc07-b5a095a1a2a8}
nx OptIn
bootstatuspolicy IgnoreAllFailures
我意识到我可以在描述中指定文件名,但对于最终的应用程序,我需要使用它们来为最终用户标记它们。
答案1
bcdedit /v 将提供当前启动的 VHD 的完整路径。