网络自动化安装windows和linux

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 ,驱动文件。在参考机器上执行: 我的电脑 右键菜单-> 管理 -> 设备管理器 -> 网络适配器 -> 选择相应网卡并双击,并选择详细信息选项卡,如下图:

你可能感兴趣的:(网络,安装,TFTP,windowslinux)