而這是一個什麼東西,簡單來說就是可以讓一台電腦不需要硬碟,就可以從網路端做開機的動作。
透過網卡下載開機所需的檔案、目前可以做到下面幾件事 (當然應該還有很多可能的應用):
- 開機進到一個OS
- 從網路端來透過大量部屬OS的動作
- Network boot into RESCUE DISK。
先從 SLACKWARE (Linux 的一個分支) 講起,網路上已經有詳細的文章教大家如何透過網路來部屬 SLACKWARE LINUX: PXE: Installing Slackware over the network, 從這篇文章,可以知道要做到 PXE BOOT,需要設定一台 PXE Server 包含這些 BOOTP/DHCP/TFTP/NFS services、需要client端的網卡具有 pxe 的功能。
其中架設 dhcp 及 tftp server 可以透過 dnsmasq 這隻程式就能做到:
dnsmasq --enable-tftp --tftp-root=/tftpboot \
--dhcp-boot=/slackware-12.1/pxelinux.0,"192.168.0.1",192.168.0.1
tftp-root: ftp 端提供開機所需的 LINUX KERNEL
pxelinux.0: 從 network boot 所需的 boot loader
而 NFS (network file system) 的架設 同時可以用其他的 HTTP SERVER 來代替,而這個SERVER 端所需的檔案為 OS 安裝所需的檔案。
以上的那些複雜的設定,其實已經不需要自己手動的一個個設定了,在 SLACKWARE 13.37版的 RELEASE,已經提供了一個簡單的文字介面,來做快速設定,可參考這篇文章: Out of the box PXE install server in Slackware 13.37.
而 SLAX 也提供了 PXE 這樣的功能,只需要將一台電腦跑起來成為 SLAX PXE SERVER,再來從同一個網段的 CLIENT端,只需要透過網卡做開機,就可以執行一台具有 SLAX 的電腦。
(PORTEUS 另一個 OS 選擇也具有 PXE 這樣的功能)
有興趣的人可以研究一下 SLAX底下的 /sbin/pxe 這個script檔,底下為這個script裡的片段程式碼。其實很簡單的就可以跑起一個 pxe server (不過要搞清楚這些設定,其實也是需要相當的底子 Orz 像我就花了不少時間來研究):
底下附上,網路端開機的幾張照片:
講了這麼多,RESCUE DISK透過一些修改也是可以做到從 NETWORK BOOT XD