歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu環境ThinkPad T60啟動出現PXE-05錯誤的解決辦法

Ubuntu環境ThinkPad T60啟動出現PXE-05錯誤的解決辦法

日期:2017/2/28 16:55:47   编辑:Linux教程

一位以前的同事有一台 ThinkPad T60,幾個月之前在 Ubuntu 下突然不能上網了,而 Windows 上完全正常,而且啟動後會出現錯誤。經歷了 Ubuntu 7.04 時代,最近重裝Ubuntu 7.10 後,仍然未解決此問題。今天約好見面,幫他解決一下此問題,現特此記錄一下。

問題是這樣的:
1. 開機後,出現錯誤如下
Initializing Intel(R) Boot Agent GE v1.2.31
PXE-E05: The LAN adapter's configuration is corrupted or
has not been initialized. The Boot Agent cannot continue.

等幾秒後顯示
ERROR
Expansion ROM not initialized - PCI on Motherboard
? Bus:00, Device:00, Function:00

Press to continue

2. 此時筆記本仍然可以進入系統,包括 Windows 和 Ubuntu 。
3. Windows 可以正常上網,但 Ubuntu 堅決不從。
問題分析:
1. 當初裝 Ubuntu 7.04 ,開始一段時間上網是沒有問題的,排除系統識別硬件的不兼容問題。
2. Windows 可以上網,而 Ubuntu 不能,除去 Ubuntu 對硬件的驅動的問題,可以設想是 Windows 對硬件的兼容性較好,而 Linux 系統相對較差所致。

首先,我們可以來了解一下啟動報錯開始中的 PXE 是什麼意思?

PXE(preboot execute environment) 是由 Intel 公司開發的最新技術,工作於 Client/Server 的網絡模式,支持工作站通過網絡從遠端服務器下載映像,並由此支持來自網絡的操作系統的啟動過程,其啟動過程中,終端要求服務器分配IP地址,再用 TFTP(trivial file transfer protocol) 或 MTETP(multicast trivial file transfer protocol) 協議下載一個啟動軟件包到本機內存中並執行,由這個啟動軟件包完成終端基本軟件設置,從而引導預先安裝在服務器中的終端操作系統。 ?PXE 可以引導多種操作系統,如: Windows 95/98/2000,linux 等。
PXE 最直接的表現是,在網絡環境下工作站可以省去硬盤,但又不是通常所說的無盤站的概念,因為使用該技術的PC在網絡方式下的運行速度要比有盤 PC 快 3 倍以上。當然使用 PXE 的 PC 也不是傳統意義上的 TERMINAL 終端,因為使用了 PXE 的 PC 並不消耗服務器的 CPU , RAM 等資源,故服務器的硬件要求極低。

由說明來看,PXE 可以解釋為一種無盤的啟動模式,系統啟動時的報錯表明網絡的配置損壞或者未進行初始化,所以單純的解決啟動報錯的問題很簡單,可以在 BIOS 裡, CONFIG---NETWORK---INTERNAL NETWORK OPTION ROM ,把這個選項的參數改成DISABLE即可解決這個問題。但是解決了啟動報錯的問題後, Ubuntu 仍然不能上網,沒有解決根本上的問題。

上面的努力沒有得到根本的解決問題之道,我們再來看看後面報錯的信息,“ERROR Expansion ROM not initialized” ,從這句話可以看出,網卡 EEPROM 內容沒有初始化,我們可以大膽的預測 EEPROM 已經損壞,才出現的此信息。

EEPROM 是什麼?

EEPROM (Electrically Erasable Programmable Read-Only Memory),電可擦可編程只讀存儲器--一種掉電後數據不丟失的存儲芯片。 EEPROM 可以在電腦上或專用設備上擦除已有信息,重新編程。一般用在即插即用。

EEPROM(電可擦寫可編程只讀存儲器)是可用戶更改的只讀存儲器(ROM),其可通過高於普通電壓的作用來擦除和重編程(重寫)。不像EPROM芯片,EEPROM不需從計算機中取出即可修改。在一個EEPROM中,當計算機在使用的時候是可頻繁地重編程的,EEPROM的壽命是一個很重要的設計考慮參數。EEPROM的一種特殊形式是閃存,其應用通常是個人電腦中的電壓來擦寫和重編程。

經查, EEPROM 內容的損壞通常發生在正在對網卡 EEPROM 進行編程時,系統突然的復位或者掉電,如果 EEPROM 出現此類問題, PXE ROM 將不能執行引導,所以我們推論 EEPROM 內容已損壞,是能夠反推回為什麼 PXE 會出錯的問題(雖然有點勉強,但在沒有解決辦法的問題下只能大膽假設了)。

現在的問題是, EEPROM 已損壞,該怎麼修復?
首先想到的是刷新最新的 BIOS ,結果讓人失望, 刷新 BIOS 無效。

無果後在網上進行大范圍的搜索,經過一番搜索,終於找到了解決辦法,在老外的一個 Blog 上說,可以下載 Intel? Boot Agent PROBOOT.exe ,在純 Dos 下執行 "IBAUtil.exe -DEFCFG" 把 EEPROM 重新刷新為出廠設置即可解決此問題。
老外也提供一個 ISO 文件提供下載,地址為:
- CDProBOOT-0.2.iso - FreeDOS boot cd-rom, customized with PROBoot Intel tools and a DOS menu selector.
- md5sum: c12babeec8e1a0e9072e95575f32a69a

但是 Intel 提供的 bootcd 在僅有 NTFS 時有 Dos 路徑 bug ,如果上面的 ISO 有問題,還可以下載國內網友修改後的版本,地址為:
- CDProBOOT.iso - FreeDOS boot cd-rom, customized with PROBoot Intel tools and a DOS menu selector.
- md5sum: 63624e964a31802772d3a8fadecb1f3f

下載後將該 ISO 鏡像刻錄為光盤(比較浪費啊,iso 才3.1M大小),光盤啟動後選擇 2 ,回車,還沒等你反應過來,一切就已經恢復正常了。重新開機後把 BIOS 恢復為 Default ,啟動不再出錯, Ubuntu 也重歸正常。

據網上查找的情況來看,好多 Thinkpad T60 發生過這個故障,這到底是誰的問題呢?Lenovo? Intel ? ?Linux ?

Copyright © Linux教程網 All Rights Reserved