据我了解,如果我使用StdLib Pkg构建UEFI应用程序,它依赖于ShellPKg,并且必须通过新Shell启动应用程序(UEFI Interactive Shell v2.1 EDK II UEFI v2.60)。因此,通过使用ShellPkg构建的2.1 Shell手动启动应用程序,但不适用于EBL shell,或通过gBS-> StartImage。
我的问题:是否可以通过BDS(引导设备选择)启动使用StdLib构建的库的UEFI应用程序,而无需先启动Shell并使用startup.nsh启动您想要的UEFI应用程序?
例如尝试使用StdLib启动UEFI应用程序,在BDS中使用以下命令,因为它未通过Shell启动而无法工作: Status = gBS-> StartImage(ImageHandle,NULL,NULL);
所以我想要实现的是在BDS启动期间用StdLib包执行UEFI应用程序的函数调用。最好不要通过启动脚本。
BR Gigu
答案 0 :(得分:0)
是的,您可以通过BDS执行UEFI应用程序。
要通过BDS启动/执行UEFI应用程序,我们需要使用BOOT #### NV变量来启动/执行UEFI应用程序。
要通过BDS加载UEFI驱动程序,我们可以使用DRIVER #### NV变量加载DXE,UEFI驱动程序。
使用这种方式,我们不需要使用Starup.nsh方式或Shell环境来启动/执行UEFI应用程序。