无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 1676|回复: 37
打印 上一主题 下一主题

[已解决] 如何用bootice等工具的命令行添加一个efi引导项

  [复制链接]
跳转到指定楼层
1#
发表于 2024-9-2 16:23:56 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 qj_tzy 于 2024-9-10 15:18 编辑

如何用bootice等工具的命令行添加一个efi引导项

若我的esp分区为盘符为x:,想把该分区/efi/dir/xx_boot.efi,添加到电脑,启动项名如为my_uefi_boot,作为电脑下次引导的efi启动项。

希望通过如下办法实现:在.bat批文本中调用bootice等工具,用命令行方式添加下次启动电脑的efi引导项。

在.bat批文本中如何写该命令行,敬请各位大大位指点,诚谢!


已解决,见37楼
38#
发表于 2024-9-10 16:04:54 | 只看该作者
qj_tzy 发表于 2024-9-10 15:16
前两天无空,今天整了下,已编制批处理运行成功。非常感谢szwp、Bluebells等网友的热心指点、帮助。
实 ...

俺是将最常用的系统设为默认,其它系统点一次性启动的批处理。
回复

使用道具 举报

37#
 楼主| 发表于 2024-9-10 15:16:45 | 只看该作者
szwp 发表于 2024-9-6 08:38
http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=437260&pid=5036360&fromuid=225195

前两天无空,今天整了下,已编制批处理运行成功。非常感谢szwp、Bluebells等网友的热心指点、帮助。
实现方法是:
1.在我的hp288电脑中安装了win+mac+linux多系统,做好了用oc、clover、refind、xorboot、grub2、grub4dos等6个uefi引导器菜单,用以启动win+mac+linux多系统(当然后4个引导mac时是引导oc或clover直接进入mac)。
2.编制批处理:
一是用bootice建立6个引导器的引导项到电脑引导序列。
如:booticex64 /uefi /add /inspos=1 /file="%drive%\efi\clover\cloverx64.efi" /title="\efi\clover\cloverx64.efi"
二是用bcdedit把电脑下次启动所用的引导项放在首项。
如:
set nextboot=\efi\clover\cloverx64.efi
for /f "tokens=2 delims={}" %%a in ('bcdedit /enum {fwbootmgr}') do (
    for /f "tokens=2 delims= " %%b in ('bcdedit /enum {%%a} /v') do (if /i %nextboot%==%%b set next_boot_id=%%a)
)
bcdedit /set {fwbootmgr} displayorder {%next_boot_id%} /addfirst

点评

俺是将最常用的系统设为默认,其它系统点一次性启动的批处理。  详情 回复 发表于 2024-9-10 16:04
回复

使用道具 举报

36#
 楼主| 发表于 2024-9-6 08:50:27 | 只看该作者
szwp 发表于 2024-9-6 08:38
http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=437260&pid=5036360&fromuid=225195

原来是这个群,谢谢!
回复

使用道具 举报

35#
发表于 2024-9-6 08:38:31 | 只看该作者
qj_tzy 发表于 2024-9-5 11:07
是哪一个QQ群,希望能加入学习下,谢谢!

http://bbs.wuyou.net/forum.php?m ... &fromuid=225195

点评

前两天无空,今天整了下,已编制批处理运行成功。非常感谢szwp、Bluebells等网友的热心指点、帮助。 实现方法是: 1.在我的hp288电脑中安装了win+mac+linux多系统,做好了用oc、clover、refind、xorboot、grub2、g  详情 回复 发表于 2024-9-10 15:16
原来是这个群,谢谢!  详情 回复 发表于 2024-9-6 08:50
回复

使用道具 举报

34#
 楼主| 发表于 2024-9-5 11:14:41 | 只看该作者
Bluebells 发表于 2024-9-5 11:07
使用 bcdedit 创建新的 efi 启动条目(不建议使用这种方法)
上述命令将创建一个名为 New boot entry 的 efi ...

先学习下,不清楚时再向您请教!
回复

使用道具 举报

33#
发表于 2024-9-5 11:07:13 | 只看该作者
使用 bcdedit 创建新的 efi 启动条目(不建议使用这种方法)
  1. bcdedit.exe /copy {bootmgr} /d "New boot entry"
复制代码
上述命令将创建一个名为 New boot entry 的 efi 启动条目, 并返回一个 {id} (标识符)
修改 New boot entry 启动条目的 efi 映像路径(因为第一条命令创建的启动条目指向的 efi 映像是 {bootmgr} 提供的)
  1. bcdedit.exe /set {id} path \EFI\boot\NewImage.efi
复制代码
其中 {id} 为第一条命令返回的标识符, \EFI\boot\NewImage.efi 为要指向新的映像的路径(不要在路径前面添加驱动器号[即所谓的盘符], 因为该命令只能使用 esp 的 efi 映像)

---------------------------------------------------------------------------------------------------------------------

后续一些非必要的操作(删除该启动条目的一些多余数据)
  1. bcdedit /deletevalue {id} locale
  2. bcdedit /deletevalue {id} inherit
  3. bcdedit /deletevalue {id} default
  4. bcdedit /deletevalue {id} resumeobject
  5. bcdedit /deletevalue {id} displayorder
  6. bcdedit /deletevalue {id} toolsdisplayorder
  7. bcdedit /deletevalue {id} timeout
复制代码
特殊操作(更改创建的 efi 启动条目的类型)
  1. reg add "HKLM\BCD00000000\Objects\{id}\Description" /v "Type" /t REG_DWORD /d "270532607" /f
复制代码
PS: 最后一条命令需要特殊特权才能执行成功



点评

先学习下,不清楚时再向您请教!  详情 回复 发表于 2024-9-5 11:14
回复

使用道具 举报

32#
 楼主| 发表于 2024-9-5 11:07:01 | 只看该作者
szwp 发表于 2024-9-5 10:22
qq群的群文件里有不少示例的。

是哪一个QQ群,希望能加入学习下,谢谢!

点评

http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=437260&pid=5036360&fromuid=225195  详情 回复 发表于 2024-9-6 08:38
回复

使用道具 举报

31#
发表于 2024-9-5 10:46:42 | 只看该作者
本帖最后由 Bluebells 于 2024-9-5 19:34 编辑

bcdedit 管理 efi 启动条目的一些示例

枚举所有 efi 启动条目
  1. bcdedit /enum firmware
复制代码
删除目标 efi 启动条目
  1. bcdedit /delete {id} /f
复制代码
将目标 efi 启动条目副本设置到启动条目顺序的末尾
  1. bcdedit.exe /set {fwbootmgr} displayorder {id} /addlast
复制代码
将目标 efi 启动条目副本设置到启动条目顺序的最前面
  1. bcdedit.exe /set {fwbootmgr} displayorder {id} /addfirst
复制代码
将目标 efi 启动条目设置为"下一次启动该条目"
  1. bcdedit /set {fwbootmgr} bootsequence {id}
复制代码
PS: 以上示例中的 {id} 为目标启动条目的"标识符"
回复

使用道具 举报

30#
发表于 2024-9-5 10:28:42 | 只看该作者
bcdedit /enum firmware|findstr /i "标 path"|findstr /n .
先去cmd里观察,这比上面的那句效率会高
回复

使用道具 举报

29#
发表于 2024-9-5 10:25:00 | 只看该作者
bcdedit /enum {fwbootmgr}
也可用此命令获取id,结合bcdedit /enum {id},找到需要的id
回复

使用道具 举报

28#
发表于 2024-9-5 10:22:32 | 只看该作者
qj_tzy 发表于 2024-9-5 10:21
感谢,操作成功!

这是手动操作,若用xx.bat批文本自动实现,即搜索bcdedit /enum firmware结果,找到 ...

qq群的群文件里有不少示例的。

点评

是哪一个QQ群,希望能加入学习下,谢谢!  详情 回复 发表于 2024-9-5 11:07
回复

使用道具 举报

27#
 楼主| 发表于 2024-9-5 10:21:10 | 只看该作者
szwp 发表于 2024-9-5 09:53
bcdedit /delete {39192026-6b28-11ef-807b-0068eb981cf9}

感谢,操作成功!

这是手动操作,若用xx.bat批文本自动实现,即搜索bcdedit /enum firmware结果,找到\EFI\oc\OpenCore.efi项对应的{39192026-6b28-11ef-807b-0068eb981cf9},再用
bcdedit /delete {39192026-6b28-11ef-807b-0068eb981cf9}删除,如何实现呢?有捷径吗,还希望指点,诚谢!

点评

qq群的群文件里有不少示例的。  详情 回复 发表于 2024-9-5 10:22
回复

使用道具 举报

26#
发表于 2024-9-5 09:53:32 | 只看该作者
bcdedit /delete {39192026-6b28-11ef-807b-0068eb981cf9}

点评

感谢,操作成功! 这是手动操作,若用xx.bat批文本自动实现,即搜索bcdedit /enum firmware结果,找到\EFI\oc\OpenCore.efi项对应的{39192026-6b28-11ef-807b-0068eb981cf9},再用 bcdedit /delete {39192026-6b  详情 回复 发表于 2024-9-5 10:21
回复

使用道具 举报

25#
 楼主| 发表于 2024-9-5 09:51:09 | 只看该作者
szwp 发表于 2024-9-5 09:12
进cmd将bcdedit /enum firmware结果粘贴上来


固件启动管理器
---------------------
标识符                  {fwbootmgr}
displayorder            {39192026-6b28-11ef-807b-0068eb981cf9}
                        {7b6ca4a3-68ce-11ef-9b5d-806e6f6e6963}
                        {a5af6c32-68b0-11ef-bdc1-806e6f6e6963}
                        {a5af6c30-68b0-11ef-bdc1-806e6f6e6963}
                        {a5af6c2f-68b0-11ef-bdc1-806e6f6e6963}
                        {a5af6c31-68b0-11ef-bdc1-806e6f6e6963}
                        {1ca62ba6-68cc-11ef-b149-806e6f6e6963}
                        {34dd73ee-68f3-11ef-b85c-806e6f6e6963}
                        {a5af6c33-68b0-11ef-bdc1-806e6f6e6963}
                        {a5af6c34-68b0-11ef-bdc1-806e6f6e6963}
timeout                 2

固件应用程序(101fffff)
-------------------------------
标识符                  {1ca62ba6-68cc-11ef-b149-806e6f6e6963}
description             Hard Drive

固件应用程序(101fffff)
-------------------------------
标识符                  {34dd73ee-68f3-11ef-b85c-806e6f6e6963}
description             UEFI:CD/DVD Drive

固件应用程序(101fffff)
-------------------------------
标识符                  {39192026-6b28-11ef-807b-0068eb981cf9}
device                  partition=F:
path                    \EFI\oc\OpenCore.efi
description             \EFI\oc\OpenCore.efi

固件应用程序(101fffff)
-------------------------------
标识符                  {7b6ca4a3-68ce-11ef-9b5d-806e6f6e6963}
device                  partition=F:
path                    \EFI\CLOVER\CURRENT_BOOT.EFI
description             current_boot

固件应用程序(101fffff)
-------------------------------
标识符                  {a5af6c2f-68b0-11ef-bdc1-806e6f6e6963}
device                  partition=F:
path                    \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
description             Windows Boot Manager

固件应用程序(101fffff)
-------------------------------
标识符                  {a5af6c30-68b0-11ef-bdc1-806e6f6e6963}
device                  partition=F:
path                    \EFI\REFIND\REFIND_X64.EFI
description             refind

固件应用程序(101fffff)
-------------------------------
标识符                  {a5af6c31-68b0-11ef-bdc1-806e6f6e6963}
device                  partition=F:
path                    \EFI\UBUNTU\SHIMX64.EFI
description             ubuntu

固件应用程序(101fffff)
-------------------------------
标识符                  {a5af6c32-68b0-11ef-bdc1-806e6f6e6963}
device                  partition=F:
path                    \EFI\CLOVER\CLOVERX64.EFI
description             clover

固件应用程序(101fffff)
-------------------------------
标识符                  {a5af6c33-68b0-11ef-bdc1-806e6f6e6963}
description             UEFI:Removable Device

固件应用程序(101fffff)
-------------------------------
标识符                  {a5af6c34-68b0-11ef-bdc1-806e6f6e6963}
description             UEFI:Network Device

比如想删除:\EFI\oc\OpenCore.efi项,我用booticex64.exe /uefi /delete /file="f:\EFI\oc\OpenCore.efi"
出现:“failed 3”的出错提示
回复

使用道具 举报

24#
发表于 2024-9-5 09:18:01 | 只看该作者
感谢分享
回复

使用道具 举报

23#
发表于 2024-9-5 09:12:38 | 只看该作者
qj_tzy 发表于 2024-9-5 08:58
能说详细点吗,不知如何进行群文件搜序列,谢谢!

进cmd将bcdedit /enum firmware结果粘贴上来

点评

固件启动管理器 --------------------- 标识符 {fwbootmgr} displayorder {39192026-6b28-11ef-807b-0068eb981cf9} {7b6ca4a3-68ce-11ef-9b5d-806e6f6e6  详情 回复 发表于 2024-9-5 09:51
回复

使用道具 举报

22#
发表于 2024-9-5 09:01:55 | 只看该作者
Bluebells 发表于 2024-9-5 07:00
bcdedit 是可以操作 efi 启动条目的,但功能有限就是了。第三方管理 uefi 启动条目的命令行工具的则有 ef ...

感谢提供这么有价值的信息。两个都下载试用了一下,貌似easyefic更好用一些,基本上接近linux下的efibootmgr的功能。另一个efivar-rs貌似更复杂。
回复

使用道具 举报

21#
 楼主| 发表于 2024-9-5 08:58:49 | 只看该作者
szwp 发表于 2024-9-5 06:53
群文件搜序列,找清空可以参考

能说详细点吗,不知如何进行群文件搜序列,谢谢!

点评

进cmd将bcdedit /enum firmware结果粘贴上来  详情 回复 发表于 2024-9-5 09:12
回复

使用道具 举报

20#
 楼主| 发表于 2024-9-5 08:54:29 | 只看该作者
Bluebells 发表于 2024-9-5 07:00
bcdedit 是可以操作 efi 启动条目的,但功能有限就是了。第三方管理 uefi 启动条目的命令行工具的则有 ef ...

感谢,我下载 efivar-rs,easyuefic 试试!
回复

使用道具 举报

19#
发表于 2024-9-5 07:00:53 | 只看该作者
Climbing 发表于 2024-9-2 17:31
我在论坛里找到了2019版,但没有找到2020版,这里蹲一个。

貌似在Windows下只能找到这一个可以操作EFI ...

bcdedit 是可以操作 efi 启动条目的,但功能有限就是了。第三方管理 uefi 启动条目的命令行工具的则有 efivar-rs,easyuefic 等

点评

感谢提供这么有价值的信息。两个都下载试用了一下,貌似easyefic更好用一些,基本上接近linux下的efibootmgr的功能。另一个efivar-rs貌似更复杂。  详情 回复 发表于 2024-9-5 09:01
感谢,我下载 efivar-rs,easyuefic 试试!  详情 回复 发表于 2024-9-5 08:54

评分

参与人数 1无忧币 +5 收起 理由
Climbing + 5 很给力!

查看全部评分

回复

使用道具 举报

18#
发表于 2024-9-5 06:53:18 来自手机 | 只看该作者
qj_tzy 发表于 2024-9-4 22:59
前两天外出无时间测试,今晚测试了,能正常添加启动项。
但用BOOTICEx64.exe /uefi /delete /file="I:\E ...

群文件搜序列,找清空可以参考

点评

能说详细点吗,不知如何进行群文件搜序列,谢谢!  详情 回复 发表于 2024-9-5 08:58
回复

使用道具 举报

17#
 楼主| 发表于 2024-9-4 22:59:33 | 只看该作者
szwp 发表于 2024-9-2 16:33
2020版可以,里面有说明。

BOOTICEx64.exe /uefi /add /inspos=1 /file="I:\EFI\boot\grub2x64.efi" /ti ...

前两天外出无时间测试,今晚测试了,能正常添加启动项。
但用BOOTICEx64.exe /uefi /delete /file="I:\EFI\boot\grub2x64.efi",删除已存在的启动项出错,所以未能成功删除启动项,还请指点,诚谢!

点评

群文件搜序列,找清空可以参考  详情 回复 发表于 2024-9-5 06:53
回复

使用道具 举报

16#
发表于 2024-9-3 20:15:09 | 只看该作者
先收藏,坐等加精
回复

使用道具 举报

15#
发表于 2024-9-3 15:32:42 | 只看该作者
学习了
回复

使用道具 举报

14#
发表于 2024-9-3 13:28:57 | 只看该作者
路过,在linux下非常简单的问题被你们搞得这么复杂。
回复

使用道具 举报

13#
发表于 2024-9-3 08:02:55 来自手机 | 只看该作者
群文件有些bcdedit操作序列的示例
回复

使用道具 举报

12#
发表于 2024-9-2 19:39:43 | 只看该作者
谢谢2楼分享
回复

使用道具 举报

11#
 楼主| 发表于 2024-9-2 19:25:58 | 只看该作者
Climbing 发表于 2024-9-2 17:31
我在论坛里找到了2019版,但没有找到2020版,这里蹲一个。

貌似在Windows下只能找到这一个可以操作EFI ...

感谢您的热心回复!
回复

使用道具 举报

10#
 楼主| 发表于 2024-9-2 19:25:32 | 只看该作者
captain_g 发表于 2024-9-2 17:23
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=418717&page=1#pid4026764

非常感谢,下载试试!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-27 23:03

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表