在启动到 VHD 设置中,是否可以获取 VHD 的文件名?

在启动到 VHD 设置中,是否可以获取 VHD 的文件名?

我有一台物理计算机,其中有两个 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 的完整路径。

相关内容