未加载 Realtek UEFI UNDI 驱动程序

问题描述

我正在开发应该与网络配合使用的 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 将启动并且 ifconfig -l 显示网络接口 eth0

因此,使用认系统启动或从启动菜单手动加载相同的 efi 文件会给我不同的网络可用性结果。

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

我认为缺少这个驱动程序'Realtek UEFI UNDI 驱动程序'是原因。为了检查这一点,我做了以下测试:

  1. 从网络下载 Realtek UNDI 驱动程序 (RtkUndiDxe.efi)
  2. 将其复制到 efi 启动文件夹 (EFI\Boot\)
  3. 通过系统认启动进入shell并通过命令load 'RtkUndiDxe.efi手动加载Realter UNDI驱动程序 结果,出现了网络接口。

谁能解释一下,为什么认情况下系统启动 Realtek UEFI UNDI 驱动程序 未加载?或者我如何让系统从我自己的 efi 应用程序/驱动程序加载它自己的 Realtek UEFI UNDI Driver

解决方法

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