Компьютер отказывается загружаться в режиме UEFI-выдает ошибку о гигабитной сетевой карте Intel

Я просто попытался загрузить свою машину в режиме UEFI, но получил это сообщение:

системе не удается найти драйвер UEFI для дополнительных сетевых устройств [0x10D38086]

Я использую Debian Linux, но я не уверен, что это актуально. Я не уверен, что моя система даже в Linux часть.

вот соответствующий вывод из lspci для моей сетевой карты

0a:00.0 контроллер Ethernet: Intel Corporation 82574L Гигабитное Сетевое Подключение

сама материнская плата поддерживает UEFI, я думаю. Вот вывод dmidecode для материнской платы.

dmidecode --type 2
# dmidecode 2.12
SMBIOS 2.7 present.

Handle 0x0002, DMI type 2, 15 bytes
Base Board Information
        Manufacturer: ASUSTeK COMPUTER INC.
        Product Name: SABERTOOTH 990FX R2.0
        Version: Rev 1.xx
        Serial Number: 130309723501985
        Asset Tag: To be filled by O.E.M.
        Features:
                Board is a hosting board
                Board is replaceable
        Location In Chassis: To be filled by O.E.M.
        Chassis Handle: 0x0003
        Type: Motherboard
        Contained Object Handles: 0
5
задан Faheem Mitha
27.02.2023 6:09 Количество просмотров материала 3048
Распечатать страницу

2 ответа

проблема здесь в том, что прошивка вашего сетевого адаптера, или ПЗУ, не поддерживает UEFI.

карта расширения может иметь собственный исполняемый код для использования в среде предварительной загрузки. VBIOS на видеокарте, используемый для инициализации GPU и отображения во время загрузки, является примером такой опции ROM. На сетевой карте это обычно используется для реализации PXE. С UEFI обычно1 требует, что прошивка карты содержит специальный драйвер, но ваш NIC был сделан для устаревших систем BIOS, поэтому он не содержит такого драйвера. Таким образом, он не будет работать на системе UEFI, которая не использует модуль поддержки совместимости (устаревший уровень совместимости BIOS) и нуждается в обновлении.

копая глубже, я обнаружил, что код, указанный в сообщении об ошибке 0x10D38086, это идентификатор PCI сетевой карты. 8086:10D3-это гигабит Intel CT для настольных ПК Адаптер.

поиск загрузки доступны для этой карты появился обновление прошивки , который может быть установлен на NIC для обновления option ROM так, что он поддерживает UEFI. Скачать и извлечь Preboot.tar.gz и следуйте инструкциям по обновлению прошивки. Per заметки параметр диск содержит драйверы UEFI, которая должна исправить ошибки.

в вашем случае, вспышка combo прошивка, которая обеспечивает поддержку UEFI и PXE:

bootutil64e -up=combo -all -FILE=BootIMG.FLB

сообщение, которое возвращает утилита, просто указывает, какие функции предоставляет существующая прошивка. Он будет перезаписан во время флэш-процесса; это нормально.

после того, как вы прошили прошивку, перезагрузите систему в родном режиме UEFI и посмотреть, если он работает. В противном случае необходимо заменить сетевой адаптер.


обновление: ты указал на чат что вы получаете эту ошибку при попытке прошить прошивку:

Connection to QV driver failed - please reinstall it!

похоже, что программа прошивки flash требует драйвер отладки iQV (iqvlinux), чтобы функционировать. Драйвер можно скачать здесь, но вам нужно скомпилировать и загрузить драйвер самостоятельно. The install script, который является отдельной загрузкой, необходим для выполнения установки; не просто извлеките пакет драйвера и запустите make.


1драйверы EFI также могут находиться в системном разделе EFI или во встроенном ПО UEFI на самой материнской плате. Тем не менее, для PCI и PCIe карт, он обычно поставляется на прошивке карты.

19
отвечен bwDraco 2023-02-28 13:57

спасибо @bwDraco за полезный ответ.

я добавляю некоторые детали здесь о том, как этот процесс выглядит на практике.

во-первых, я скачал и распаковал Preboot.tar.gz. Предупреждение-это не распаковать в свой собственный каталог, так что создать каталог для него в первую очередь.

обратите внимание, что эта утилита поддерживает несколько различных операционных систем. Тем не менее, я только опишу, как это работает на Linux, так как я больше ничего не запускаю. Сеть документация для этой утилиты DOCS/Adapter_User_Guide.pdf.

версия этой утилиты для Linux - это два двоичных исполняемых файла,APPS/BootUtil/Linux_x64/bootutil64e (64 бит), а APPS/BootUtil/Linux32$ ls bootutil32 (32 бит). А документация по bootutil APPS/BootUtil/Docs/bootutil.txt.

затем я скопировал файл APPS/BootUtil/Linux_x64/bootutil64e to /usr/local/bin, хотя сначала я должен был сделать его исполняемым. Когда я запустил его, я получил

root@orwell:/home/faheem# bootutil64e -?
Connection to QV driver failed - please reinstall it!

это тогда требуется загрузка iqvlinux.tar.gz, который является архивом исходных кодов модуля ядра Linux, из https://sourceforge.net/projects/e1000/files/iqvlinux/1.2.0.3/.

примечание: там есть rpm, но попытка преобразовать его в deb выглядит довольно безнадежной. И он даже не содержит двоичных файлов, только исходные файлы и заголовки. Это не очевидно, но нужно install скрипт в том же каталоге. Тогда запускайте

sh install

или как пользователь (запуск странного скрипта под root никогда не является хорошей идеей), убедившись, что iqvlinux.tar.gz на тот же уровень, что и install сценарий.

это дает выход

faheem@orwell:/usr/local/src/iqvlinux$ sh install
Extracting archive..OK!
make: Entering directory '/usr/local/src/iqvlinux/iqvlinux/src/linux/driver'
make -C /lib/modules/3.16.0-4-amd64/build SUBDIRS=/usr/local/src/iqvlinux/iqvlinux/src/linux/driver modules
make[1]: Entering directory '/usr/src/linux-headers-3.16.0-4-amd64'
make[1]: Entering directory `/usr/src/linux-headers-3.16.0-4-amd64'
  CC [M]  /usr/local/src/iqvlinux/iqvlinux/src/linux/driver/nalioctldrv.o
  CC [M]  /usr/local/src/iqvlinux/iqvlinux/src/linux/driver/linuxnaldriver.o
  CC [M]  /usr/local/src/iqvlinux/iqvlinux/src/linux/driver/linuxdriveros_i.o
  CC [M]  /usr/local/src/iqvlinux/iqvlinux/src/linux/driver/linuxdriverpci_i.o
  CC [M]  /usr/local/src/iqvlinux/iqvlinux/src/linux/driver/linuxdriverdevice_i.o
  CC [M]  /usr/local/src/iqvlinux/iqvlinux/src/linux/driver/linuxdrivermemory_i.o
  LD [M]  /usr/local/src/iqvlinux/iqvlinux/src/linux/driver/iqvlinux.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /usr/local/src/iqvlinux/iqvlinux/src/linux/driver/iqvlinux.mod.o
  LD [M]  /usr/local/src/iqvlinux/iqvlinux/src/linux/driver/iqvlinux.ko
make[1]: Leaving directory '/usr/src/linux-headers-3.16.0-4-amd64'
make: Leaving directory '/usr/local/src/iqvlinux/iqvlinux/src/linux/driver'
Skipping removing QV driver - it does not exist...
Copying iqvlinux.ko driver file to /lib/modules directory...cp: cannot create regular file ‘/lib/modules/3.16.0-4-amd64/kernel/drivers/net/iqvlinux.ko’: Permission denied                                                                                                                                                  
Error: failed to copy driver (‘/usr/local/src/iqvlinux/iqvlinux/src/linux/driver/iqvlinux.ko’ -> ‘/lib/modules/3.16.0-4-amd64/kernel/drivers/net/iqvlinux.ko’)

копирование модуля ядра на место вручную устраняет ошибку.

перед перепрошивать карточку, это выход bootutil64e на карту:

Port Network Address Location Series  WOL Flash Firmware                Version
==== =============== ======== ======= === ============================= =======
  1   001B213916B9    10:00.0 Gigabit YES PXE                           1.3.21

вот стенограмма сессии перепрошивки. Вариант комбо позволяет как PXE и интерфейса UEFI. Обратите внимание, что нужно указать расположение загрузочного образа с FILE вариант:

root@orwell:/home/faheem# bootutil64e -up=combo -all -FILE=/usr/local/src/Intel_Network_Card_Boot_Utility/APPS/BootUtil/BootIMG.FLB

Intel(R) Ethernet Flash Firmware Utility
BootUtil version 1.6.39.1
Copyright (C) 2003-2017 Intel Corporation

Programming flash on port 1 with flash firmware image
Create restore image of NIC 1 before proceeding? (Y)es or (N)o: Y
Y

Saving flash firmware image on port 1 to file 10D34008.FLB...
Filename 10D34008.FLB already exists.
(O)verwrite/proceed or (S)top execution?: O
O
saved

Updating PXE+EFI removes PXE functionality.
Would you like to continue? (Y)es or (N)o: Y
Y
/
Flash update successful

Port Network Address Location Series  WOL Flash Firmware                Version
==== =============== ======== ======= === ============================= =======
  1   001B213916B9    10:00.0 Gigabit YES UEFI,PXE Enabled              1.5.84
2
отвечен Faheem Mitha 2023-02-28 16:14

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх