Networking Realtek UEFI UNDI驱动程序未加载

Networking Realtek UEFI UNDI驱动程序未加载,networking,bios,uefi,edk2,Networking,Bios,Uefi,Edk2,我正在开发efi应用程序,应与网络。 为了方便起见,我将EFI\Boot\bootx64.EFI文件更改为EFI shell,使系统上的启动EFI shell默认启动。 当shell启动时,我运行命令ifconfig-l查看可用的网络接口设置 我面临着以下行为 当系统默认引导我的shell(EFI\Boot\bootx64.EFI)时,我看不到任何运行命令ifconfig-l的网络接口。但是 如果我使用(在HP笔记本电脑上测试)“启动菜单/从文件启动”手动启动同一个文件(EFI\boot\boo

我正在开发efi应用程序,应与网络。 为了方便起见,我将
EFI\Boot\bootx64.EFI
文件更改为EFI shell,使系统上的启动EFI shell默认启动。 当shell启动时,我运行命令
ifconfig-l
查看可用的网络接口设置

我面临着以下行为

当系统默认引导我的shell(
EFI\Boot\bootx64.EFI
)时,我看不到任何运行命令
ifconfig-l
的网络接口。但是 如果我使用(在HP笔记本电脑上测试)“启动菜单/从文件启动”手动启动同一个文件(
EFI\boot\bootx64.EFI
),shell将启动并显示网络接口
eth0

所以,使用默认系统引导或从引导菜单手动加载相同的efi文件会给我不同的网络可用性结果

我决定比较两种情况下和两种情况下加载的驱动程序列表。 我注意到,当系统以默认模式引导时(不是通过从引导菜单手动指定设备),驱动程序
Realtek UEFI UNDI driver
不存在。当我从文件(
EFI\boot\bootx64.EFI
)手动引导时,它被加载

我认为缺少这个司机是原因。为了检查这一点,我做了以下测试:

  • 从network Realtek UNDI驱动程序下载(
    RtkUndiDxe.efi
  • 已将其复制到efi启动文件夹(
    efi\boot\
  • 系统默认引导到shell中,并通过命令
    load'RtkUndiDxe.efi
    结果,出现了网络接口

  • 有人能解释一下,为什么默认情况下系统引导Realtek UEFI UNDI驱动程序未加载?或者如何使系统从我自己的efi应用程序/驱动程序加载自己的
    Realtek UEFI UNDI驱动程序

    一些驱动程序未加载到BIOS中的“快速启动”选项中。当我关闭它时,现在已加载网络驱动程序和其他一些驱动程序。

    shell中的命令是什么?
    startup.nsh
    ?我在没有startup.nsh的情况下进行了测试。只是后来在那里添加了一些echo打印,没什么了。
    Startup.nsh
    我想原因不是我。因为,正如我所描述的,虽然加载了相同的shell和相同的
    startup.nsh
    文件,但以不同的方式加载相同的设备(默认启动或从启动菜单手动启动)会产生不同的结果。一些uefi系统实现“快速启动”模式。当此模式激活时,并非所有驱动程序都已加载。检查您的uefi菜单以了解此类设置。是的,您是对的。在“快速启动”模式下,某些驱动程序未加载。所以,下一个问题是:在这种情况下,我如何从我的efi应用程序或驱动程序中自己加载它们?