PXE簡紹
PXE(preboot execute environment,預啟動執行環境)是由Intel公司開發的最新技術,工作于Client/Server的網絡模式,支持工作站通過網絡從遠端服務器下載映像,并由此支持通過網絡啟動操作系統,在啟動過程中,終端要求服務器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)協議下載一個啟動軟件包到本機內存中執行,由這個啟動軟件包完成終端(客戶端)基本軟件設置,從而引導預先安裝在服務器中的終端操作系統。PXE可以引導多種操作系統,如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux系列系統等。
PXE啟動原理
當計算機引導時,BIOS把 PXE Client調入內存中執行,然后由PXE Client將放置在遠端的文件通過網絡下載到本地運行。
若要搭建 PXE網絡體系,必須要滿足以下條件:
- 客戶機的網卡支持 PXE 協議(集成 BOOTROM 芯片),且主板支持網絡引導
- 網絡中有一臺 DHCP 服務器,以便為客戶機分配地址、指定引導文件位置服務器通過 TFTP(Trivial File Transfer Protocol)簡單文件傳輸協議提供引導鏡像文件的下載。
![image_1cqs2v6o1uu11ss3ok1t5fhu49.png-51.7kB]()
工作過程
工作站開機后, PXE BootROM(自啟動芯片) 獲得控制權之前先做自我測試,然后 以廣播形式發出一個請求 FIND 幀。 如果服務器收到工作站所送出的要求, 就會送回 DHCP 回應, 內容包括用戶端的 IP 地址, 預設通訊通道, 及開機映像文件。否則,服務器會忽略這個要求。工作站收到服務器發回的響應后則會回應一個幀,以請求傳送啟動所需文件。 之后,將有更多的訊息在工作站與服務器之間作應答, 用以決定啟動參數。 BootROM 由 TFTP通訊協議從服務器下載開機映像檔, 這個映像檔就是軟盤的映象文件。 工作站使用 TFTP 協
議接收啟動文件后,將控制權轉交啟動塊,引導操作系統,完成遠程啟動
搭建6系統的PXE遠程安裝服務器
PXE用桌面模式,配置DHCP,配置TFTP
- 準備CentOS6安裝源
使用FTP服務,將安裝源放至/var/ftp/centos6/目錄下
[root@localhost yum.repos.d]# mount /dev/sr0 /media/cdrom/mount: block device /dev/sr0 is write-protected, mounting read-only[root@localhost yum.repos.d]# cd ~[root@localhost ~]# mkdir -p /var/ftp/centos6[root@localhost ~]# cd /var/ftp/centos6/[root@localhost centos6]# cp -rp /media/cdrom/* . //將光盤源放入/var/ftp/centos6 中。不懂的研究FTP

- 安裝并啟用TFTP服務
[root@localhost centos6]# yum -y install tftp-server[root@localhost centos6]# vim /etc/xinetd.d/tftp

root@localhost centos6]# /etc/init.d/xinetd start //啟動服務正在啟動 xinetd: [確定][root@localhost centos6]# chkconfig tftp on //開機自啟動
- 準備Linux內核,初始化鏡像文件
![image_1cqs62h401e8va761ae224s12ds1t.png-17.7kB]()

- 準備PXE引導程序,啟動菜單文件
[root@localhost isolinux]# yum -y install syslinux[root@localhost isolinux]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/[root@localhost isolinux]# ls /var/lib/tftpboot/initrd.img pxelinux.0 vmlinuz[root@localhost isolinux]# cp /var/ftp/centos6/isolinux/isolinux.cfg /var/lib/tftpboot/[root@localhost isolinux]# ls /var/lib/tftpboot/initrd.img isolinux.cfg pxelinux.0 vmlinuz[root@localhost isolinux]# chmod 644 /var/lib/tftpboot/isolinux.cfg[root@localhost isolinux]# cd /var/lib/tftpboot/[root@localhost tftpboot]# vim isolinux.cfg //內核啟動文件


- 安裝并啟動DHCP服務
[root@localhost tftpboot]# yum -y install dhcp[root@localhost tftpboot]# cd /etc/dhcp/[root@localhost dhcp]# lsdhclient.d dhcpd6.conf dhcpd.conf[root@localhost dhcp]# vim dhcpd.conf[root@localhost dhcp]# cp /usr/share/doc/dhcp*/dhcpd.conf.sample .[root@localhost dhcp]# lsdhclient.d dhcpd6.conf dhcpd.conf dhcpd.conf.sample[root@localhost dhcp]# cat dhcpd.conf.sample > dhcpd.conf[root@localhost dhcp]# vim dhcpd.conf



- 安裝ftp
[root@localhost dhcp]# yum -y install vsftpd[root@localhost dhcp]# /etc/init.d/vsftpd start為 vsftpd 啟動 vsftpd: [確定]
我用的是NAT模式所以必須關了NAT否則DHCP沒用
客戶端安裝ftp就可以,然后試一下可不可以鏈接 

- 新建虛擬機進行試驗
新建一個空機器![image_1cqsibscg1an18sok6010lo1ltk6f.png-49.6kB]()








然后就OK,就和正常裝機一樣了 
實現 kickstart
- 創建應答文件
[root@localhost ~]# yum -y install system-config-kickstart















-
修改配置
![image_1cqsld6qi1tar1mop115chhf9liju.png-15kB]()
![image_1cqslela1an61401u58dhs1lnpkb.png-5.8kB]()
[root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
![點擊查看大圖 image_1cqslmv261iutq851v59afg1ql2ko.png-74.6kB]()
-
這就是自動裝機,不過有一個地方會卡一下,現在我們解決
[root@localhost ~]# vim /var/ftp/ks.cfg
最好重啟下服務再實驗






浙公網安備 33010602011771號