コンピュータがUEFIモードでの起動を拒否する-Intelギガビットネットワークカードに関するエラーが表示される


9

UEFIモードでマシンを起動しようとしたところ、次のメッセージが表示されました。

システムがアドオンネットワークデバイスのUEFIドライバーを見つけられない[0x10D38086]

私はDebian Linuxを実行していますが、それが適切かどうかはわかりません。私のシステムがLinuxの部分に到達したかどうかはわかりません。

これがlspci私のネットワークカードからの関連出力です

0a:00.0イーサネットコントローラー:Intel Corporation 82574L Gigabit Network Connection

マザーボード自体が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

この質問は、このチャットディスカッションのフォローアップです。
bwDraco 2017年

回答:


19

ここでの問題は、ネットワークアダプターのファームウェア、またはオプションROMがUEFIをサポートしていないことです。

アドオンカードには、プリブート環境で使用するための独自の実行可能コードを含めることができます。起動時にGPUとディスプレイを初期化するために使用されるグラフィックスカード上のVBIOSは、そのようなオプションROMの例です。ネットワークカードでは、これは通常PXEの実装に使用されます。UEFIは、通常、1カードのファームウェアが特別に作られたドライバが含まれている必要がありますが、それはそのようなドライバが含まれていないので、あなたのNICは、レガシーBIOSシステムのために作られました。そのため、互換性サポートモジュール(レガシーBIOS互換性レイヤー)を使用せず、更新が必要なUEFIシステムでは機能しません。

さらに掘り下げてみると、エラーメッセージで提供されたコード0x10D38086は、ネットワークカードのPCI ID であることがわかりました。8086:10D3はIntel Gigabit CTデスクトップアダプタです。

検索このカードの利用可能なダウンロードは上がってファームウェアの更新、それはUEFIをサポートするようにオプションROMを更新するために、NIC上にインストールすることができます。ダウンロードして解凍Preboot.tar.gzし、指示に従ってファームウェアを更新します。パーリリースノート、オプションROMを使用すると、取得しているエラーを修正する必要がありUEFIドライバが含まれています。

あなたのケースcomboでは、UEFIとPXEサポートを提供するファームウェアをフラッシュします:

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

ユーティリティが返すメッセージは、既存のファームウェアが提供する機能を示しているだけです。フラッシュプロセス中に上書きされます。これは正常です。

ファームウェアをフラッシュしたら、システムをネイティブUEFIモードで再起動し、機能するかどうかを確認します。そうでない場合は、ネットワークアダプターを交換する必要があります。


更新:ファームウェアをフラッシュするときにこのエラーが発生することをチャットで示しました:

Connection to QV driver failed - please reinstall it!

ファームウェアフラッシュプログラムがiqvlinux機能するには、iQVデバッグドライバー()が必要なようです。ドライバーはここからダウンロードできますが、ドライバーを自分でコンパイルしてロードする必要があります。install個別にダウンロードされたスクリプトは、インストールを行う必要があります。ドライバーパッケージを抽出して実行するだけではありませんmake


1 EFIドライバーは、EFIシステムパーティションまたはマザーボード自体のUEFIファームウェアにもあります。ただし、PCIおよびPCIeカードの場合、通常、カードのファームウェアで提供されます。


1
-少なくともわずかに関連するこのリンクルックスfedericofr.wordpress.com/2011/07/01/...
Faheem Mitha

私は一緒に行きbootutil64e -up=efi64 -all -FILE=/usr/local/src/Intel_Network_Card_Boot_Utility/APPS/BootUtil/BootIMG.FLBます。「EFIを更新するとPXE機能が削除されます。続行しますか?」というメッセージが表示されます。これが何を意味するのか正確にはわかりません。
Faheem Mitha 2017年

現在表示されているファームウェアは、現在のファームウェアがPXE機能を提供しており、EFI機能を提供するファームウェアで上書きされていることを示しています。PXEを失わないように両方を含めることができる場合があります。試してください-up=combo。そうでない場合、カードは明らかにこれらの機能の両方ではなく、一度に1つのみをサポートします。UEFI環境でカードを起動するには、PXE起動機能を失う必要があります。
bwDraco 2017年

とにかくUEFIはPXEを置き換えませんか?同様に、UEFIは、ネットワークドライバーがある場合、ネットワークからブートファイルをロードできます。
Zan Lynx 2017年

1
ネットワークカードには、bwDracoの支援によりUEFIファームウェアが搭載されています。UEFIブートをDebianインストーラーで動作させるために必要な最後の手順は次のとおりです。私のAsus MB(SABERTOOTH 990FX R2.0)では、セキュアブートにOS設定があります。Windowsから「その他のOS」に切り替えたところ、インストーラーがUEFIモードで起動した。その前に、それは静かに失敗しました。
Faheem Mitha 2017年

2

役立つ回答を提供してくれた@bwDracoに感謝します。

このプロセスが実際にどのように見えるかについて、ここにいくつかの詳細を追加します。

まず、ダウンロードして解凍しましたPreboot.tar.gz。警告-これは独自のディレクトリに解凍されないため、最初にそのディレクトリを作成します。

このユーティリティは、さまざまなオペレーティングシステムをサポートしていることに注意してください。ただし、他には何も実行しないため、Linuxでの動作についてのみ説明します。このユーティリティの主なドキュメントはDOCS/Adapter_User_Guide.pdfです。

このユーティリティのLinuxバージョンは、APPS/BootUtil/Linux_x64/bootutil64e(64ビット)と APPS/BootUtil/Linux32$ ls bootutil32(32ビット)の2つのバイナリ実行可能ファイルです。また、bootutilのドキュメントはAPPS/BootUtil/Docs/bootutil.txtです。

次に、ファイルAPPS/BootUtil/Linux_x64/bootutil64e/usr/local/binにコピーしましたが、最初に実行可能にする必要がありました。私がそれを実行したとき、私は得ました

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

これにiqvlinux.tar.gzは、https://sourceforge.net/projects/e1000/files/iqvlinux/1.2.0.3/からのLinuxカーネルモジュールソースアーカイブであるのダウンロードが必要でした。

注:そこにはrpmがありますが、それをdebに変換しようとすることは、かなり絶望的に見えます。そして、それはバイナリを含んでいるようには見えません、ただソースファイルとヘッダーだけです。これは明らかではありませんがinstall、同じディレクトリにスクリプトが必要です。次に実行します

sh install

またはユーザーと同様(奇妙なスクリプトをrootとして実行することは決して良い考えではありません)、それiqvlinux.tar.gzinstallスクリプトと同じレベルであることを確認してください。

これは出力を与えます

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

これはあなたの質問に対する答えですか?また、質問に編集する必要がある情報ではないようです。これを整理しないと、この非回答は削除されます。
DavidPostill

@DavidPostillこれは、希望する結果を得るために必要なことのトランスクリプトです。そして、私はそれを書き終えていません。
Faheem Mitha 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.