有没有可靠的方法来检测固件是否来自运行Windows内核驱动程序的BIOS或UEFI而无法访问磁盘?从Windows内核驱动程序检测固件是UEFI还是BIOS的可靠方法
0
A
回答
1
尝试ExGetFirmwareEnvironmentVariable函数。使用空变量名称和伪GUID调用此函数以确定Windows是使用BIOS还是UEFI安装的。有关更多详细信息,请参阅文档中所述的以下内容。
传统的BIOS平台不支持固件环境变量。呼叫ExGetFirmwareEnvironmentVariable在传统的基于BIOS的平台上始终会失败;如果在支持传统BIOS和UEFI的平台上使用旧BIOS安装Windows,它们也会失败。为了识别这些条件下,调用与虚拟VARIABLENAME字符串的功能(例如,一个空字符串)和虚设GUID如
“{} 00000000-0000-0000-0000-000000000000”
为VendorGuid参数。在传统的基于BIOS的平台上,或者在支持传统BIOS和UEFI但在其中使用传统BIOS安装Windows的平台上,该功能将失败并显示STATUS_NOT_IMPLEMENTED。在基于UEFI的平台上,该功能将失败,并显示特定于固件的错误(例如STATUS_VARIABLE_NOT_FOUND),以指示虚拟GUID名称空间不存在。
相关问题
- 1. 什么是Windows内核驱动程序?
- 2. 检测BIOS中的UEFI选项
- 3. 如何让我的基于UEFI EDK2的BIOS自动加载位于其固件卷中的驱动程序?
- 4. 谁先捕获数据包 - 内核还是驱动程序?
- 5. 检查驱动器是否可从C程序中移除? (Windows)
- 6. Windows 7内核驱动程序签名
- 7. 如何检查内核驱动程序是否附有libusb-0.1?
- 8. 如何从内部卸载Windows内核模式驱动程序?
- 9. 检测Webex客户端是否运行的可靠方法
- 10. 以编程方式检测共享驱动器是在UNIX还是在Windows操作系统
- 11. 如何检测USB驱动器是NTFS还是FAT32 in objective-c
- 12. 将我自己的UEFI应用程序\驱动程序添加到UEFI(VMware)
- 13. 检测文件是否在Windows中打开的程序化方法是什么?
- 14. 内核驱动程序检查内存是否被映射(BugCheck 0xC2)
- 15. 启动适量还原内核的一般方法是什么?
- 16. 将数据从内核驱动程序复制到用户空间驱动程序的最佳方法
- 17. 内核启动时(特别是在基于ARM的设备上)内核探测驱动程序
- 18. Linux内核中的驱动程序探测顺序
- 19. 内核驱动程序或用户空间驱动程序?
- 20. 内核驱动程序从进程ID读取进程内存
- 21. 检测家庭/桌面应用程序启动的可靠方法?
- 22. 使用Modernizr检测移动设备的最可靠方法是什么?
- 23. 摄像头视频流是由硬件/固件还是软件驱动程序压缩的?
- 24. 检测Android应用程序是否在'BlueStacks'中运行的可靠方式
- 25. Google USB Driver是内核模式驱动程序吗?
- 26. 是否有可能覆盖已编译到内核的驱动程序?
- 27. DebugPrintToFile函数调试Windows上的内核驱动程序
- 28. 是C2DM过度还是不可靠?
- 29. 什么是测试驱动程序?
- 30. Windows内核模式编程:驱动程序之间可能存在死锁吗?
@JonasGulle如果这是有帮助的,请将此帖标记为已回复给他人的好处。 – thtse