【问题标题】:Windows equivalent to efibootmgr?Windows 相当于 efibootmgr?
【发布时间】:2017-12-08 16:57:57
【问题描述】:

即使我使用 Ubuntu 中的 efibootmgr 更改它,Windows 也会继续覆盖 UEFI 启动顺序。但是 BootNext 选项没有被覆盖,也就是说,我可以将 BootNext 设置为 Ubuntu,并在重新启动时启动进入 Ubuntu。因此,我编写了以下脚本以在每次启动 Ubuntu 时运行:

efibootmgr > file.txt
CURR="$(grep "BootCurrent" file.txt | grep -Eo "[0-9]{4}")"
efibootmgr -n $CURR
rm file.txt
exit 0

这确保我在从 Ubuntu 重新启动时可以启动到 grub。有没有办法从 Windows 执行相同的操作,以便在从 Windows 重新启动时启动到 grub?

编辑:

运行 bcdedit /v 给出(没有 Ubuntu 条目):

Windows Boot Manager
--------------------
identifier              {9dea862c-5cdd-4e70-acc1-f32b344d4795}
device                  partition=\Device\HarddiskVolume1
path                    \EFI\ubuntu\shimx64.efi
description             Windows Boot Manager
locale                  en-US
inherit                 {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
default                 {9b4692db-d6e1-11e6-8040-f733056555ec}
resumeobject            {9b4692da-d6e1-11e6-8040-f733056555ec}
displayorder            {9b4692db-d6e1-11e6-8040-f733056555ec}
toolsdisplayorder       {b2721d73-1db4-4c62-bf78-c548a880142d}
timeout                 0

Windows Boot Loader
-------------------
identifier              {9b4692db-d6e1-11e6-8040-f733056555ec}
device                  partition=C:
path                    \WINDOWS\system32\winload.efi
description             Windows 10
locale                  en-US
inherit                 {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
recoverysequence        {9b4692dc-d6e1-11e6-8040-f733056555ec}
displaymessageoverride  Recovery
recoveryenabled         Yes
isolatedcontext         Yes
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \WINDOWS
resumeobject            {9b4692da-d6e1-11e6-8040-f733056555ec}
nx                      OptIn
bootmenupolicy          Standard

【问题讨论】:

  • 我似乎无法在 BCDedit 中找到 Ubuntu 条目。 @wOxxOm 请看一下编辑。
  • 我错了:当然是在 UEFI 之后运行 Windows 启动管理器。
  • EasyUEFI 支持一次性启动顺序和 CLI。也许您可以找到纯 CLI 实用程序。
  • 感谢@wOxxOm 的输入。但是,CLI 仅适用于付费版本。我宁愿不花 30 美元来解决这个问题。
  • 我也在找这个。

标签: powershell cmd terminal boot uefi


【解决方案1】:

在 Windows 上,您可以使用“bcdedit /enum firmware”列出所有固件应用程序,然后 "bcdedit /set {fwbootmgr} bootsequence {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}" 设置 BootNext 选项。

【讨论】:

  • bcdedit 更改了 Windows 加载程序,而 efibootmgr 实际上修改了 UEFI。 Windows 加载程序可能会拒绝加载 UEFI 愿意做的事情。
【解决方案2】:

您不必创建类似于 {9b4692db-d6e1-11e6-8040-f733056555ec} 的 UBuntu 加载程序吗?

基本上,ubuntu 节点应该从引导管理器更改为引导加载程序应用程序。 然后在 EFI\Boot\bootx64.efi 有一个引导管理器。
为启动管理器创建一个 {bootmgr} 节点。将其显示顺序设置为包括上面的两个 guid。然后将 {bootmgr} 的默认值设置为 ubuntu guid。这应该会使 ubuntu 项目在重新启动后保持粘性。

【讨论】:

    猜你喜欢
    • 2010-10-18
    • 2010-10-12
    • 2021-05-26
    • 1970-01-01
    • 1970-01-01
    • 2012-01-15
    • 2011-05-09
    • 1970-01-01
    相关资源
    最近更新 更多