原本自己在安裝 Linux 時,都是自己客製化 Linux,挑選要安裝的套件,並做一些系統的調整後,做成 ISO 光碟,然後利用卡碟機來安裝,雖然很方便,但如果有同時多台要安裝,就會有些麻煩,所以想要利用 PXE(Preboot Execution Environment)  的功能,直接從網路上下載來安裝,另外一方面,現在的電腦主機絕大部分都有支援從 PXE 網路開機的功能,只不過在 BIOS 中預設是關閉的,只要打開就可以了![@more@]底下文章參考 鳥哥的 Linux 私房菜 — 安裝伺服器與 kickstart 和 CentOS 6 PXE Server Install (DHCP+TFTP+HTTP(FTP)+Kickstart) – ghoseliang- 點部落 完成
安裝 PXE Server 的方式
1. 安裝 DHCP Server
 # yum install dhcp 
2. 設定 DHCP Server
 # vim /etc/dhcp/dhcpd.conf 
 Authoritative; 
 default-lease-time                      259200; 
 max-lease-time                          518400; 
 option routers                          192.168.1.254; 
 option broadcast-address                192.168.1.255; 
 option subnet-mask                      255.255.255.0; 
 option domain-name-servers              140.111.66.10,168.95.1.1,8.8.8.8; 
 ddns-update-style                       none; 
 server-name                             pxe; 
 subnet 192.168.1.0 netmask 255.255.255.0 { 
     range 192.168.1.61 192.168.1.65; 
     option subnet-mask                  255.255.255.0; 
     option domain-name                  “pxe.tces.edu”; 
     next-server 192.168.1.6; 
     filename “pxelinux.0”; 
 } 
3. 啟動 DHCP Server,並設定成開機時啟動
 # chkconfig –level 3 dhcpd on 
 # service dhcpd start 
 正在啟動 dhcpd:                                           [  確定  ] 
檢查 DHCP Server 是否有正常執行
 # netstat -antulp | grep dhcp 
 udp        0      0 0.0.0.0:67                  0.0.0.0:*                               5526/dhcpd 
 4. 安裝 tftp Server 
 # yum install tftp-server tftp 
 5. 修改 /etc/xinetd.d/tftp 
 # 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 
         per_source              = 11 
         cps                     = 100 2 
         flags                   = IPv4 
 } 
6. 啟動 tftp 服務
 # /etc/init.d/xinetd start 
 正在啟動 xinetd:                                          [  確定  ] 
 # chkconfig –level 3 xinetd on 
 # chkconfig –level 3 tftp on 
 # netstat -antulp | grep xinetd 
 udp        0      0 0.0.0.0:69                  0.0.0.0:*                               5595/xinetd 
7. 安裝 syslinux 套件
 # yum install syslinux
8.複製設定檔到 /var/lib/tftpboot 目錄
 # cp /usr/share/syslinux/menu.c32  /var/lib/tftpboot 
 # cp /usr/share/syslinux/vesamenu.c32 /var/lib/tftpboot 
 # cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot 
 # cp /usr/share/syslinux/memdisk /var/lib/tftpboot 
 # cp /usr/share/syslinux/mboot.c32 /var/lib/tftpboot 
 # cp /usr/share/syslinux/chain.c32 /var/lib/tftpboot 
9. 建立 /var/lib/tftpboot/pxelinux.cfg 目錄,用來存放 PXE 開機時 Client 端的一些設定
 # mkdir /var/lib/tftpboot/pxelinux.cfg 
10. 下載 Linux ISO 光碟,並掛載
建立掛載目錄
 # mkdir -p /mnt/{x86_64,i386}
掛載 ISO 檔
 # mount -o loop /var/ftp/pub/CentOS-6.5-x86_64-bin-DVD1.iso /mnt/x86_64 
 # mount -o loop /var/ftp/pub/CentOS-6.5-i386-bin-DVD1.iso /mnt/i386 
11.  建立支援 HTTP 安裝的目錄,並複製 ISO 檔光碟的檔案
 # mkdir -p /var/www/html/CentOS/6.5/os/{x86_64,i386} 
 # cp -ra /mnt/x86_64/* /var/www/html/CentOS/6.5/os/x86_64 
 # cp -ra /mnt/i386/* /var/www/html/CentOS/6.5/os/i386
如果系統有啟動 SELinux,要多執行下面的動作
# restorecon -R -v /var/www/html 
12. 建立支援 FTP 安裝的目錄
 # ln -s /var/www/html/CentOS /var/ftp 
 如果系統有啟動 SELinux,要多執行下面的動作
 # restorecon -r /var/ftp 
 # setsebool -P ftp_home_dir=1 
 # setsebool -P allow_ftpd_full_access on 
13. 建立 PXE 開機所須的目錄,並複製開機檔案到對應的目錄
 # mkdir -p /var/lib/tftpboot/images/CentOS/6.5/{x86_64,i386} 
 # cp /mnt/x86_64/images/pxeboot/vmlinuz /var/lib/tftpboot/images/CentOS/6.5/x86_64 
 # cp /mnt/x86_64/images/pxeboot/initrd.img /var/lib/tftpboot/images/CentOS/6.5/x86_64 
 # cp /mnt/i386/images/pxeboot/vmlinuz /var/lib/tftpboot/images/CentOS/6.5/i386 
 # cp /mnt/i386/images/pxeboot/initrd.img /var/lib/tftpboot/images/CentOS/6.5/i386 
建立 PXE 開機的開機選單
 # vim /var/lib/tftpboot/pxelinux.cfg/default 
 UI vesamenu.c32
TIMEOUT 300
DISPLAY ./boot.msg
MENU TITLE Welcom to Tou-Cheng Elementary School PXE Server System
LABEL local
  MENU LABEL Boot from local drive
  MENU DEFAULT
  localboot 0
LABEL Install CentOS 6.5 x86_64 from FTP
  MENU LABEL Install CentOS 6.5 x86_64 from FTP
  kernel images/CentOS/6.5/x86_64/vmlinuz
  append initrd=images/CentOS/6.5/x86_64/initrd.img method=ftp://192.168.1.6/CentOS/6.5/os/x86_64/
LABEL Install CentOS 6.5 x86_64 from HTTP
  MENU LABEL Install CentOS 6.5 x86_64 from HTTP
  kernel images/CentOS/6.5/x86_64/vmlinuz
  append initrd=images/CentOS/6.5/x86_64/initrd.img method=http://192.168.1.6/CentOS/6.5/os/x86_64/
  建立 PXE 開機的 boot.msg 開機訊息
 # vim /var/lib/tftpboot/boot.msg 
 Welcom to Tou-Cheng Elementary School PXE Server System 
 The 1st menu can let you system goto hard disk menu. 
 The 2st menu can goto interactive installation step.