最近遇到一个问题,公司内部的服务器由于比较老,光驱坏了,也不支持U盘启动,所以没办法,只能用pxe来安装操作系统。网上教程很多,但是不够清晰,下来我来写一下我的安转过程。

A.安装dhcp服务器

yum install dhcpvim /etc/dhcp/dhcpd.conf#可以直接拷贝我的下列配置,修改子网即可ddns-update-style interim;ignore client-updates;allow booting;allow bootp;subnet 192.168.2.0 netmask 255.255.255.0 {    range 192.168.2.250 192.168.2.253;    option routers 192.168.2.1;    option subnet-mask 255.255.255.0;    default-lease-time 21600;    max-lease-time 43200;    next-server 192.168.2.136;    filename "pxelinux.0";}

备注:

next-server:指定的地址是你启动文件存放的那个服务器,一般是tftp服务器地址。

启动dhcp服务器,如果报错,查看/var/log/message

chkconfig --add dhcpdservice dhcpd start

B.安装tftp服务器

yum install tftp-server/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        per_source              = 11        cps                     = 100 2        flags                   = IPv4}

启动

/etc/init.d/xinetd restart

C.安装一个http/nfs/ftp 中的任意一个即可,用来存放ks.cfg和iso镜像文件。

我选用http

yum install httpd /etc/init.d/httpd startchkconfig httpd on

D.配置tftp里面的所需文件

#引导文件yum install syslinux cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot#内核文件,把光盘挂在在/mnt即可。cp /mnt/p_w_picpaths/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpbootmkdir /var/lib/tftpboot/pxelinux.cfgcp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/defaultvim /var/lib/tftpboot/pxelinux.cfg/default#修改为如下,修改自己的服务器地址即可。default linuxprompt 1timeout 600display boot.msgmenu background splash.jpgmenu title Welcome to CentOS 6.6!menu color border 0 #ffffffff #00000000menu color sel 7 #ffffffff #ff000000menu color title 0 #ffffffff #00000000menu color tabmsg 0 #ffffffff #00000000menu color unsel 0 #ffffffff #00000000menu color hotsel 0 #ff000000 #ffffffffmenu color hotkey 7 #ffffffff #ff000000menu color scrollbar 0 #ffffffff #00000000label linux  menu label ^Install or upgrade an existing system  menu default  kernel vmlinuz  append   ks=http://192.168.2.136/ks.cfg initrd=initrd.imglabel vesa  menu label Install system with ^basic video driver  kernel vmlinuz  append initrd=initrd.img xdriver=vesa nomodesetlabel rescue  menu label ^Rescue installed system  kernel vmlinuz  append initrd=initrd.img rescuelabel local  menu label Boot from ^local drive  localboot 0xfffflabel memtest86  menu label ^Memory test  kernel memtest  append -

E.配置kickstart

#安装镜像位置mkdir /var/www/html/dvdcp -r /mnt/*  /var/www/html/dvd#配置kickstart文件yum install system-config-kickstartcp /root/anaconda-ks.cfg /var/www/html/ks.cfg vi ks.cfg#可以直接拷贝下列文件,注意http服务器修改为自己的即可。# Install OS instead of upgradeinstall# Use network installationurl --url="http://192.168.2.136/dvd"# Root passwordrootpw --iscrypted $1$t8TZKP5c$0OdX9sWkdoYuZlIXBkU8R.# System authorization informationauth  --useshadow  --passalgo=sha512# Use graphical installgraphicalfirstboot --disable# System keyboardkeyboard us# System languagelang en_US# SELinux configurationselinux --disabled# Installation logging levellogging --level=info# Reboot after installationreboot# System timezonetimezone --isUtc Asia/Shanghai# System bootloader configurationbootloader --location=mbr# Partition clearing informationclearpart --all%packages@base%end

F.配置结束,可以找一台主板具有pxe的功能机子测试即可。

据我所知,目前大部分PC机就支持的。