Pxe
网络安装
windows
和
linux
来自天地一沙鸥网络学习总结
上一个星期在数据中心装了几百台服务器,在研究通过网络安装
windows
系统,之前也在
linux
环境下搭建了
pxe server
环境下安装
centos
。这次在
windows
环境下利用
tftp32
工具和
binlsrv
在
windows
搭建环境,安装
windows
和
linux
系统。在
vmware
测试。在
linux
搭建环境还是比在
windows
环境下的要稳定很多。只是在日常工作中不是经常用
linux
,自己的工作电脑也是
windows
系统。所以还是在
windows
下使用的方便点,相对更加实际点。
Windows
和
linux
都利用脚本自动安装。
介绍下工具的目录结构:
W2k3.0 winxp.0 w2k.0 vmlinuz5.5
都是启动引导文件,
2003
和
2000
,
xp
都是在
i386
提取重命名的文件,
vmlinuz
是
linux
系统引导需要的文件。
Winxp.sif win2k3.sif
是
windows
无人值守安装脚本。
参考:
http://liuchangnet.blog.51cto.com/895003/501329
这篇文章有纤细的介绍
windows xp 2003 2000
系统引导文件的制作。
引导菜单
Pxelinux.cfg
目录下建立
default
文件,内容如下。注意
kernel
写的就是相应的引导文件。
DEFAULT vesamenu.c32
PROMPT 0
MENU TITLE PXE Boot Install All System BY backsan
MENU BACKGROUND backsan.png
TIMEOUT 600
LABEL hdd
MENU LABEL 0----Boot From HARDDISK
kernel chain.c32
APPEND hd0 1
LABEL winxp
MENU LABEL 1----Boot Install Windows XP pro From Network
kernel winxp.0
LABEL win2k
MENU LABEL 2----Boot Install Windows 2000 server From Network
kernel w2k.0
LABEL win2k3
MENU LABEL 3----Boot Install Windows 2003 server From Network
kernel w2k3.0
LABEL centos5.5
MENU LABEL 4----Boot Install centos5.5 From Network
kernel vmlinuz5.5
append initrd=initrd5.5.img
LABEL centos6.3
MENU LABEL 5----Boot Install centos6.3 From Network
kernel vmlinuz6.3
append initrd=initrd6.3.img
。
脚本文件:2003server为例
[data]
floppyless = "1"
msdosinitiated = "1"
; Needed for second stage
OriSrc = "\\192.168.80.34\tftp\win2k3\i386"
OriTyp = "4"
LocalSourceOnCD = 1
DisableAdminAccountOnDomainJoin = 1
[SetupData]
OsLoadOptions = "/fastdetect"
; Needed for first stage
SetupSourceDevice = "\Device\LanmanRedirector\192.168.80.34\tftp\win2k3"
//
说明:
192.168.80.34
是我
tftp
服务器的
IP
地址。
Tftp
是我共享出来的
tftp
文件夹的共享名。
Tftp
文件一定要匿名共享出来,这样在经过网卡启动之后,客户机才能访问这些镜像。匿名共享可以网络搜索
[RemoteINstall]
Repartition=No
UseWholeDisk=Yes
[Unattended]
FileSystem=*
UnattendMode=FullUnattended
UnattendSwitch=Yes
OemPreinstall=Yes
OemSkipEula=Yes
WaitForReboot=No
NoWaitAfterTextMode=1
NoWaitAfterGUIMode=1
DriverSigningPolicy=Ignore
NonDriverSigningPolicy=Ignore
Hibernation=No
TargetPath=\winnt
CrashDumpSetting=0
[GuiUnattended]
AdminPassword="123456"
TimeZone=210
OEMSkipRegional=1
OemSkipWelcome=1
EncryptedAdminPassword=NO
AutoLogon=Yes
AutoLogonCount=3
[Shell]
DefaultStartPanelOff=No
[LicenseFilePrintData]
AutoMode=PerSeat
[Components]
ComPlusNetwork=On
IEHardenAdmin=Off
IEHardenUser=Off
iis_common=Off
iis_inetmgr=Off
iis_www=Off
iis_asp=off
aspnet=off
SCW=On
AutoUpdate=Off
OEAccess=Off
[UserData]
ProductKey=JB79Q-MG7HH-VP9JQ-R78Y4-3PFDY
ComputerName=backsantest
FullName="backsan"
OrgName="backsan"
[Networking]
InstallDefaultComponents=Yes
[WindowsFirewall]
Profiles=WindowsFirewall.TurnOffFirewall
[WindowsFirewall.TurnOffFirewall]
Mode=0
[Identification]
JoinWorkgroup=workgroup
[GUIRunOnce]
Command1="%SystemDrive%\tools\winrar.exe /s"
; Command2="%SystemDrive%\drivers\nic.exe /s"
command3="%SystemDrive%\DPsFnshr.exe"
command20 = "regedit /s %SystemDrive%\tools\RunOnce.reg"
[Display]
Xresolution=800
Yresolution=600
BitsPerPel=32
Vrefresh=75
[TapiLocation]
CountryCode=86
Dialing=Pulse
AreaCode=010
LongDistanceAccess="86"
[RegionalSettings]
LanguageGroup=8,7,9,10
Language=00000804
[Branding]
BrandIEUsingUnattended=Yes
[URL]
Home_page=about:blank
[Proxy]
Proxy_Enable=0
Use_Same_Proxy=0
linux
系统引导后就可以直接安装了,通过网络文件共享的方式。而
windows
系统,还需要收集网卡驱动程序。
Nics.txt
文件内容是关于网卡驱动程序的对应列表。
8086 100F e1000325.sys vmware
是我在虚拟机测试机上用到的驱动。
Binlsrv
通过监听端口,获取网卡信息,然后将相应的网卡驱动发给客户机。
客户机接受到网卡驱动,就能正常的通过网络安装系统了,再加上无人值守安装脚本,就可以一次完成。如果所有的驱动程序都不匹配的话,安装会中断的。
介绍手动收集网卡信息:
-----
参考文章:
http://zhangxugg-163-com.iteye.com/blog/846589
找一台与客户机网卡相同的机器(后面称之为参考机器),手工提取生产商ID ,产品 ID ,驱动文件。在参考机器上执行: 我的电脑 右键菜单-> 管理 -> 设备管理器 -> 网络适配器 -> 选择相应网卡并双击,并选择详细信息选项卡,如下图: