系統需求
使用 Linux 的 PXE 也看來安裝 DOS,下面是他的官方網站說明.
http://unattended.sourceforge.net/step-by-step.php
PXE 需要架設 TFTP , DHCP server, DNS server (非必要), file-server 等…請自行參考 PXE Linux Boot 說明https://benjr.tw/83
下載所需資料
主要是透過網站提供的工具來進行安裝 Windows
http://sourceforge.net/project/downloading.php?groupname=unattended&filename=unattended-4.6.zip&use_mirror=jaist
下載解開後可以看到他的架構如下
unattended Makefile NEWS.txt README.txt TODO.txt bootdisk DRIVERS.txt Makefile drivers empty-boot.img.gz images isoboot.msg isolinux.bin isolinux.cfg memdisk template tftpboot html install bin dosbin lib os packages scripts site tools updates version.txt linuxboot
主要需要的目錄是 install
因為裡面都是使用 Perl 寫出來的所以我們需要將 install 所有的資料存放在 /var/ftp/install
[root@benjr ~]# unzip unattended.zip [root@benjr ~]# cd unattended [root@benjr unattended]# mkdir /var/ftp/install [root@benjr unattended]# cp -a install /var/ftp/install
Samba 檔案伺服器
因為我們主要是透過 SMB(DOS 下使用 a:\net use )的方式來接網路磁碟機所以我們還要將這個目錄透過 samba 的方式分享出來.
[root@benjr ~]# vi /etc/samba/smb.conf [global] … netbios name = ntinstall guest account = guest security = user … [install] comment = Unattended writable = no locking = no path = /var/ftp/install guest ok = yes valid users = user1
系統預設使用 \\ntinstall\install 連接網路磁碟,帳號和密碼皆為 guest.因為 net use 一定要指定名稱,所以我們的名稱解析可以透過 DNS 或 netbios name 來處理.所以我們要開始建立 guest 帳號密碼至 samba server,密碼存在 /etc/samba/smbpasswd ,但使用者必先存在於 /etc/passwd
[root@benjr ~]# adduser guest [root@benjr ~]# passwd guest [root@benjr ~]# smbpasswd -a guest New SMB password: Retype new SMB password: Added user guest. [root@benjr ~]# service smb restart Starting SMB services: [ OK ] Starting NMB services: [ OK ]
接下來我們需要能透過網路開機的 DOS 映像檔和包含各個網路卡的 drivers.
http://sourceforge.net/project/downloading.php?groupname=unattended&filename=unattended-4.6-dosboot.zip&use_mirror=nchc
其中目錄 bootdisk 是一個包含 DOS 開機的映像檔和包含各個網路卡的 drivers.
[root@benjr ~]# unzip unattended.zip [root@benjr ~]# cd unattended [root@benjr unattended]# mkdir /tftpboot/linux-install/unattended [root@benjr unattended]# cp bootdisk/images/* /tftp/linux/unattended [root@benjr unattended]# cp bootdisk/tftpboot/unattended/memdisk /tftp/linux/unattended [root@benjr ~]# vi /tftpboot/linux-install/pxelinux.cfg/default default 0 timeout 2000 F1 msgs/boot.msg F2 msgs/expert.msg prompt 1 display msgs/boot.msg label 0 localboot 1 label b44 kernel unattended/memdisk append initrd=unattended/b44.imz label b57 kernel unattended/memdisk append initrd=unattended/b57.imz label dc21x4 kernel unattended/memdisk append initrd=unattended/dc21x4.imz label dp83815 kernel unattended/memdisk append initrd=unattended/dp83815.imz label e100b kernel unattended/memdisk append initrd=unattended/e100b.imz label e1000 kernel unattended/memdisk append initrd=unattended/e1000.imz label elpc575 kernel unattended/memdisk append initrd=unattended/elpc575.imz label el556 kernel unattended/memdisk append initrd=unattended/el556.imz label el90x kernel unattended/memdisk append initrd=unattended/el90x.imz label el94x kernel unattended/memdisk append initrd=unattended/el94x.imz label fetnd kernel unattended/memdisk append initrd=unattended/fetnd.imz label ngrpci kernel unattended/memdisk append initrd=unattended/ngrpci.imz label pcntnd kernel unattended/memdisk append initrd=unattended/pcntnd.imz label rtsnd kernel unattended/memdisk append initrd=unattended/rtsnd.imz label rtgbnd kernel unattended/memdisk append initrd=unattended/rtgbnd.imz label sis900 kernel unattended/memdisk append initrd=unattended/sis900.imz label undis3c kernel unattended/memdisk append initrd=unattended/undis3c.imz keeppxe
加入下面的訊息來讓使用者(PXE的Clients)知道有什麼網路卡可以選擇
[root@benjr ~]# vi /tftpboot/linux-install/msgs/boot.msg _09Additional Network Drivers_07 _0aThese are additional network drivers that you can choose:_07 b44 Broadcom BCM440x family b57 Broadcom BCM57xx "Tigon3" family dc21x4 DEC/Intel 2104x/2114x "Tulip" family dp83815 Natsemi 83815 "MacPHYTER" family (e.g., Netgear FA311/FA312) e100b Intel Pro/100 family of PCI and CardBus adapters e1000 Intel Pro/1000 family of gigabit adapters elpc575 3com 3c575 family of CardBus adapters el556 3com 3c556 family of mini-PCI adapters el90x 3com 3c59x/3c90x family of PCI and CardBus adapters el94x 3com 3c94x/3c2000 family of gigabit adapters fetnd VIA VT86C100A/6102/6105 "Rhine" family (e.g., D-Link DFE-530TX) ngrpci Netgear FA310 pcntnd AMD PCNet family (also VMWare) rtsnd Realtek RTL8139 family (e.g., D-Link DFE-530TX+) rtgbnd Realtek RTL8169/8110S Gigabit family sis900 SiS 900 family
作業系統所需資料
我們當然還是需要 Windows 的光碟的內容才能進行安裝,預設是放在 /var/ftp/os 下面。下面是以安裝 Windows XP 為範例.
[root@benjr ~]# cd /var/ftp/install/os [root@benjr os]# mkdir winxp [root@benjr os]# mount -a /dev/hda/* winxp/
這邊的 /dev/hda 是我的光碟機所在位置,請依實際狀況來指定裝置位置.
在目錄 /var/ftp/os/ 下可以依據自己需求存放個種不同的 Windows 系統,只需要產生目錄分開存放即可.
PXE Boot
- 將具有 PXE 功能網路卡的 client 開機.
- 並從 PXE 開機
One thought on “Linux PXEBoot DOS 安裝 Windows”