1、大规模部署案例
通过光盘手动安装部署CentOS6 OS的方式不适用于所有的应用环境,如新浪、百度等大型网络公司会有上千台服务器需要部署Linux OS,如果仍采用光盘手动安装OS则效率低下,这时就需要一种更加高效快捷的方式来统一部署OS。
目前行业内普遍采用的解决方案是通过网络方式安装并结合自动应答文件,实现自动安装部署OS。这种安装方式需要配置至少一台安装服务器,所有需要安装OS的客户端通过网络的方式连接服务器端启动安装程序,再根据服务器中存放的自动应答文件实现大规模自动安装部署OS。这种解决方案需要提前部署一台包含DHCP、TFTP、NFS等服务的安装服务器。整体环境的拓扑图如下:
安装部署流程为:客户端首先需要在BIOS中设置通过网络启动,当客户端启动后,就会通过发送广播包的方式寻找DHCP服务器,如果找到DHCP服务器,即可向该服务器申请获得包括IP地址在内的网络参数等,并通过DHCP获得TFTP的位置,当客户端获得TFTP服务器的地址后,即可从TFTP服务器上将启动文件下载至本机内存并运行,最终实现无盘启动的功能。可以在启动文件中设置Kickstart文件共享的位置,这样客户端启动后即可自动寻找Kickstart文件实现无人职守安装系统。注意Kickstart文件需要事先通过网络共享。在Kickstart文件中描述了如何安装设置操作系统、运行部署脚本等。
2、PXE简介
由于是无光盘网络启动的无人职守安装,这里需要一种名为PXE的技术。
PXE是由Intel公司开发的基于客户端/服务器模式的一种技术,其核心功能是让客户端通过网络从远端服务器下载启动镜像,从而实现网络启动。严格来说,PXE 并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE (Pre-boot Execution Environment)协议使计算机可以通过网络启动。协议分为 client 和 server 端,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PXE client 将放置在远端的文件通过网络下载到本地运行。运行 PXE 协议需要设置 DHCP 服务器和 TFTP 服务器。DHCP 服务器用来给 PXE client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。此外,在 PXE client 的 ROM 中,已经存在了 TFTP Client。PXE Client 通过 TFTP 协议到 TFTP Server 上下载所需的文件。
整个过程中,客户端要求服务器分配IP地址,再用TFTP协议下载位于服务器上的启动镜像到本机内存中并执行,由这个启动文件完成客户端基本软件的设置。这种技术只能实现从网络启动,当读取安装程序进入安装界面后,剩余的步骤如语言设置、管理员密码、网络参数等还需要我们手动配置,若要实现无人职守自动安装,还需要一种所谓的Kickstart的技术。
3、Kickstart技术
KickStart是一种无人职守安装OS的方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为 ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找 KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样,如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处读取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。
Kickstart文件可以通过三种方式生成:
(1)手动书写(需要一个文本编辑工具即可)
(2)通过system-config-kickstart图形工具
(3)通过红帽的安装程序Anaconda自动生成
首先安装system-config-kickstart图形工具,在终端命令行输入以下命令:
#yum -y install system-config-kickstart
安装完成后启动该图形工具,如下:
#system-config-kickstart
通过该图形工具进行系统基本配置、安装方式配置、启动程序配置、分区配置、网络配置、认证配置、安装包配置等。还可编写系统安装前及安装后需要运行的脚本。
4、配置安装服务器
(1)DHCP服务
DHCP服务器主要实现功能是在企业内部网络为客户端分配IP地址等网络参数。在无人职守环境中,当客户端选择从网络启动后,就会通过发送广播数据包的形式寻找DHCP服务器,从DHCP获得IP地址等参数后才可以通过TFTP共享读取启动文件。
首先,通过命令安装DHCP服务:
#yum -y install dhcp
安装完成后,配置DHCP服务的主配置文件/etc/dhcp/dhcpd.conf。
#vim /etc/dhcp/dhcpd.conf
subnet 192.168.10.0 netmask 255.255.255.0{
range 192.168.10.150 192.168.10.250;
option domain-name-servers 192.168.10.1; #设置为客户端分配的DNS服务器地址
option routers 192.168.0.1; #设置为客户端分配的网关地址
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.10.128; #next-server设置的即TFTP服务器的地址
filename "pxelinux.0"; #设置的是在该TFTP文件服务器上共享的启动文件名称
}
对网络启动至关重要的参数是next-server与filename,其中next-server设置的即TFTP服务器的地址,filename设置的是在该TFTP文件服务器上共享的启动文件名称,客户端通过这两个参数连接到TFTP服务器,并从中下载启动文件。
(2)TFTP服务
TFTP服务器为客户端提供一种简单的文件共享,TFTP非常适用于传输小且简单的PXE启动文件。命令如下:
#yum -y install tftp-server
安装完成后修改配置文件,默认的TFTP配置文件为/etc/xinetd.d/tftp。
#vim /etc/xinetd.d/tftp
server_args =-s /var/lib/tftpboot #定义了共享的目录,即共享文件要放置的目录路径
disable =no #默认值为yes,即服务默认为禁用状态,修改为no来启动TFTP服务
(3)NFS服务
NFS是Network File System的简写,即网络文件系统,NFS服务的特点是服务器配置简单,客户端通过网络访问NFS文件系统就像访问自己的本地磁盘一样方便。
这里使用它作为CentOS系统文件的共享服务平台,当客户端从网络启动正式进入安装界面后,还需要读取CentOS光盘的系统文件,以完成最后的安装。这些文件就通过NFS共享给网络用户。
Linux系统默认有安装NFS服务,仅需要修改配置文件提供共享文件即可。如下:
#vim /etc/exports
/media 172.16.0.0/255.255.0.0(ro)
默认该配置文件内容为空,编写了一个共享目录/media,后面的IP地址表示仅172.16.0.0网络可以访问该共享目录。ro表示客户端访问的权限为只读(read only)。
5、自动化安装案例
安装前需要确认如下内容:
关闭SELINUX、防火墙防止客户端无法访问服务器:
#vim /etc/sysconfig/selinux #设置为disabled 需要重启系统
#service iptables stop
#chkconfig iptables off
本例拓扑结构图如上图,具体实现步骤如下:
(1)安装部署DHCP服务器
#yum -y install dhcp
#vim /etc/dhcp/dhcpd.conf
subnet 192.168.10.0 netmask 255.255.255.0{
range 192.168.10.150 192.168.10.250;
option domain-name-servers 192.168.10.1;
option routers 192.168.0.1;
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.10.128;
filename "pxelinux.0";
}
启动DHCP服务并设置为开机启动:
#service dhcpd start
#chkconfig dhcpd on
(2)安装部署TFTP服务器
#yum -y install tftp-server
#vim /etc/xinetd.d/tftp #修改配置文件
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot #共享路径
disable = no #启动tftp服务
per_source = 11
cps = 100 2
flags = IPv4
}
(3)将客户端所需要启动文件复制到TFTP服务器
#yum -y install syslinux
#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
挂载光盘文件,并从光盘中复制启动镜像文件和启动配置文件至TFTP共享目录:
#mount /dev/cdrom /media/
#cp /media/isolinux/{vmlinuz,initrd.img,vesamenu.c32} /var/lib/tftpboot/
#mkdir /var/lib/tftpboot/pxelinux.cfg
#cp /media/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
#chmod 644 /var/lib/tftpboot/pxelinux.cfg/default
#vim /var/lib/tftpboot/pxelinux.cfg/default
append initrd=initrd.img ks=nfs:192.168.10.128:/ks/ks.cfg
重启TFTP服务并设置为开机启动:
#service xinetd restart
#chkconfig xinetd on
至此如果没有设置后面的ks参数,可以实现无光盘将其启动,后面的安装步骤需要手动进行,设置ks参数可以指定自动应答文件的位置,从而实现无人职守自动安装部署OS。
(4)部署NFS服务器
本例设置为通过访问192.168.10.128的NFS共享方式读取Kickstart文件,首先安装nfs-utils、rpcbind软件
#yum -y install nfs-utils rpcbind
#vim /etc/exports
/ks 192.168.10.0/255.255.255.0(ro)
/media 192.168.10.0/255.255.255.0(ro)
启动rpcbind、NFS服务并设置为开机启动
#mkdir /ks/
#service rpcbind start
#service nfs start
#chkconfig nfs on
#chkconfig rpcbind start
(5)将系统光盘或ISO文件通过NFS共享。
部署完成NFS服务后,需要将光盘中的文件复制/media目录中,如果有光盘与光驱,可通过mount的方式将光盘直接挂载至/media目录下,方法如下:
#mount /dev/cdrom /media
如果没有光盘仅有ISO镜像文件,可以将ISO镜像文件挂载到/media目录,方法如下:
#mount -o loop -t iso 9660 镜像文件 /media
(6)创建Kickstart自动应答文件
#yum -y install system-config-kickstart #安装图形工具软件system-config-kickstart
#system-config-kickstart #运行system-config-kickstart ,需要图形界面支持
配置说明:配置语言为英文、键盘为美式、时区为亚洲/上海、root密码等。如需要字符安装界面请勾选倒数第二行
配置说明:配置安装方式:可选全新安装或升级安装,设置安装过程中所需要的安装文件(CentOS光盘文件)通过NFS共享读取,这里设置NFS服务器为192.168.10.128,共享目录为/media。
配置说明:配置系统引导程序,安装方式选择全新安装GRUB引导程序,GRUB引导密码未设置,将系统引导程序安装在MBR区域,内核参数未设置任何特殊参数
配置说明:分区选择移除所有的现有分区后重新分区,并初始化磁盘标签。这里通过图形生成的Kickstart文件无法使用LVM逻辑分区,如果需要使用LVM逻辑卷分区,则需要手动修改生成后的Kickstart文件。
配置说明:添加网络设备eth0,并设置为通过DHCP获得网络参数
配置说明:这里是认证设置,所有的用户密码都使用SHA512算法加密。如需要将本机加入活动目录可修改LDAP参数
配置说明:这里设置SELinux与防火墙,根据需求进行设置。
配置说明:安装包选择根据实际情况配置,一般为了安全和简洁,最小化安装即可
配置说明:Pre-Installation Script可以写入在安装系统前需要运行的脚本,没有特殊需要时该脚本可以为空
配置说明:Post-Installation Script可以写入安装系统后需要运行的部署脚本
所有的配置选项设置完成后,通过File菜单中的Save可实现保存生成Kickstart文件,保存至/ks目录下,取名为ks.cfg
(7)修改ks.cfg,配置支持LVM逻辑卷
LVM管理磁盘有很多好处,比如磁盘空间的动态调整,将多个磁盘当成一个分区使用,但system-config-kickstart工具不支持LVM逻辑卷的分区设置,因此只能生成后手动修改,ks.cfg逻辑卷的语法如下:
#Disk partitioning information
part pv.
volgroup name partition
logvol --vgname=<volume_group_name> --size= --name=
注意:上面提到的选项是有先后顺序的。物理卷将先被创建,然后是卷组和逻辑卷
配置ks.cfg文件内容如下:
#vim /ks/ks.cfg
……以上省略……
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --asprimary --fstype="ext4" --size=300 ##启动分区必须是主分区
part swap --fstype="swap" --size=2048 ##SWAP分区
part pv.01 --size=1 --grow ##剩余空间建立物理卷
volgroup vg_root pv.01 ##建立卷组
logvol / --vgname=vg_root --size=20480 --name=lv_root ##建立根逻辑卷
logvol /var --vgname=vg_root --size=10240 --name=lv_var ##建立var目录逻辑卷
logvol /home --vgname=vg_root --size=40960 --name=lv_home ##建立家目录逻辑卷
##以上空间大小根据实际需要和磁盘空间情况进行调整
%packages
@base
@chinese-support
@console-internet
@core
……以下省略……
(8)安装后要执行脚本写法:
安装后服务器不能上网,可以将所有yum源更改为此ftp服务器,修改ks.cfg文件如下:
......以上省略......
%post --interpreter=/bin/bash
rm -rf /etc/yum.repos.d/*
echo ‘[centos6]
name=centos6
baseurl=ftp://192.168.10.128/media/
enabled=1
gpgcheck=1
gpgkey=file:///192.168.10.128/media/RPM-GPG-KEY-CentOS-6‘ >/etc/yum.repos.d/centos6.repo
##此处脚本还可以统一放在ftp服务器上,用命令先下载后在本地执行,如下:
#mkdir /var/scripts
#wget ftp://192.168.10.128/pub/scripts/* -O /var/scripts ##将所有脚本下载到本地
#chmod +x /var/scripts/* -R ##赋予全部脚本执行权限
#/var/scripts/xxx1.sh
#/var/scripts/xxx2.sh
%end
......以下省略......
要实现其它功能方法一样。
(9)启动客户端,安装部署系统。
在所有客户端主机的BIOS中,将第一启动方式设置为PXE网络启动,或通过类似于开机按F12键设置启动方式。由于不同型号的主机设置网络启动的方式不同,用户可根据计算机的说明书设置。设置完成后,重启所有的客户端计算机即可完成大规模集中安装部署OS。
6、常见问题分析
(1)出现 PXE-E32:TFTP OPen timeout的解决办法
查找PXE启动芯片出错代码表,是说tftp没有运行
PXE-E32:TFTP open timeout TFTP"Open"请求没有应答,验证TFTP服务是否正在运行
#service xinetd restart #重启xinetd服务,并确定端口是否开启监听
#netstat -anltup | grep :69
#service iptables stop 至此问题还出现里检查防火墙、SELinux状态
#chkconfig iptables off
#vim /etc/sysconfig/selinux
SELINUX=disabled 重启生效
(2)pxe启动里提示Could not find kernel image:vesamenu.c32
出现上述问题时应该把vesamenu.c32文件拷贝到/var/lib/tftpboot/目录下
#cp /media/isolinux/{vmlinuz,initrd.img,vesamenu.c32} /var/lib/tftpboot/
(3)无法从RAID卡启动
如果执行了安装程序但无法正常启动系统,则可能需要重新创建分区。
因为有些BIOS启动模式并不支持从RAID卡启动,在安装结束后会有一个字符界面的引导提示符(如GRUB:)并伴随着闪烁的光标,这时就需要重新为系统分区。
无论是手动安装还是自动安装,/boot分区都不要使用RAID阵列创建,可以使用单独的一个磁盘或分区。
(4)系统提示Signal 11错误
这一般被认为是段错误,表示程序访问了未分配给它的内存空间,这个错误可能是软件Bug或硬件错误。
(5)图形安装错误
有些显示卡无法从启动图形安装程序,如果安装程序无法运行默认设置,它将自动以低分辨率模式进行安装,如果这样还是失败,安装程序将试图以字符界面安装系统。
可在启动菜单中选择Install system with basic video drive,或使用xdriver=vesa引导选项手动解决该问题。
另外可以通过resolution=选项强制修改分辨率。
(6)安装过程中提示找不磁盘(No devices found to install Red Hat Enterprise Linux)
如果出现该提示信息,可能是由于SCSI控制器未被识别引起的,请检查硬件是否在CentOS所支持的硬件列表中。
(7)分区表错误
如在磁盘分区设置完成后提示:The partition table on device hda was unreadable.To create new partitions it must be initialized,causing the loss of ALL DATA on this drive.
这说明磁盘没有分区表或分区表无法识别,出现这种情况,首先要备份数据,然后尝试修复分区表。
(8)其他分区问题
如果手动进行分区,并且无法进行下一步操作,可能是由于你没有创建系统所需要的所有分区。
通常情况下,至少要有两个分区:/(根分区)和swap(交换分区)
(9)图形环境问题
如果安装了X Windows系统,但无法进入图形环境,可以尝试在命令行输入startx命令进入图形。
运行startx后,图形界面开启了,注意这仅是临时的修复方式,如果要永久生效需要编辑/etc/inittab文件,内容如下:
#vim /etc/inittab
id:3:initdefault: #要改变图形登录,需要将3更改为5
(10)无法开启图形界面
在上操作过程中若startx未能将图形开启,则可能是未安装X Windows
可以通过CentOS安装光盘执行升级操作安装该软件,需要选择X Windows 软件包,并选择GNONE与KDE软件两者之一或全部。
(11)图形登录问题
如果已经开启了图形,但所有的用户都无法登录系统,则可能是磁盘已经满。
可在字符界面执行df -h命令查看磁盘使用情况。注意/home和/tmp可能会被用户很快用完。
(12)忘记密码
如果忘记了root用户的密码,就需要进入单用户模式。
在出现GRUB引导程序时,按e键可以编辑GRUB引导参数,选择以kernel开始的行按e键进行编辑,在kernel行末尾加入single后按回车键,按b键启动系统并进入单用户模式。
在单用户模式中,可以通过输入命令来修改root密码:
#passwd root #输入两次密码后完成
#shutdown -r now #重启系统
附一份“PXE启动芯片出错代码表、初始化/引导/载入Bootstrap错误代码”:
PXE-E00:Could not find enough free base memory.
PXE主代码和UNDI运行时模块从闪存或上位内存拷贝至基本内存顶部480K(78000h)至640K(A0000h)的剩余空间位置,这段内 存必须被系统BIOS填零,如果这些内存没有填零,PXE ROM里的重布置代码将认为这些内存已经被系统BIOS或其它启动ROM占用了。
PXE-E01:PCI Vendor and Device IDs do not match!
此信息在成品BIOS中不可能出现,当系统BIOS初始化基于PCI的ROM时,它将假设PCI总线/设备/模块(Bus/Device/Function)值已在AX寄存器里通过审核,如果AX寄存器里定义的PCI设备不匹配UNDI设备,将出现此错误代码。
PXE-E04:Error reading PCI configuration space
如果任何PCI BIOS调用导致PCI设置空间返回错误代码,此信息将出现,此信息将不会在成品BIOS和硬件上出现。
PXE-E05:EEPROM checksum error
如果网卡EEPROM内容被损坏,将出现此信息。EEPROM内容的损坏通常发生在正在对网卡EEPROM进行编程时系统突然复位(Reset)或掉电的情形下,如果出现此信息,PXE ROM将不执行引导。
PXE-E06:Option ROM requires DDIM support
此信息将不会在成品BIOS中出现,PCI可选ROM通常必须被设置为DDIM可选ROM(通常必须被安置在读/写上位内存中)
PXE-E07:PCI BIOS calls not supported
此信息将不会在成品BIOS中出现,PCI BIOS必须有PCI BIOS服务。
PXE-E08:Unexpected API error.API:xxxxh Status:xxxxh
如果PXE API返回一个运行时加载器(Runtime Loader)预料之外的状态代码,将出现此信息
PXE-E09:Unexpected UNDI loader error.Status:xxxxh
如果UNDI运行时加载器(Runtime Loader)返回预料之外的状态代码,将出现此信息
ARP错误代码:
PXE-E11:ARP timeout PXE ROM
将重试四遍ARP请求,如果无法获取任何有效的ARP答复,将出现此信息,此信息通常源于一些网络和服务设置错误,通常的原因有:
1.在DHCP主服务器上设置了DHCP类标识符(Option 60)却在另一台服务器上安装了ProxyDHCP服务。
2.使用了不响应ARP请求的路由器
BIOS和BIS错误代码:
PXE-E20:BIOS extended memory copy error.AH==nn
如果BIOS扩展内存拷贝服务返回一个错误信息,此信息将出现,在成品BIOS中将不会遭遇此信息,代码"nn"为BIOS扩展内存拷贝服务(Int 15h,AH=87h)返回的错误代码。
PXE-E21:BIS integrity check failed 如果在扩展内存中的BIS映像损坏,则将显示此信息
PXE-E22:BIS image/credential validation failed 下载的映像和证书不匹配客户端关键字
PXE-E23:BIS initialization failed BIS 无法被初始化,没有更多可用数据
PXE-E24:BIS shutdown failed BIS 无法停止,没有更多可用数据
PXE-E25:BIS get boot object authorization check flag failed--2
PXE启动芯片出错代码表无法检测BIS已启用/已禁用
PXE-E26:BIS free memory failed 无法释放BIS分配内存
PXE-E27:BIS get signature information failed 请求BIS证书类型信息不能被确定。
PXE-E28:BIS bad entry structure checksum SM BIOS表中的BIS入口结构无效。
TFTP/MTFTP错误代码:
PXE-E32:TFTP open timeout TFTP"Open" 请求没有应答,验证TFTP服务是否正在运行。
PXE-E35:TFTP read timeout 未收到下一个TFTP数据包
PXE-E36:Error received from TFTP server 从TFTP服务器上收到了一个错误的TFTP数据包
PXE-E38:TFTP cannot open connection 当试图送出一个TFTP"Open"包时发生了一个硬件错
PXE-E39:TFTP cannot read from connection 当试图送出一个TFTP应答包时发生了一个硬件错
PXE-E3A:TFTP too many packages. 此信息意味着发生了下列两种情况中的一个:1.你试图用TFTP下载一个比分配的缓冲区更大的文件2.你作为一个从(Slave)客户 端使用MTFTP开始下载一个文件,而当你变成一个主(Master)客户端时,此文件的大小发生了改变。
PXE-E3B:TFTP error– File not found 请求的文件在TFTP服务器上无法找到。
PXE-E3C:TFTP error– Access violation 已在TFTP服务器上找到了请求的文件,但TFTP服务没有足够的访问权限开启/读取文件。
PXE-E3F:TFTP packet size is invalid收到的TFTP包大小超过1456bytes BOOTP/DHCP错误代码
PXE-E51:No DHCP or proxyDHCP offers were received客户端没有收到任何有效的DHCP、BOOTP或proxyDHCP应答。
PXE-E52:proxyDHCP offers were received.No DHCP offers were received客户端没有收到任何有效的DHCP或BOOTP应答,但客户端收到了至少一个有效的proxyDHCP应答。
PXE-E53:No boot filename received 客户端收到了至少一个有效的DHCP/BOOTP应答,但没有启动文件名可下载。
PXE-E55:proxyDHCP service did not reply to request on port 4011 客户端发出一个proxyDHCP请求到DHCP服务器的4011端口并没有收到回复。
UNDI错误代码:
PXE-E60:Invalid UNDI API function number 一个被基本代码所使用的API在UNDI ROM中无法执行。
PXE-E61:Media test failed,check cable 网线没有插或没有连接,可能是网线坏、网卡坏或连接问题。
PXE-E63:Error while initializing the NIC 初始化网卡硬件时出现错误,建议换网卡。
PXE-E64:Error while initializing the PHY 试图初始化PHY硬件时出现错误,建议换网卡。
PXE-E65:Error while reading the configuration data 读取网卡设置数据时出现错误,建议换网卡。
PXE-E66:Error while reading the initialization data 读取网卡初始化数据时出现错误,建议换网卡。
PXE-E67:Invalid MAC address 存储在这块网卡中的MAC地址无效,建议换网卡
PXE-E68:Invalid EEPROM checksum EEPROM校验和错误,EEPROM内容已损坏,建议换网卡
PXE-E69:Error while setting interrupt 无法配置硬件中断,建议换网卡。
Bootstrap和Discovery错误代码:
PXE-E74:Bad or missing PXE menu and/or prompt information已检测到PXE标识但启动菜单和/或启动命令提示符标识未发现/不存在
PXE-E76:Bad or missing multicast discovery address 多播创建已启动但多播创建地址标识不符
PXE-E77:Bad or missing discovery server list多播和广播创建(Discovery)都被禁用,或使用服务器列表启用,但服务器列表标识未发现/不存在
PXE-E78:Could not locate boot server 有效的引导服务器应答未被客户端收到
PXE-E79:NBP is too big to fit in free base memory NBP太大,超过客户端基本内存容量
PXE-E7A:Client could not locate asecure server当客户端未从启动服务器收到任何安全信息并且客户端上的BIS已被启用,将显示此信息。
PXE-E7B:Missing MTFTP server IP address当ROM未收到PXE创建标识或proxyDHCP回应和DHCP SIADDR区域被设置为0.0.0.0,将显示此信息。
未分类错误代码:
PXE-EA0:Network boot canceled by keystroke用户在DHCP/创建/TFTP过程中按了"Esc"或"Ctrl+C"键
基础代码/UNDI Loader错误代码:
PXE-EC1:BaseCode ROM ID structure was not found UNDI引导模块不能发现基础代码ROM ID结构。如果系统中有基础代码ROM映像,它可能已经损坏了
PXE-EC3:BaseCode ROM ID structure is invalid 基础代码ROM ID结构有问题,基础代码ROM映像已经损坏了
PXE-EC4:UNDI ROM ID structure was not found 基础代码载入模块不能在UNDI ROM ID结构中定位
PXE-EC5:UNDI ROM ID structure is invalid UNDI ROM映像已经损坏了
PXE-EC6:UNDI driver image is invalid UNDI ROM 映像已经损坏了
PXE-EC8:!PXE structure was not found in UNDI driver code segment UNDI ROM映像已经损坏了,或者未能被BIOS载入,此错误信息通常系如下一个或三个原因所致:
1.当即将调用一个LOM映像的时间点,网卡映像正在被编程进BIOS
2.在PXE可选ROM开始启动之前,PXE可选ROM载入自检内存管理器(POST Memory Manager,$PMM)分配的内存期间被损坏或删除。
3.在载入ROM结构期间UNDI_Loader结构未被正确载入
PXE-EC9:PXENV structure was not found in UNDI driver code segment UNDI ROM映像可能被损坏了,或未被BIOS载入,此错误信息通常系如下三个原因所致:
1.当即将调用一个LOM映像的时间点,网卡映像正在被编程进BIOS
2.在PXE可选ROM开始启动之前,PXE可选ROM载入自检内存管理器(POST Memory Manager,$PMM)分配的内存期间被损坏或删除。
3.在载入ROM结构期间UNDI_Loader结构未被正确载入。