原文發(fā)表于:2010-09-16
轉(zhuǎn)載至cu于:2012-07-21
一.原理簡介
pxe(preboot execute environment)工作于client/server的網(wǎng)絡(luò)模式,支持工作站通過網(wǎng)絡(luò)從遠(yuǎn)端服務(wù)器下載鏡像,并由此支持來自網(wǎng)絡(luò)的操作系統(tǒng)的啟動(dòng)。啟動(dòng)過程中,終端由dhcp服務(wù)器分配ip地址,再用tftp(trivial file transfer protocol)等協(xié)議下載存在于服務(wù)器(nfs,ftp,http, samba等)的操作系統(tǒng)內(nèi)核和文件系統(tǒng)等到本機(jī)內(nèi)存中并執(zhí)行,由此完成終端基本軟件設(shè)置,從而引導(dǎo)預(yù)先安裝在服務(wù)器中的終端操作系統(tǒng)。
RIS(遠(yuǎn)程安裝服務(wù),Remote Installation Services) 是windows server的可選服務(wù),利用RIS可以讓管理員很方便地為客戶端部署操作系統(tǒng)。
二.環(huán)境說明
server os:
CentOS 5.4 i386
server soft:
dhcp, tftp, samba, ris-linux
可以使用yum安裝:
yum?–y?install?dhcp* yum?–y?install?tftp* yum?–y?install?samba*
server ip:
eth1: 192.168.0.1
client:
HP 360G5
windows 2003 sp2 cn enterprise
三.安裝配置過程簡介
1. 配置DHCP
more?/etc/dhcpd.conf ddns-update-style?interim; ignore?client-updates; allow?booting; allow?bootp; subnet?192.168.0.0?netmask?255.255.255.0?{ ????????option?routers??????????????????192.168.0.1; ????????option?subnet-mask??????????????255.255.255.0; ????????option?domain-name-servers??????192.168.0.1; ????????option?time-offset??????????????-18000;?#?Eastern?Standard?Time ????????range?dynamic-bootp?192.168.0.10?192.168.1.254; ????????default-lease-time?21600; ????????max-lease-time?43200; #?Group?the?PXE?bootable?hosts #?PXE-server?configuration?direction ????????next-server?192.168.0.1;????#指向nfs服務(wù)器 ????????filename?"/pxelinux.0";?????#/tftp根目錄下的啟動(dòng)引導(dǎo)文件 }
重啟dhcp服務(wù):
/etc/init.d/dhcpd?restart
2. 配置TFTP
more?/etc/xinetd.d/tftp #?default:?off #?description:?The?tftp?server?serves?files?using?the?trivial?file?transfer? #???????protocol.??The?tftp?protocol?is?often?used?to?boot?diskless? #???????workstations,?download?configuration?files?to?network-aware?printers,? #???????and?to?start?the?installation?process?for?some?operating?systems. service?tftp { ????????socket_type????????????=?dgram ????????protocol???????????????=?udp ????????wait???????????????????=?yes ????????user???????????????????=?root ????????server?????????????????=?/usr/sbin/in.tftpd ???????? ????????#-s指定tftp根目錄,?-m指定一個(gè)規(guī)則文件,?-vv輸出tftp的log到/var/log/message? ????????server_args????????????=?-u?nobody?-s?/tftpboot?-m?/tftpboot/rules?-vv ????????#默認(rèn)yes,關(guān)閉 ????????disable????????????????=?no???????? ????????per_source?????????????=?11 ????????cps????????????????????=?100?2 ????????flags??????????????????=?IPv4 }
重啟tftp服務(wù):
/etc/init.d/xinetd.restart
查看tftp服務(wù)是否啟動(dòng):
chkconfig?–list?|?grep?tftp
3. 建立TFTP的rules文件
Linux下區(qū)分大小寫,但windows不區(qū)分,為免混亂,將所有查找文件內(nèi)容統(tǒng)一改成小寫。
more??/tftpboot/rules ri?^[a-z]:?#?Remove?"drive?letters" rg??/?#?Convert?backslashes?to?slashes rg?#?@?#?Convert?hash?marks?to?@?signs rg?/../?/..no../?#?Convert?/../?to?/..no../ rg?A?a rg?B?b rg?C?c rg?D?d rg?E?e rg?F?f rg?G?g rg?H?h rg?I?i rg?J?j rg?K?k rg?L?l rg?M?m rg?N?n rg?O?o rg?P?p rg?Q?q rg?R?r rg?S?s rg?T?t rg?U?u rg?V?v rg?W?w rg?X?x rg?Y?y rg?Z?z r?^/(.*)?
4. 配置SAMBA
windows的ris安裝是通過windows共享文件的方式進(jìn)行文件傳輸,在linux下可以通過samba實(shí)現(xiàn)與windows進(jìn)行文件共享,進(jìn)而實(shí)現(xiàn)ris安裝windows。
編輯samba配置文件:/etc/samba/smb.conf
#全局配置 [global] ???????null?passwords?=?true ???????workgroup?=?WORKGROUP ???????server?string?=?Samba?Server?Version?%v ???????security?=?share ???????dns?proxy?=?no ???????load?printers?=?no ???????disable?spoolss?=?yes ???????debug?level?=?2 ???????log?file?=?/var/log/samba/%m.log ???????max?log?size?=?0 #共享配置 [wininstall] comment?=?Windows?2003?Install ????????path?=?/tftpboot ????????browsable?=?true ????????read?only?=?no ????????writeable?=?yes ????????guest?ok?=?yes
重啟samba服務(wù):
/etc/init.d/smb?restart
5. 配置啟動(dòng)需要的文件
上傳windows2003的鏡像或者文件到服務(wù)器。這里使用上傳鏡像然后掛載。
mount?/root/win2003cn.iso?/mnt?–o?loop mkdir?/tftpboot/win2k3 cd?/mnt cp?–a?*?/tftpboot/win2k3
?
下面需要解壓一些iso中的文件,可以使用cabextract。
下載頁:
可以根據(jù)版本下載。
wget? rpm?–ivh?cabextract-1.3-1.i386.rpm
?
配置windows ris 啟動(dòng)文件:
cd?/tftpboot cabextract?win2k3/i386/startrom.n1_ #解壓 sed?-i?-e?'s/NTLDR/W2K3L/gi'?startrom.n12 #直接替換startrom.n12文件中”?NTLDR”為”?W2K3L” #W2K3L:?windows?2003?Setup?Loader mv?startrom.n12?/tftpboot/w2k3.0 #w2k3.0:?windows?2003?pxe?loader cabextract?win2k3/i386/setupldr.ex_ sed?-i?-e?'s/winnt.sif/wi2k3.sif/gi'?setupldr.exe sed?-i?-e?'s/ntdetect.com/ntdetect.2k3/gi'?setupldr.exe mv?setupldr.exe?/tftpboot/w2k3l cp?win2k3/i386/ntdetect.com?/tftpboot/ntdetect.2k3 #ntdetect.2k3:?windows?2003?ntdetect.com
?
配置pxe啟動(dòng)鏡像:
cp?/usr/lib/syslinux/pxelinux.0?/tftpboot #?pxelinux.0依賴于syslinux,沒有安裝使用yum:yum?–y?install?syslinux* #?pxelinux.0是PXE啟動(dòng)引導(dǎo)文件
?
配置pxe啟動(dòng)加載文件:
pxelinux.0啟動(dòng)中,讀取同目錄先pxelinux.cfg文件夾下的配置文件以確定它應(yīng)該怎么加載啟動(dòng)文件。
mkdir?/tftpboot/pxelinux.cfg vim?/tftpboot/pxelinux.cfg/default ?????default?win2k3 ?????label?win2k3 ?????kernel?w2k3.0???????#與ris啟動(dòng)文件匹配
?
建立安裝應(yīng)答文件:
這個(gè)文件很強(qiáng)大,提供的參數(shù)不是對(duì)系統(tǒng)很了解的人并不一定全知道,我們只需要知道對(duì)我們有用的參數(shù)。當(dāng)然,沒事的時(shí)候也可以慢慢研究。J
vim?/tftpboot/wi2k3.sif [data] AutoPartition?=?"0" #關(guān)閉自動(dòng)分區(qū),2003還不能完全自動(dòng)分區(qū),這點(diǎn)需要手工操作。如果一定要跳過這一步,需要和后面的參數(shù)配合,并且2003提供的只有將全盤劃成根盤(c:) floppyless?=?"1" msdosinitiated?=?"1" UnattendedInstall?=?"Yes" OriSrc?=?192.168.0.1wininstallwin2k3i386 #注意samba和win安裝文件路徑 OriTyp?=?"4" LocalSourceOnCD?=?"1" DisableAdminAccountOnDomainJoin?=?"1" ? [SetupData] OsLoadOptions?=?"/fastdetect" SetupSourceDevice?=?"DeviceLanmanRedirector92.168.0.1wininstallwin2k3" ? [Unattended] UnattendMode?=?"FullUnattended" #使用unattended文件 FileSystem?=?"LeaveAlone" NtUpgrade?=?"No" OverwriteOemFilesOnUpgrade?=?"No" DriverSigningPolicy?=?"Ignore" UpdateInstalledDrivers?=?"Yes" ConfirmHardware?=?"No" ExtendOEMPartition?=?"0" TargetPath?=?"WINDOWS" UnattendSwitch?=?"Yes" WaitForReboot?=?"No" CrashDumpSetting?=?"0" OemSkipEula?=?"Yes" OEMSkipWelcome?=?"1" InstallFilesPath?=?"192.168.0.1wininstallwin2k3i386" LegacyNIC?=?"1"OemPreInstall?=?"Yes"????#加載OEM中的驅(qū)動(dòng) ?[UserData] ProductKey?=?"M4VQK-HVTD9-42RQX-2DJP2-23KVM" FullName?=?"admin" OrgName?=?"SDO" ComputerName?=?C1ZJ ? [GuiUnattended] AdminPassword?=?WD#sd7258 EncryptedAdminPassword?=?"No" OEMSkipRegional?=?"1" TimeZone?=?"220" OemSkipWelcome?=?"1" [LicenseFilePrintData] AutoMode=PerServer AutoUsers=5 ? [Identification] JoinWorkgroup?=?WORKGROUP ? #這里和分區(qū)有關(guān) [RemoteInstall] Repartition?=?"NO" UseWholeDisk?=?"No" ? [Networking] InstallDefaultComponents?=?"Yes"
?
#以下的默認(rèn)文件中沒有,和服務(wù)器raid卡驅(qū)動(dòng)有關(guān):
[MassStorageDrivers] "Windows?Driver?for?Smart?Array?SAS/SATA?Controllers"?=?OEM ? [OEMBootFiles] cp011324.xml cpqsetup.exe generic.dll hpcisss2.cat hpcisss2.sys hpcissx2.inf install.xml txtsetup.oem #以下是系統(tǒng)安裝完畢后第一次啟動(dòng)執(zhí)行的批處理文件 [GuiRunOnce] %systemdrive%preinstall unonce.cmd
6. 驅(qū)動(dòng)加載相關(guān)
因?yàn)槭欠?wù)器的安裝,所以需要提前加載一些驅(qū)動(dòng),自動(dòng)安裝的麻煩就在此。
?
pxe安裝需要加載網(wǎng)卡驅(qū)動(dòng)(引導(dǎo)和文件傳輸是兩個(gè)階段,傳輸文件階段開始時(shí)要先把網(wǎng)卡驅(qū)動(dòng)加載起來的)。
查到服務(wù)器使用的Broadcom NetXtreme II網(wǎng)卡,而Broadcom提供在ris下的驅(qū)動(dòng):
wget? mkdir?/tftpboot/nicdrive unzip?win_2k3_RIS-5.0.0.zip?-d?/tftpboot/nicdrive
?
驅(qū)動(dòng)網(wǎng)卡,需要有一個(gè)binl server,binl讀取所有新的與網(wǎng)絡(luò)接口卡相關(guān)的.inf文件,并在映像中創(chuàng)建.pnf文件。
?binl server下載:
wget? tar?–zxvf?ris-linux-0.4.tar.gz cd?ris-linux-0.4 ./infparser.py?/tftpboot/nicdrive/Server/W2K3_W2K8/RIS/./binlsrv.py?-d?????#-d?后臺(tái)運(yùn)行,不能停止此程序cp?/tftpboot/nicdrive/Server/W2K3_W2K8/RIS/b06nd51x.sys?/tftpboot/win2k3/i386
這里是Broadcom提供有專門的ris網(wǎng)卡驅(qū)動(dòng),如果沒有,可以將windows需要的網(wǎng)卡驅(qū)動(dòng)(不限于網(wǎng)卡)的.inf文件放在/tftpboot/inf文件夾下,執(zhí)行:
./infparser.py?/tftpboot/inf ./binlsrv.py
?
然后是加載raid卡驅(qū)動(dòng)(其他驅(qū)動(dòng)也適用,關(guān)鍵是能否找到相關(guān)文件)。
光盤安裝windows在開始時(shí)藍(lán)色屏幕上有一個(gè)按F6的提示,提示是通過軟盤加載磁盤驅(qū)動(dòng),這類驅(qū)動(dòng)是windows系統(tǒng)中的驅(qū)動(dòng),可以下載好windows驅(qū)動(dòng),解壓好驅(qū)動(dòng)放在一個(gè)指定的目錄,再通過應(yīng)答文件,一般可以加載上這類驅(qū)動(dòng)。這類驅(qū)動(dòng)加載完畢后不必在系統(tǒng)中再安裝。加載這類驅(qū)動(dòng)有注意點(diǎn):文件要有正確的oem數(shù)字簽名(一般提供驅(qū)動(dòng)的廠商都帶數(shù)字簽名),亂改動(dòng)這類文件,同時(shí)不在配置文件中寫明去掉數(shù)字簽名認(rèn)證,是不能加載的。
?
下載HP的raid卡驅(qū)動(dòng)(已經(jīng)查明型號(hào):Smart Array E200i, 一般一個(gè)驅(qū)動(dòng)支持多種類型的raid卡):
wget? mkdir?/tftpboot/win2k3/i386/$oem$/textmode unzip?cp011324.exe?-d?/tftpboot/win2k3/i386/$oem$/textmode
?
在自動(dòng)應(yīng)答文件wi2k3.sif末尾添加:
[MassStorageDrivers] "Windows?Driver?for?Smart?Array?SAS/SATA?Controllers"?=?OEM #”Windows?Driver?for?Smart?Array?SAS/SATA?Controllers”可以查看textmode文件夾下的txtsetup.oem文件,名字保持一致 [OEMBootFiles] cp011324.xml cpqsetup.exe generic.dll hpcisss2.cat hpcisss2.sys hpcissx2.inf install.xml txtsetup.oem #textmode下的所有文件名字,一般自動(dòng)安裝的驅(qū)動(dòng)文件.inf,?.cat,?.sys #新增參數(shù),修改[Unattended]字段 OemPreInstall?=?"Yes"
7. 補(bǔ)丁,前期包,其他驅(qū)動(dòng)的加載
完成以上操作就已經(jīng)可以安裝系統(tǒng)了,但是系統(tǒng)安裝完成后需要做一些前期操作,像打補(bǔ)丁,打安全包,或者一些驅(qū)動(dòng)(芯片組,網(wǎng)卡,顯卡等在上面沒有加載到系統(tǒng)中的一些驅(qū)動(dòng))。
這些優(yōu)化的問題可以利用批處理文件解決。這些批處理文件最好是在windows下編輯好再上傳到服務(wù)器,否則會(huì)出現(xiàn)格式問題導(dǎo)致文件不能執(zhí)行。
?
首先需要在$oem$目錄下建立cmdlines.txt文件,這個(gè)文件會(huì)在系統(tǒng)安裝過程的注冊組件時(shí)間段(即還剩13分鐘左右時(shí))調(diào)用:
vim?/tftpboot/win2k3/$oem$/cmdlines.txt #文件的內(nèi)容以"?[COMMANDS]"為起頭;使用引號(hào)“”來標(biāo)記下面需要執(zhí)行的每條命令。?注意路徑問題,install.cmd的路徑為cmdlines.txt的同級(jí)目錄; #這里還可以添加注冊表。 [COMMANDS] "install.cmd"
以下是此時(shí)使用的install.cmd:
@?echo?off title?Windows?Install?Prepackage,?Hotfix?and?Drives @?color?0a @echo?安裝WINDOWS_2003_SP2補(bǔ)丁,?大約需要20分鐘...?2>>%HOMEDRIVE%/errlog.txt @?cd?hotfix?2>>%HOMEDRIVE%/errlog.txt WindowsServer2003-KB914961-SP2-x86-CHS.exe?/quiet?/norestart WindowsUpdateAgent30-x86.exe?/quiet?/norestart WindowsServer2003-KB925902-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB930178-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB931784-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB932168-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB935839-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB935840-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB933729-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB943460-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB921503-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB938829-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB941644-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB943485-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB942830-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB942831-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB943055-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB946026-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB941693-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB944338-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB945553-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB948590-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB951748-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB950974-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB952954-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB938464-x86-CHS.exe?/quiet?/norestart windowsserver2003-kb953155-x86-chs.exe?/quiet?/norestart windowsserver2003-kb954211-x86-chs.exe?/quiet?/norestart windowsserver2003-kb956803-x86-chs.exe?/quiet?/norestart windowsserver2003-kb956841-x86-chs.exe?/quiet?/norestart windowsserver2003-kb957095-x86-chs.exe?/quiet?/norestart WindowsServer2003-KB958644-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB957097-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB956802-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB958687-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB958690-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB960225-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB952004-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB956572-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB960803-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB961501-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB968537-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB970238-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB958469-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB971032-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB971657-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB967723-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB953298-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB958869-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB971486-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB975467-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB969947-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB974392-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB972270-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB971468-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB975713-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB977165-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB978251-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB979683-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB980232-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB979559-x86-CHS.exe?/quiet?/norestart WindowsServer2003-KB980218-x86-CHS.exe?/quiet?/norestart if?%errorlevel%?EQU?0?( @?echo?補(bǔ)丁安裝成功,?繼續(xù)安裝prepackge...?2>>%HOMEDRIVE%/errlog.txt @?cd?.. @?goto?prepackge?2>>%HOMEDRIVE%/errlog.txt )?else?( @?echo?補(bǔ)丁安裝失敗,?繼續(xù)安裝prepackge...?2>>%HOMEDRIVE%/errlog.txt @?cd?.. @?goto?prepackge?2>>%HOMEDRIVE%/errlog.txt ) :prepackge @?echo?安裝Prepackage中...?2>>%HOMEDRIVE%/errlog.txt @?cd?windows_2010628?2>>%HOMEDRIVE%/errlog.txt install.bat?/qn?2>>%HOMEDRIVE%/errlog.txt if?%errorlevel%?EQU?0?( @?echo?Prepackage安裝成功?2>>%HOMEDRIVE%/errlog.txt @?cd?.. @?goto?end?2>>%HOMEDRIVE%/errlog.txt )?else?( @?echo?Prepackage安裝失敗?2>>%HOMEDRIVE%/errlog.txt @?cd?.. @?goto?end?2>>%HOMEDRIVE%/errlog.txt ) :end
批處理文件中的hotfix(出重要的補(bǔ)丁時(shí)可以下載放到這,但別忘記了修改批處理文件),windows_20100628(安全部門制作的安全包解壓所得)文件夾和install.cmd位于同級(jí)目錄,這里就是在/tftpboot/win2k3/$oem$/下。
其中在組件注冊時(shí)不能執(zhí)行的的命令或者程序(包括有交互而不適合執(zhí)行的程序),可以通過在自動(dòng)應(yīng)答文件wi2k3.sif中添加[GuiRunOnce]字段,在第一次登錄系統(tǒng)時(shí)執(zhí)行腳本來完成一些短時(shí)間能夠完成的操作。
在/tftpboot/win2k3/$oem$/下建立文件夾$1,這個(gè)文件夾下的所有文件(夾)會(huì)在安裝過程中復(fù)制到兄根目錄,即C盤。
mkdir?/tftpboot/win2k3/$oem$/$1 cd?mkdir?/tftpboot/win2k3/$oem$/$1 mkdir?preinstall
在windows平臺(tái)編輯一個(gè)批處理文件runonce.cmd,上傳到preinstall文件夾下:
@?echo?off title?Windows?GuiRunOnce?Install?Drives @?color?0a echo?starting?drive echo. @?cd @?cd?preinstall @?cd?hp call?bp000588.cmd echo. echo?starting?pcanywhere @?cd @?cd?preinstall @?cd?pcanywhere_10.5.1cn start?/wait?SymantecpcAnywhere.msi? echo. shutdown?-r?-t?0 exit
這里我將HP的所有驅(qū)動(dòng)放到hp文件夾下(因?yàn)槲乙卜植磺宄男┬枰男┎恍枰?,就只有全部上傳了?/span>L),pcanywhere安裝文件放到pcanywhere_10.5.1cn文件夾下。所有這些文件夾統(tǒng)一放到preinstall文件夾下(有需要還可以增加,修改runonce.cmd即可)
最后在自動(dòng)應(yīng)答文件wi2k3.sif中添加:
#注意路徑 [GuiRunOnce] %systemdrive%preinstall unonce.cmd
8. 進(jìn)階
上面只是提到32為系統(tǒng),對(duì)于64位系統(tǒng),我們可以在/tftpboot下建立win2k3_64文件夾,將iso下的文件拷到此文件夾下。
cabextract?win2k3_64/i386/startrom.n1_ #解壓 sed?-i?-e?'s/NTLDR/W2K3L_64/gi'?startrom.n12 #直接替換startrom.n12文件中"?NTLDR"為"?W2K3L_64" #W2K3L_64:?windows?2003?64bit?Setup?Loader mv?startrom.n12?/tftpboot/w2k3_64.0 #?w2k3_64.0:?windows?2003?bit?pxe?loader cabextract?win2k3_64/i386/setupldr.ex_ sed?-i?-e?'s/winnt.sif/wi2k3_64.sif/gi'?setupldr.exe sed?-i?-e?'s/ntdetect.com/ntdetect.2k3_64/gi'?setupldr.exe mv?setupldr.exe?/tftpboot/w2k3l_64 cp?win2k3_64/i386/ntdetect.com?/tftpboot/ntdetect.2k3_64 #?ntdetect.2k3_64:?windows?2003?bit?ntdetect.com
samba服務(wù)器需要建立針對(duì)64位系統(tǒng)的共享目錄,如[win64install];同時(shí)建立自動(dòng)應(yīng)答文件/tftpboot/wi2k3_64.sif 。這兩者當(dāng)中的路徑問題請一定要注意一一對(duì)應(yīng)。
pxe加載/tftpboot/pxelinux.cfg/default文件,需要有系統(tǒng)選擇時(shí),可以修改文件:
vim?/tftpboot/pxelinux.cfg/default default?win2k3 timeout?30 label?win2k3 kernel?w2k3.0 label?win2k3_64 kernel?w2k3_64.0
其實(shí)不管是32位還是64位系統(tǒng),啟動(dòng)文件都是一樣的,這些都可以不用修改,只是客戶端從服務(wù)器下載文件的路徑一定要區(qū)分32位和64位。
啟動(dòng)順序:pxelinux.0—> default—> pxe loader(w2k3.0, startrom.n12)—>setup loader(w2k3l, setupldr.exe) —> ntdetect.com(ntdetect.2k3) and winnt.sif(wi2k3.sif)
9. 小結(jié)
關(guān)于驅(qū)動(dòng)加載的問題,如果我們參照一臺(tái)已經(jīng)裝好windows2003系統(tǒng)的服務(wù)器的硬件驅(qū)動(dòng)(重要的是芯片組,網(wǎng)卡,顯卡等)可以看出這些驅(qū)動(dòng)主要由.sys, .dll, .inf(驅(qū)動(dòng)信息文件), .cat(驅(qū)動(dòng)簽名文件)等文件組成。如果能收集到這些文件放到系統(tǒng)安裝文件里,就不用事后打驅(qū)動(dòng)那么麻煩。但這個(gè)過程目前我還沒有摸透,這點(diǎn)還是有很大的改進(jìn)空間的。
使用這套系統(tǒng)安裝windows2003系統(tǒng),加上打補(bǔ)丁(大概超過20分鐘)的時(shí)間,前后在40分鐘左右。我看過安全部門制作的安全包,系統(tǒng)正式上線后應(yīng)該是可以自動(dòng)打補(bǔ)丁的。如果有可能的話,可以把打補(bǔ)丁這個(gè)環(huán)節(jié)去掉。這樣利用這套系統(tǒng)安裝一臺(tái)windows2003系統(tǒng)大概是20分鐘,批量安裝更能體現(xiàn)效果。