UEFI मोड में बूट करने के लिए कंप्यूटर मना करता है - इंटेल गिगाबिट नेटवर्क कार्ड के बारे में त्रुटि देता है


9

मैंने सिर्फ UEFI मोड में अपनी मशीन को बूट करने की कोशिश की, लेकिन यह संदेश मिला:

सिस्टम ऐड-ऑन नेटवर्क उपकरणों के लिए UEFI ड्राइवर नहीं ढूंढ सकता है [0x10D38086]

मैं डेबियन लिनक्स चला रहा हूं, लेकिन मुझे यकीन नहीं है कि यह प्रासंगिक है। मुझे यकीन नहीं है कि अगर मेरा सिस्टम भी लिनक्स भाग में आ गया है।

यहाँ lspciमेरे नेटवर्क कार्ड के लिए प्रासंगिक आउटपुट है

0a: 00.0 ईथरनेट नियंत्रक: Intel Corporation 82574L गीगाबिट नेटवर्क कनेक्शन

मुझे लगता है कि मदरबोर्ड यूईएफआई का समर्थन करता है। यहाँ 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

जवाबों:


19

यहां समस्या यह है कि आपके नेटवर्क एडेप्टर का फर्मवेयर, या विकल्प ROM , UEFI का समर्थन नहीं करता है।

ऐड-ऑन कार्ड में प्रीबूट वातावरण में उपयोग के लिए अपना निष्पादन कोड हो सकता है। एक ग्राफिक्स कार्ड पर VBIOS, जिसका उपयोग GPU को आरंभ करने और बूट समय पर प्रदर्शित करने के लिए किया जाता है, इस तरह के एक विकल्प ROM का एक उदाहरण है। नेटवर्क कार्ड पर, यह आमतौर पर पीएक्सई को लागू करने के लिए उपयोग किया जाता है । यूईएफआई को आम तौर पर 1 की आवश्यकता होती है कि कार्ड के फर्मवेयर में एक विशेष रूप से निर्मित ड्राइवर होता है, लेकिन आपका एनआईसी विरासत BIOS सिस्टम के लिए बनाया गया था, इसलिए इसमें ऐसा कोई ड्राइवर नहीं है। जैसे, यह यूईएफआई प्रणाली पर काम नहीं करेगा जो संगतता समर्थन मॉड्यूल (विरासत BIOS संगतता परत) का उपयोग नहीं करता है और इसे अपडेट करने की आवश्यकता है।

गहरी खुदाई करते हुए, मैंने पाया कि त्रुटि संदेश में प्रदान किया गया कोड 0x10D38086, नेटवर्क कार्ड की पीसीआई आईडी है। 8086: 10D3 इंटेल गिगाबिट सीटी डेस्कटॉप एडेप्टर है

इस कार्ड के लिए उपलब्ध डाउनलोड की खोज ने फर्मवेयर अपडेट को बदल दिया जिसे विकल्प ROM को अपडेट करने के लिए NIC पर स्थापित किया जा सकता है ताकि यह UEFI को सपोर्ट करे। Preboot.tar.gzफर्मवेयर को अपडेट करने के लिए निर्देशों को डाउनलोड करें और निकालें और उनका पालन करें। प्रति रिलीज नोट्स , विकल्प ROM UEFI ड्राइवरों, जो त्रुटि आप हो रही है ठीक करना चाहिए भी शामिल है।

आपके मामले में, comboफर्मवेयर को फ्लैश करें , जो यूईएफआई और पीएक्सई समर्थन प्रदान करता है:

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

संदेश उपयोगिता रिटर्न केवल इंगित करता है कि मौजूदा फर्मवेयर क्या कार्यक्षमता प्रदान करता है। यह फ़्लैश प्रक्रिया के दौरान ओवरराइट किया जाएगा; यह सामान्य बात है।

फ़र्मवेयर को फ़्लिप करने के बाद, सिस्टम को मूल UEFI मोड में रिबूट करें और देखें कि क्या यह काम करता है। यदि नहीं, तो आपको नेटवर्क एडाप्टर को बदलने की आवश्यकता होगी।


अपडेट: आपने चैट पर संकेत दिया है कि फ़र्मवेयर फ्लैश करने का प्रयास करते समय आपको यह त्रुटि हो रही है:

Connection to QV driver failed - please reinstall it!

ऐसा लगता है कि फर्मवेयर फ़्लैश प्रोग्राम को कार्य करने के लिए iQV डिबग ड्राइवर ( iqvlinux) की आवश्यकता होती है । ड्राइवर को यहां डाउनलोड किया जा सकता है , लेकिन आपको ड्राइवर को स्वयं संकलन और लोड करने की आवश्यकता होगी। installस्क्रिप्ट है, जो एक अलग डाउनलोड है, इंस्टॉलेशन करने के लिए आवश्यक है; ड्राइवर पैकेज को निकालें और न चलाएं make


1 EFI ड्राइवर EFI सिस्टम विभाजन या मदरबोर्ड पर UEFI फर्मवेयर में भी हो सकते हैं। हालांकि, PCI और PCIe कार्ड के लिए, यह आमतौर पर कार्ड के फर्मवेयर पर आपूर्ति की जाती है।


1
यह लिंक कम से कम मामूली रूप से प्रासंगिक है - federicofr.wordpress.com/2011/07/01/…
फहीम मीठा

मैं साथ जा रहा हूं bootutil64e -up=efi64 -all -FILE=/usr/local/src/Intel_Network_Card_Boot_Utility/APPS/BootUtil/BootIMG.FLB। संदेश कहता है: "ईएफआई को अपडेट करने से पीएक्सई कार्यक्षमता को हटा दिया जाता है। क्या आप जारी रखना चाहेंगे?" मैं वास्तव में इसका मतलब नहीं जानता।
फहीम मीठा

आपके द्वारा प्राप्त किया जा रहा है, यह दर्शाता है कि वर्तमान फर्मवेयर पीएक्सई कार्यक्षमता प्रदान करता है, और एक फर्मवेयर के साथ ओवरराइट किया जा रहा है जो ईएफआई कार्यक्षमता प्रदान करता है। आप दोनों को शामिल करने में सक्षम हो सकते हैं ताकि आप पीएक्सई को न खोएं; कोशिश करो -up=combo। अन्यथा, आपका कार्ड स्पष्ट रूप से एक समय में इन कार्यों में से केवल एक का समर्थन करता है, दोनों में नहीं, और आपको UEFI वातावरण में बूट करने के लिए कार्ड प्राप्त करने के लिए PXE बूटिंग सुविधा को खोने की आवश्यकता होगी।
bwDraco

वैसे भी UEFI पीएक्सई की जगह नहीं लेता है? जैसे कि, UEFI नेटवर्क से बूट फाइल लोड कर सकता है, अगर उसमें नेटवर्क ड्राइवर हो।
ज़ैन लिंक्स

1
मेरे नेटवर्क कार्ड में bwDraco की मदद के लिए अब UEFI फर्मवेयर है। यहां डेबियन इंस्टॉलर के साथ काम करने के लिए यूईएफआई बूट प्राप्त करने के लिए मुझे अंतिम कदम उठाना पड़ा। मेरे Asus MB (SABERTOOTH 990FX R2.0) पर, सिक्योर बूट में OS सेटिंग है। मैंने इसे विंडोज से "अन्य ओएस" पर स्विच किया, और इंस्टॉलर बूट यूईएफआई मोड में। इससे पहले, यह चुपचाप विफल रहा।
फहीम मीठा

2

उपयोगी उत्तर के लिए @bwDraco को धन्यवाद।

मैं यहाँ कुछ विवरण जोड़ रहा हूँ कि यह प्रक्रिया व्यवहार में कैसी दिखती है।

सबसे पहले, मैंने डाउनलोड किया और अनपैक किया Preboot.tar.gz। चेतावनी - यह अपनी स्वयं की निर्देशिका में अनपैक नहीं करता है, इसलिए पहले इसके लिए एक निर्देशिका बनाएं।

ध्यान दें कि यह उपयोगिता कई अलग-अलग ऑपरेटिंग सिस्टम का समर्थन करती है। हालाँकि, मैं केवल यह बताता हूँ कि यह लिनक्स पर कैसे काम करता है, क्योंकि मैं कुछ और नहीं चलाता। इस उपयोगिता का मुख्य दस्तावेज है DOCS/Adapter_User_Guide.pdf

इस उपयोगिता का लिनक्स संस्करण दो द्विआधारी निष्पादन योग्य हैं, APPS/BootUtil/Linux_x64/bootutil64e(64 बिट), और APPS/BootUtil/Linux32$ ls bootutil32(32 बिट)। और बूटूटिल के लिए प्रलेखन है 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/ से लिनक्स कर्नेल मॉड्यूल स्रोत संग्रह है ।

नोट: वहाँ एक आरपीएम है, लेकिन इसे डिबेट में बदलने की कोशिश बहुत निराशाजनक लगती है। और यह भी एक बाइनरी, बस स्रोत फ़ाइलों और हेडर शामिल नहीं लगता है। यह स्पष्ट नहीं है, लेकिन किसी को भी installउसी निर्देशिका में स्क्रिप्ट की आवश्यकता होती है । फिर भागो

sh install

या उपयोगकर्ता के समान (मूल के रूप में एक अजीब स्क्रिप्ट चलाना कभी भी एक अच्छा विचार नहीं है), यह सुनिश्चित करना कि स्क्रिप्ट 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

यहां रीफ्लेशिंग का सत्र प्रतिलेख है। कॉम्बो विकल्प पीएक्सई और यूईएफआई कार्यक्षमता दोनों को सक्षम करता है। ध्यान दें कि 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 यह वांछित परिणाम प्राप्त करने के लिए किसी को क्या करना है, इसकी एक प्रतिलेख है। और मैंने इसे लिखना समाप्त नहीं किया है।
फहीम मीठा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.