IBM笔记本启动时显示The LAN adapter's configuration is corrupted or has not been initialized.

英文相关blog参见:
http://www.matinfo.ch/blog/archive/2007/01/26/intel-nic-pxe-e05-error.html



一位以前的同事有一台 ThinkPad T60 ,几个月之前在 Ubuntu 下突然不能上网了,而 Windows 上完全正常,而且启动后会出现错误。经历了 7.04 时代,最近重装 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 ?

你可能感兴趣的:(职场,IBM,笔记本,休闲)