1、介绍
PXE是在没有软驱、硬盘、CD-ROM的情况下引导计算机的一种方式,也就是BIOS将使用PXE协议从网卡引导,是解决老笔记本(光驱读盘能力差)和上网本、小本安装linux的有效办法。
2、准备工作
已安装Fedora 14实体主机1台
Fedora-14-i386-DVD.iso (准备系统DVD镜像)
准备安装系统的客户机 (需支持从网卡启动)
在Fedora14主机中安装需要用到的dhcp、tftp和vsftpd服务。
3、安装dhcp服务
yum install dhcp
修改 配置文件/etc/dhcp/dhcpd.conf
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.110;
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
option domain-name "domain.org";
option domain-name-servers 61.139.2.*;
next-server 192.168.0.2;
filename "pxelinux.0";
}
=====================================================
subnet 192.168.0.0 netmask 255.255.255.0 {
###DHCP服务器本身内网的IP段和子网掩码,网卡静态IP地址那个网段
range 192.168.0.100 192.168.0.110;
###分配给客户端IP 的范围
option routers 192.168.0.1;
###分配给客户端的路由网关
option subnet-mask 255.255.255.0;
###分配给客户端的子网掩码
option domain-name "domain.org";
####为客户端指明DNS名字,可以随便填
option domain-name-servers 61.139.2.*;
###为客户端指明DNS服务器IP地址,多个DNS地址请用逗号隔开
next-server 192.168.0.2;
###TFTP Server 的IP地址,网络安装时用到
filename "pxelinux.0";
###PXE 启动文件,网络安装时用到,这个文件是syslinux套件提供的
####不要忘记每一行后面的分号(;)和最后的那个括号哦!!!!
==============================================
关闭局域网中其它的DHCP服务器,以免造成IP冲突。
启动DHCP服务器
service dhcpd start 或 /etc/rc.d/init.d/dhcpd start
chkconfig dhcpd on ####设为开机自行启动DHCP
通过tail /var/log/messages或more /var/lib/dhcpd/dhcpd.leases 可以查看IP地址租用情况。
4、配置TFTP
TFTP Server
用以下命令查看系统是否已安装TFTP
#rpm -q tftp tftp-server
如果没有安装,用以下命令安装
yum install tftp tftp-server
修改配置文件
vi /etc/xinetd.d/tftp
server_args = -s /var/lib/tftpboot
把它修改为 server_args = -s /tftpboot
建立/tftpboot这个目录
mkdir -v /tftpboot
chmod -R 777 /tftpboot
启动TFTP
service xinetd start
chkconfig tftp on ####设为开机启动
5、PXE Boot loader (PXE引导加载程序)
pxelinux.0是syslinux套件提供的,用以下命令查看系统是否已安装和存放的目录,如果没有请安装
rpm -ql syslinux | grep pxelinux.0
发现pxelinux.0存放在
/usr/share/syslinux/pxelinux.0
把pxelinux.0复制到/tftpboot
cp -v /usr/share/syslinux/pxelinux.0 /tftpboot
6、提取需要的文件。
把Fedora-14-i386-DVD.iso/images/pxeboot 目录中的initrd.img 和vmlinuz 复制到/tftpboot 目录下;
建立PXE开机设置文件的存放目录
mkdir -pv /tftpboot/pxelinux.cfg
把Fedora-14-i386-DVD.iso/isolinux/isolinux.cfg 这个文件复制到 /tftpboot/pxelinux.cfg 目录下,并重命名为default
内容如下,每个lable是一个启动选项,输入lable后面的单词,然后回车来启动相应的选项。可根据实际情况自行修改。
如果在规定的时间内没输入,会以自动启动default那一项。
default vesamenu.c32(修改为linux即可,后面的设置默认)
#prompt 1
timeout 600
display boot.msg
menu background splash.jpg
menu title Welcome to Fedora 14!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label linux
menu label ^Install a new system or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img stage2=hd:LABEL="Fedora"
label vesa
menu label Install system with ^basic video driver
kernel vmlinuz
append initrd=initrd.img stage2=hd:LABEL="Fedora" xdriver=vesa nomodeset
label rescue
menu label ^Rescue installed system
kernel vmlinuz
append initrd=initrd.img stage2=hd:LABEL="Fedora" rescue
label local
menu label Boot from ^local drive
localboot 0xffff
label memtest86
menu label ^Memory test
kernel memtest
append -
把Fedora-14-i386-DVD.iso/isolinux/boot.msg 这个文件复制到 /tftpboot 目录下。只是开机信息而已,可以根椐实际情况修改。
到这里可以把要装系统的那台客户机开起来,进入BIOS,把网卡启动那一项打开,然后设置第一启动项为网卡,看能不能获取IP和启动安装程序,如果能就离成功不远了。
服务器和客户机都用VMware7虚拟机模拟,结果客户机开机时可以获取到IP地址,但总是出现PXE-E32 :tftp超时的错误提示,后来把服务器建在实体机上,测试才顺利通过。
7、安装FTP Server (当然也可以用NFS或HTTP来代替)
用以下命令查看系统是否已安装FTP Server
rpm -q vsftpd
如果没有,用以下命令安装。
yum install vsftpd
启动FTP
service vsftpd start 或 /etc/rc.d/init.d/vsftpd start
因为刚安装好的vsftpd启动后就可以匿名登陆,所以不必修改配置文件。启动后测试一下能不能登陆,用浏览器或FTP软件登陆测试看看。
如果不能,请修改配置文件。
8、把ISO直接挂载到FTP目录中去
mount -o loop Fedora-14-i386-DVD.iso /var/ftp/pub
这是最简单的方法。
9、再次确认服务是否启起来
service dhcpd restart
service xinetd restart
service vsftpd restart
10、启动安装
打开客户机,设置第一启动项为网卡,启动安装。
进入启动介面,直接回车,启动默认项。
选择语言,键盘布局,安装介质
由于默认是本地安装,所以到选择“安装介质”这步会出错,这时点击“back”键,就会出现安装方式的选择,选择“URL”即可(NFS的直接选NFS选项),然后输入ftp服务器的地址:ftp://192.168.0.2/pub,即可顺利进行PXE安装。