一、引言
一般情況下,我們都是利用軟碟機或光碟機引導Linux後,再通過本地的光碟機安裝Linux。但是,這種安裝方法在以下的幾種情況下就不能適用:
無軟碟機和光碟機:很多公司為了節省成本,電腦一般都不帶光碟機或軟碟機,這樣就無法通過本地安裝Linux;
非標準的軟碟機和光碟機:雖然筆記本都會配置光碟機,但是並不一定都是標準的IDE裝置,有些是通過USB介面,有些是通過1394介面(例如Samsung的Q10)。在Linux安裝時所引導的Linux核心一般都不會帶這些介面的驅動,所以也無法通過本地安裝Linux;
另外,在一些場合,如機房中,有大量的電腦需要同時安裝Linux,如果通過光碟機的方式一個個安裝,不僅效率低,也不利於維護。
筆者在工作過程中,就遇到過第二種情況。一台Samsung的Q10筆記本需要安裝Redhat Linux 8.0,但是通過光碟機引導後發現,安裝程式無法訪問光碟片。針對這個問題,筆者經過查閱資料和摸索,找到了在Q10上安裝Linux的方法。在下面的討論中,如不做特別聲明,都將以Q10為例,介紹如何通過PXE Bootrom來遠程安裝Linux。
二、基本原理
1) 什麼是PXE
PXE(Pre-boot Execution Environment)是由Intel設計的協議,它可以使電腦通過網路啟動。協議分為client和server兩端,PXE client在網卡的ROM中,當電腦引導時,BIOS把PXE client調入記憶體執行,並顯示出命令菜單,經使用者選擇後,PXE client將放置在遠端的作業系統通過網路下載到本地運行。
PXE協議的成功運行需要解決以下兩個問題:
既然是通過網路傳輸,那麼電腦在啟動時,它的IP地址由誰來配置;
通過什麼協議下載Linux核心和根檔案系統
對於第一個問題,可以通過DHCP Server解決,由DHCP server來給PXE client分配一個IP地址,DHCP Server是用來給DHCP Client動態分配IP地址的協議,不過由於這裡是給PXE Client分配IP地址,所以在配置DHCP Server時,需要增加相應的PXE特有配置。
至於第二個問題,在PXE client所在的ROM中,已經存在了TFTP Client。PXE Client使用TFTP Client,通過TFTP協議到TFTP Server上下載所需的檔案。
這樣,PXE協議啟動並執行條件就具備了,下面我們就來看看PXE協議的工作過程。