无忧启动论坛

标题: EFI 变量设置封装函数(PECMD 源码) [打印本页]

作者: Bluebells    时间: 2025-8-12 20:00
标题: EFI 变量设置封装函数(PECMD 源码)
本帖最后由 Bluebells 于 2025-8-13 19:50 编辑

于 2025/8/13 更新
优化删除 EFI 启动条目的处理逻辑


关于"封装"(还是包装?), 我不知道正确应该怎么说, 因为本人没啥编程基础(网上的资源提到的一些名词真的五花八门)
所谓的"EFI 变量设置封装函数"其实类似于 Autoit 脚本语言中所说的 UDF
1. 创建/修改/删除 EFI 启动条目;
2. 设置/取消设置下次启动时进入指定的 EFI 启动条目
3. 设置下次启动时进入固件设置(BIOS-UEFI)

正因为本人没啥编程基础, 所以代码质量很差, 但勉强能用
EFI_Variable_Management.zip (2.24 KB, 下载次数: 85)


作者: 小灰兔    时间: 2025-8-12 20:19
感谢分享
作者: wintoflash    时间: 2025-8-12 21:01
用上NtTranslateFilePath这个API了啊。
作者: Bluebells    时间: 2025-8-12 21:25
wintoflash 发表于 2025-8-12 21:01
用上NtTranslateFilePath这个API了啊。

以前是用 DRIVE_LAYOUT_INFORMATION_EX 结构里的数据设置 EFI_LOAD_OPTION 结构里的成员数据, 麻烦死了
后来看到您之前提到 NtTranslateFilePath 函数可以转换路径格式就开始研究这个.
话说, 虽然您提供了源码, 但我完全看不懂(因为我只会一点 autoit 和 purebasic 这种脚本语言), 但我通过使用 API Monitor 调试捕获了一下, 终于学会如何定义该函数的部分参数
作者: xtayspwk    时间: 2025-8-12 22:31
感谢分享
作者: tlzsw    时间: 2025-8-13 07:57
感谢大佬整理分享,这个真的很有用
作者: wang1126    时间: 2025-8-13 08:01
谢谢楼主分享
作者: 201012121135    时间: 2025-8-13 08:34
感谢分享
作者: wn168cn@163.com    时间: 2025-8-13 10:21
支持原创
作者: guong    时间: 2025-8-13 12:13
感谢楼主分享!
作者: Anson4    时间: 2025-8-13 21:09
感谢分享!
作者: 红毛樱木    时间: 2025-8-13 21:54
向PECMD2012高手致敬

作者: handsome_xiang    时间: 2025-8-14 01:25
感谢分享!
作者: alsar    时间: 2025-8-14 02:19
感谢分享
作者: 窄口牛    时间: 2025-8-14 06:44
下来玩玩,鼓励动手,赞扬分享。
作者: 窄口牛    时间: 2025-8-14 09:50
本来想下来玩玩,结果运行啥反应也没有,不会用。
作者: 527104427    时间: 2025-8-14 09:53
楼主实力堪比红毛,牛逼
作者: guong    时间: 2025-8-14 12:25
窄口牛 发表于 2025-8-14 09:50
本来想下来玩玩,结果运行啥反应也没有,不会用。

可以交流学习
作者: 窄口牛    时间: 2025-8-14 13:31
guong 发表于 2025-8-14 12:25
可以交流学习

我个文盲,哪有那资格。
作者: fegr    时间: 2025-8-14 14:21
感谢楼主分享
作者: pole87898843    时间: 2025-8-23 16:45
谢谢分享。
作者: snake2018    时间: 2025-8-31 11:20
谢谢楼主分享
作者: 278467907@qq.co    时间: 2025-9-1 15:00

谢谢楼主分享
作者: 1263884206    时间: 2025-9-18 17:52
牛逼
作者: vyuha    时间: 2025-9-26 19:36
谢谢分享
作者: liu2015    时间: 2025-10-2 11:36
感谢楼主 互相可以交流学习
作者: jbz85    时间: 2025-10-28 00:26
都是_SUB怎么调用呢?在什么情况下调用那个SUB。。。看的有点蒙。。
作者: jbz85    时间: 2025-10-28 00:27
我个人感觉可不可以用BCDEDIT来获取启动列表,整理判断后,用BCDEDIT删除多余的...
作者: tong2025tong    时间: 2025-10-28 00:34
学习学习




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3