10

我正在尝试在我的工作笔记本电脑上运行 Oracle Virtual Box。我收到一条错误消息,说它无法运行,因为我正在运行 Hyper-v。我正在尝试按照Scott Hanselman's Blog上的说明进行操作,该说明过去曾在我的个人笔记本电脑上遇到过类似的问题。

我跑:

bcdedit /copy {current} /d "No Hyper V"
The copy command specified is not valid.
Run "bcdedit /?" for command line assistance.
The parameter is incorrect.

我跑

bcdedit /copy {current} /d /?

This command creates a copy of the specified boot entry.

bcdedit [/store <filename>] /copy {<id>} /d <description>

    <filename>      Specifies the store to be used. If this option is not
                    specified, the system store is used. For more information,
                    run "bcdedit /? store".

    <id>            Specifies the identifier of the entry to be copied.
                    For more information about identifiers, run
                    "bcdedit /? ID".

    <description>   Specifies the description to be applied to the new entry.

Example:

The following command creates a copy of the specified operating system boot
entry:

    bcdedit /copy {cbd971bf-b7b8-4885-951a-fa03044f5d71} /d "Copy of entry"

bcdedit /? ID

IDENTIFIERS

Many of the Bcdedit commands require identifiers. An identifier
uniquely identifies entries contained in the store. An identifier takes the
form of a globally unique identifier, or GUID. A GUID has the following format,
where each "x" represents a hexadecimal digit.

    {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}

For example:

    {d2b69192-8f14-11da-a31f-ea816ab185e9}

The position of the dashes (-) and the braces at the beginning and end of the
GUID are required.

Several entries can be identified by well-known identifiers. If an entry has a
well-known identifier, BCDedit displays it in output unless the /v command-line
switch is used. For more information, run "bcdedit /? /v".

The well-known identifiers are as follows:

    {bootmgr}               Specifies the Windows boot manager entry.

    {fwbootmgr}             Specifies the firmware boot manager entry,
                            specifically on systems that implement the
                            Extensible Firmware Interface (EFI) specification.

    {memdiag}               Specifies the memory diagnostic application entry.

    {ntldr}                 Specifies a OS loader (Ntldr) that can be used
                            to start operating systems earlier than Windows
                            Vista.

    {current}               Specifies a virtual identifier that corresponds to
                            the operating system boot entry for the operating
                            system that is currently running.

但看起来我的语法没有问题,有人知道我做错了什么吗?

4

4 回答 4

12

Powershell似乎是问题所在。在我的 powershell 提示符中,我输入了 cmd 然后运行bcdedit /copy {current} /d "No Hyper V"没有错误。

于 2018-04-27T18:13:06.717 回答
11
bcdedit --% /copy {current} /d "No Hyper V"

停止解析符号--%

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_parsing

于 2018-07-09T09:09:01.813 回答
9

我有完全相同的问题。我在微软的 bcdedit 文档中找到了解决方案。当您使用 powershell 而不是 cmd 时,这只是一个问题。

您只需将引导条目的标识符设置为双引号:

bcdedit /copy "{current}" /d "No Hyper-V"
于 2019-01-16T07:39:55.573 回答
0

当 shell/命令提示符未以管理员身份运行时,我遇到了同样的问题。

不以管理员身份运行时,Windows 不允许对 BCD 进行任何读取或写入

> bcdedit /v
The boot configuration data store could not be opened.
Access is denied.

以管理员身份运行 shell 或命令提示符解决了该问题。

于 2019-08-08T07:59:44.060 回答