【问题标题】:bcdedit /copy syntax not correctbcdedit /copy 语法不正确
【发布时间】:2018-04-27 17:37:44
【问题描述】:

我正在尝试在我的工作笔记本电脑上运行 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.

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

【问题讨论】:

    标签: powershell windows-10 hyper-v bcdedit


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:
      bcdedit --% /copy {current} /d "No Hyper V"
      

      停止解析符号--%

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

      【讨论】:

        【解决方案3】:

        我遇到了完全相同的问题。我从微软的documentation of bcdedit 上找到了解决方案。当您使用 powershell 而不是 cmd 时,这只是一个问题。

        您只需将启动项的标识符设置为双引号:

        bcdedit /copy "{current}" /d "No Hyper-V"
        

        【讨论】:

          【解决方案4】:

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

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

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2019-08-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多