在Ubuntu系統(tǒng)上配置PXE服務(wù)器的教程
PXE概述
PXE(preboot execute environment,預(yù)啟動執(zhí)行環(huán)境)是由Intel公司開發(fā)的最新技術(shù),工作于Client/Server的網(wǎng)絡(luò)模式,支持工作站通過網(wǎng)絡(luò)從遠(yuǎn)端服務(wù)器下載映像,并由此支持通過網(wǎng)絡(luò)啟動操作系統(tǒng),在啟動過程中,終端要求服務(wù)器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)協(xié)議下載一個(gè)啟動軟件包到本機(jī)內(nèi)存中執(zhí)行,由這個(gè)啟動軟件包完成終端(客戶?)基本軟件設(shè)置,從而引導(dǎo)預(yù)先安裝在服務(wù)器中的終端操作系統(tǒng)。
簡單說來,PXE服務(wù)器就是DHCP服務(wù)器+TFTP服務(wù)器。網(wǎng)絡(luò)啟動過程大概是這樣的(可能并不嚴(yán)謹(jǐn)):客戶端發(fā)送動態(tài)獲得IP地址的廣播包到網(wǎng)絡(luò)上,DHCP服務(wù)器在收到該廣播包后,發(fā)送給客戶端分配IP地址的回應(yīng)包,客戶端收到回應(yīng)包后設(shè)置自己的IP地址,然后從DHCP服務(wù)器獲得啟動服務(wù)器的IP地址(DHCP服務(wù)器066選項(xiàng),這就是TFTP服務(wù)器的IP地址)及啟動文件名(DHCP服務(wù)器067選項(xiàng),這里的啟動文件名就是pxelinux.0或者支持pxe的grub4dos的grldr,當(dāng)然,也可以是startrom.n12或者使用3com Image Edit創(chuàng)建的pxe啟動菜單文件,總之,它應(yīng)該是一種由pxe啟動規(guī)范規(guī)定的固定格式的可執(zhí)行文件),然后客戶端到聯(lián)系啟動服務(wù)器(TFTP服務(wù)器)獲得啟動文件并執(zhí)行,這樣基本上就完成了pxe啟動過程。
在Unix或者Linux系統(tǒng)下,DHCP服務(wù)器和TFTP服務(wù)器一般都是分開設(shè)置的,兩臺服務(wù)器甚至可以在兩臺不同的機(jī)器上,其實(shí)Windows下的設(shè)置也是一樣的,但在Windows下,我們可以通過使用HaneWin DHCP服務(wù)器軟件或TFTPD32一個(gè)軟件就搞定(我個(gè)人推薦使用HaneWin DHCP服務(wù)器軟件,但TFTPD32設(shè)置起來更簡單一些,就是效率有些低),詳細(xì)的設(shè)置方法請自己摸索,你只要知道,在設(shè)置PXE服務(wù)器時(shí),要設(shè)置好DHCP和TFTP兩個(gè)服務(wù)器,其中DHCP服務(wù)器要設(shè)置啟動服務(wù)器名(066選項(xiàng))和啟動文件名(067選項(xiàng))。
配置網(wǎng)絡(luò)
開始前,你需要先設(shè)置 PXE 服務(wù)器使用靜態(tài) IP。在你的系統(tǒng)中要使用靜態(tài) IP 地址,需要編輯 “/etc/network/interfaces” 文件。
打開 “/etc/network/interfaces” 文件.
sudo nano /etc/network/interfaces
作如下修改:
# 回環(huán)網(wǎng)絡(luò)接口
auto lo
iface lo inet loopback
# 主網(wǎng)絡(luò)接口
auto eth0
iface eth0 inet static
address 192.168.1.20
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
保存文件并退出。這將設(shè)置其 IP 地址為“192.168.1.20”。然后重新啟動網(wǎng)絡(luò)服務(wù)。
sudo /etc/init.d/networking restart
安裝 DHCP, TFTP 和 NFS:
DHCP,TFTP 和 NFS 是 PXE 服務(wù)器的重要組成部分。首先,需要更新你的系統(tǒng)并安裝所有需要的軟件包。
為此,運(yùn)行以下命令:
sudo apt-get update
sudo apt-get install isc-dhcp-Server inetutils-inetd tftpd-hpa syslinux nfs-kernel-Server
配置 DHCP 服務(wù):
DHCP 代表動態(tài)主機(jī)配置協(xié)議Dynamic Host Configuration Protocol,它主要用于動態(tài)分配網(wǎng)絡(luò)配置參數(shù),如用于接口和服務(wù)的 IP 地址。在 PXE 環(huán)境中,DHCP 服務(wù)器允許客戶端請求并自動獲得一個(gè) IP 地址來訪問網(wǎng)絡(luò)。
1、編輯 “/etc/default/dhcp3-server” 文件.
sudo nano /etc/default/dhcp3-server
作如下修改:
INTERFACES="eth0"
保存 (Ctrl + o) 并退出 (Ctrl + x) 文件.
2、編輯 “/etc/dhcp3/dhcpd.conf” 文件:
sudo nano /etc/dhcp/dhcpd.conf
作如下修改:
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.21 192.168.1.240;
option subnet-mask 255.255.255.0;
option routers 192.168.1.20;
option broadcast-address 192.168.1.255;
filename "pxelinux.0";
next-Server 192.168.1.20;
}
保存文件并退出。
3、啟動 DHCP 服務(wù).
sudo /etc/init.d/isc-dhcp-server start
配置 TFTP 服務(wù)器:
TFTP 是一種文件傳輸協(xié)議,類似于 FTP,但它不用進(jìn)行用戶認(rèn)證也不能列出目錄。TFTP 服務(wù)器總是監(jiān)聽網(wǎng)絡(luò)上的 PXE 客戶端的請求。當(dāng)它檢測到網(wǎng)絡(luò)中有 PXE 客戶端請求 PXE 服務(wù)時(shí),它將提供包含引導(dǎo)菜單的網(wǎng)絡(luò)數(shù)據(jù)包。
1、配置 TFTP 時(shí),需要編輯 “/etc/inetd.conf” 文件.
sudo nano /etc/inetd.conf
作如下修改:
tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
保存文件并退出。
2、編輯 “/etc/default/tftpd-hpa” 文件。
sudo nano /etc/default/tftpd-hpa
作如下修改:
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="[:0.0.0.0:]:69"
TFTP_OPTIONS="--secure"
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"
保存文件并退出。
3、 使用 xinetd 讓 boot 服務(wù)在每次系統(tǒng)開機(jī)時(shí)自動啟動,并啟動tftpd服務(wù)。
sudo update-inetd --enable BOOT
sudo service tftpd-hpa start
4、檢查狀態(tài)。
sudo netstat -lu
它將如下所示:
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 *:tftp *:*
配置 PXE 啟動文件
現(xiàn)在,你需要將 PXE 引導(dǎo)文件 “pxelinux.0” 放在 TFTP 根目錄下。為 TFTP 創(chuàng)建目錄結(jié)構(gòu),并從 “/usr/lib/syslinux/” 復(fù)制 syslinux 提供的所有引導(dǎo)程序文件到 “/var/lib/tftpboot/” 下,操作如下:
sudo mkdir /var/lib/tftpboot
sudo mkdir /var/lib/tftpboot/pxelinux.cfg
sudo mkdir -p /var/lib/tftpboot/Ubuntu/14.04/amd64/
sudo cp /usr/lib/syslinux/vesamenu.c32 /var/lib/tftpboot/
sudo cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/
設(shè)置 PXELINUX 配置文件
PXE 配置文件定義了 PXE 客戶端啟動時(shí)顯示的菜單,它能引導(dǎo)并與 TFTP 服務(wù)器關(guān)聯(lián)。默認(rèn)情況下,當(dāng)一個(gè) PXE 客戶端啟動時(shí),它會使用自己的 MAC 地址指定要讀取的配置文件,所以我們需要創(chuàng)建一個(gè)包含可引導(dǎo)內(nèi)核列表的默認(rèn)文件。
編輯 PXE 服務(wù)器配置文件,使用有效的安裝選項(xiàng)。
編輯 “/var/lib/tftpboot/pxelinux.cfg/default”:
sudo nano /var/lib/tftpboot/pxelinux.cfg/default
作如下修改:
DEFAULT vesamenu.c32
TIMEOUT 100
PROMPT 0
MENU INCLUDE pxelinux.cfg/PXE.conf
NOESCAPE 1
LABEL Try Ubuntu 14.04 Desktop
MENU LABEL Try Ubuntu 14.04 Desktop
kernel Ubuntu/vmlinuz
append boot=casper netboot=nfs nfsroot=192.168.1.20:/var/lib/tftpboot/Ubuntu/14.04/amd64
initrd=Ubuntu/initrd.lz quiet splash
ENDTEXT
LABEL Install Ubuntu 14.04 Desktop
MENU LABEL Install Ubuntu 14.04 Desktop
kernel Ubuntu/vmlinuz
append boot=casper automatic-ubiquity netboot=nfs nfsroot=192.168.1.20:/var/lib/tftpboot/Ubuntu/14.04/amd64
initrd=Ubuntu/initrd.lz quiet splash
ENDTEXT
保存文件并退出。
編輯 “/var/lib/tftpboot/pxelinux.cfg/pxe.conf” 文件。
sudo nano /var/lib/tftpboot/pxelinux.cfg/pxe.conf
作如下修改:
MENU TITLE PXE Server
NOESCAPE 1
ALLOWOPTIONS 1
PROMPT 0
MENU WIDTH 80
MENU ROWS 14
MENU TABMSGROW 24
MENU MARGIN 10
MENU COLOR border 30;44 #ffffffff #00000000 std
保存文件并退出。
為 PXE 服務(wù)器添加 Ubuntu 14.04 桌面啟動鏡像
對于這一步需要 Ubuntu 內(nèi)核和 initrd 文件。要獲得這些文件,你需要 Ubuntu 14.04 桌面 ISO 鏡像。你可以通過以下命令下載 Ubuntu 14.04 ISO 鏡像到 /mnt 目錄:
sudo cd /mnt
sudo wget http://releases.ubuntu.com/14.04/ubuntu-14.04.3-desktop-amd64.iso
注意: 下載用的 URL 可能會改變,因?yàn)?ISO 鏡像會進(jìn)行更新。如果上面的網(wǎng)址無法訪問,看看這個(gè)網(wǎng)站,了解最新的下載鏈接。
掛載 ISO 文件,使用以下命令將所有文件復(fù)制到 TFTP文件夾中:
sudo mount -o loop /mnt/ubuntu-14.04.3-desktop-amd64.iso /media/
sudo cp -r /media/* /var/lib/tftpboot/Ubuntu/14.04/amd64/
sudo cp -r /media/.disk /var/lib/tftpboot/Ubuntu/14.04/amd64/
sudo cp /media/casper/initrd.lz /media/casper/vmlinuz /var/lib/tftpboot/Ubuntu/
將導(dǎo)出的 ISO 目錄配置到 NFS 服務(wù)器上
現(xiàn)在,你需要通過 NFS 協(xié)議來設(shè)置“安裝源鏡像( Installation Source Mirrors)”。你還可以使用 HTTP 和 FTP 來安裝源鏡像。在這里,我已經(jīng)使用 NFS 輸出 ISO 內(nèi)容。
要配置 NFS 服務(wù)器,你需要編輯 “/etc/exports” 文件。
sudo nano /etc/exports
作如下修改:
/var/lib/tftpboot/Ubuntu/14.04/amd64 *(ro,async,no_root_squash,no_subtree_check)
保存文件并退出。為使更改生效,輸出并啟動 NFS 服務(wù)。
sudo exportfs -a
sudo /etc/init.d/nfs-kernel-server start
現(xiàn)在,你的 PXE 服務(wù)器已經(jīng)準(zhǔn)備就緒。
配置網(wǎng)絡(luò)引導(dǎo) PXE 客戶端
PXE 客戶端可以是任何支持 PXE 網(wǎng)絡(luò)引導(dǎo)的計(jì)算機(jī)系統(tǒng)?,F(xiàn)在,你的客戶端只需要在系統(tǒng)的 BIOS 中設(shè)置 “從網(wǎng)絡(luò)引導(dǎo)(Boot From Network)” 選項(xiàng)就可以啟動并安裝 Ubuntu 14.04 桌面。
現(xiàn)在準(zhǔn)備出發(fā)吧 - 用網(wǎng)絡(luò)引導(dǎo)啟動你的 PXE 客戶端計(jì)算機(jī),你現(xiàn)在應(yīng)該看到一個(gè)子菜單,顯示了我們創(chuàng)建的 Ubuntu 14.04 桌面的菜單項(xiàng)。
結(jié)論
配置使用 PXE 服務(wù)器從網(wǎng)絡(luò)啟動安裝能提高效率和節(jié)省時(shí)間。你可以在本地網(wǎng)絡(luò)中同時(shí)安裝數(shù)百個(gè)客戶端。所有你需要的只是一個(gè) PXE 服務(wù)器和能啟動 PXE 的客戶端。試試吧~
相關(guān)文章

Ubuntu 26.04 LTS(Resolute Raccoon)發(fā)布:內(nèi)存要求提至6GB
2026-04-23,Ubuntu 26.04 LTS 正式版按計(jì)劃如期發(fā)布,Ubuntu 26.04 LTS 搭載 Linux 內(nèi)核 7.0 和 GNOME 50 桌面環(huán)境,原生集成英偉達(dá) CUDA,內(nèi)存要求提至 6GB2026-04-24
桌面生產(chǎn)力直接拉滿! Ubuntu安裝后別急著用這7個(gè)設(shè)置一定要改
Ubuntu桌面系統(tǒng)安裝成功后,不要急著使用,修改后桌面生產(chǎn)力直接拉滿,今天我就把這7個(gè)我每次必改的設(shè)置完整分享出來,配上詳細(xì)步驟和實(shí)際效果2026-04-15
CPU和硬盤要求保持不變! Ubuntu 26.04 LTS最低內(nèi)存運(yùn)行要求提高到 6GB
Canonical即將發(fā)布“Resolute Raccoon”Ubuntu 26.04 LTS操作系統(tǒng),資料顯示推薦內(nèi)存提高至6GB,這是2018年以來首次重大變動2026-04-08
基于Linux7.0+GNOME50+Mesa26.0! Ubuntu 26.04 LTS Beta 版發(fā)布
Ubuntu 26.04 LTS測試版如期發(fā)布,此次更新將集成大量前沿開源技術(shù),Beta 測試版搭載了尚處于開發(fā)階段的 Linux 7.0 內(nèi)核、默認(rèn)采用最新的 GNOME 50.0 桌面組件、全新的 Mes2026-03-27
Ubuntu桌面系統(tǒng)爆致命漏洞! 30天可拿root權(quán)限
近日,全球知名網(wǎng)絡(luò)安全研究機(jī)構(gòu)Qualys的威脅研究部門正式披露了Ubuntu桌面系統(tǒng)的一個(gè)高危本地提權(quán)漏洞,其官方漏洞編號為CVE-2026-38882026-03-21
Ubuntu 25.10 系統(tǒng)正式發(fā)布:搭載 Linux 6.17 內(nèi)核
Ubuntu 25.10 系統(tǒng)代號“Questing Quokka”現(xiàn)已推出,集成最新的 GNOME 49 桌面環(huán)境,默認(rèn)僅啟用 Wayland 會話,提升了圖形體驗(yàn)2025-10-10
Debian 13升級后網(wǎng)絡(luò)轉(zhuǎn)發(fā)等功能異常怎么辦? 并非錯誤而是管理機(jī)制變更
很多朋友反饋,更新到Debian 13后網(wǎng)絡(luò)轉(zhuǎn)發(fā)等功能異常,這并非 BUG 而是 Debian 13 Trixie 調(diào)整了管理機(jī)制,具體來說是sysctl變更為由systemd-sysctl主導(dǎo)且配置文件變成模塊2025-08-22
SSH中斷/寶塔面板異常/分區(qū)問題等! Debian 13升級注意事項(xiàng)匯總
前一段時(shí)間發(fā)布了debian13,我們也分享了debian12升級到debian13的圖文教程,很多朋友在升級的時(shí)候遇到了不少問題,今天我們就來看看Debian 13升級注意事項(xiàng)2025-08-21
Debian12怎么升級到Debian13? Debian系統(tǒng)升級教程
心念念的Debian13終于正式發(fā)布了,該怎么升級呢?下面我們就來看看Debian12升級到 Debian13的教程2025-08-21
Ubuntu 24.04.3 LTS 正式發(fā)布: 附更新內(nèi)容匯總
Ubuntu 24.04 這一長期支持版本發(fā)布了第三個(gè)點(diǎn)版本升級:Ubuntu 24.04.3 LTS,涵蓋桌面、服務(wù)器與云等版本,主要是將過去數(shù)月發(fā)布的安全更新、錯誤修復(fù)和穩(wěn)定性改進(jìn)整合入2025-08-09


