分类: LINUX
2011-06-13 16:59:39
一、 前言
网络远程安装windows2003,目前有两种方法:一就是通过windows自带的远程安装服务(RIS,Remote Installation Service),但这种方法需要用windows做为源服务器,需要安装域控制器,dhcp,tftp等,配置起来比较复杂,麻烦;二就是在linux上模拟windows的环境,使用pxelinux+binlsrv+tftpd进行安装。
硬件环境: DELL R710 服务器
操作系统:centos5.4
概况:要在192.168.2.31上安装windows2003 sp2作为防篡改服务器,在192.168.2.32(centos5.4)上搭建安装源服务器,如下图:
过程大概为:
首先,目标机器通过pxe启动,连接源服务器的dhcp服务获取ip,tftp把启动文件传送到目标机器,启动进入安装菜单界面。敲入w2k3,进入windows2003的安装。这时,ris-linux服务通过samba服务,把源服务器的windows2003的i386目录mount到目标机器,启动windows2003安装进程,进入正常的windows安装过程。
二、 源服务器软件安装配置
1、 下载安装 ris-autoinst-0.6
1)在上下载最新版,目前是ris-autoinst-0.6。ris-autoinst是一个ris-linux的辅助工具包,执行里面的安装脚本,可以自动安装和配置pxelinux,dhcp,tftpd,samba,ris-linux服务,很方便。(安装的时候可能会缺少某些包跳过而安装不成功,这时可以手动安装相关服务)
解包后,查看根目录下的INSTALL_zhCN文件,按照里面的步骤来进行相关的安装前配置,这里就不重复说明了。需要注意的是,如果源服务器已经安装了dhcp,samba等服务,在安装前最好对配置文件做下备份。
检查config.sh 修改对应的IP地址以及 光盘镜像的地址
修改install_first文件 在安装samba 服务器里面增加一句
rpm -ivh $CENTOSPATH/CentOS/perl-Convert-ASN*.rpm
2)解压sp2.cab
cabextract -d /tftpboot/win2003/i386/ /tftpboot/win2003/i386/sp2.cab
2、 加载目标机器的网卡驱动
这次的目标机器是DELL R710,网卡为Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet,
1)ris驱动下载地址:
2)在windows下解压,复制NX2_W2K3_8_RIS_Drivers\b06nd51目录下的b06nd51x.sys和b06nd.inf文件分别到源安装服务器192.168.2.32的/tftpboot/win2003/i386和/usr/local/bin/ris-linux/inf目录下。
3)重启ris-linux服务,就可以自动加载目标机器的网卡驱动了
3、 加载SCSI硬盘驱动
网卡加载成功后,基本可以进入windows2003的安装界面,但还需要加载scsi驱动才能让windows找到硬盘
1) 这次的客户机scsi卡为
LSI Logic / Symbios Logic SAS1068E PCI-Express Fusion-MPT SAS
驱动下载地址(文件名为R194052.exe):
2) 执行以下命令
mkdir -p /tftpboot/win2003/\$oem\$/textmode
unzip R194052.exe -d /tftpboot/win2003/$oem$/textmode
修改wi2k3.sif文件,在末尾添加如下几行:
[MassStorageDrivers]
"Dell SAS 5x and SAS 6X Controller Driver (Windows Server 2003 32-bit)"=OEM
lsi_sas.cat
lsi_sas.inf
lsi_sas.sys
lsi_sas.tag
r194052.txt
txtsetup.oem
注:
[MassStorageDrivers] 下的内容为txtsetup.oem文件中DELL_SAS_2K3字段的内容。
[OEMBootFiles] 下的内容为解压后的文件列表。
4、 自动安装网卡和芯片驱动
为了让windows安装完后自动安装网卡等驱动,还需进行如下配置:
1) 下载对应的网卡和主板芯片驱动,这次为DELL R710,下载地址为:
网卡驱动(nic_drvr_win_r264532.exe):
主板驱动(Intel_5500-5520-Chipset-Soft_A02_R269378.exe):
2) 执行如下命令:
mkdir –p /tftpboot/win2003/$oem$/$1/drivers
把下载的驱动复制到该目录下
3) 修改/tftpboot/wi2k3.sif文件,添加如下几行:
[GuiRunonce]
"%SystemDrive%\drivers\nic_drvr_win_r264532.exe"
"%SystemDrive%\drivers\Intel_5500-5520-Chipset-Soft_A02_R269378.exe"
这样在安装windows完成后,首次登录时会自动进行安装。
Ps:也可以添加一些系统优化,安全的脚本,让系统首次登录时自动进行配置。另外,也可以建立目录/tftpboot/win2003/$oem$/$1/tools,里面放一些常用的工具软件,当系统安装完成后,在c盘的tools目录可以找到,根据需要安装。
5、 启动源安装服务
通过以上步骤,源服务器基本安装完成,切换到ris-autoinst-0.6的解压目录,启动以下的服务:
/etc/init.d/xinetd start
/etc/init.d/smb start
/etc/init.d/dhcpd start
./start_rislinux
三、 目标机器配置
客户端配置比较简单,主要在启动的时候按F12通过PXE BOOT,在通过dhcp成功获取ip后,敲入w2k3,就就可以进入正常的windows2003安装界面了,windows的安装不再详述。
四、 安装过程中需要注意的问题
1) windows2003安装完成后找不到ntfs.sys文件
需要把sp2.cab包解压到/tftpboot/win2003/i386/目录
cabextract -d /tftpboot/win2003/i386/ /tftpboot/win2003/i386/sp2.cab
2) 如果碰到通过dhcp拿不到ip或者samba不正常等情况,检查selinux是否已经关闭。
禁用CentOS 5.4的SELinux
(1) vi /etc/sysconfig/selinux/config
把SELINUX=enforcing改为SELINUX=disabled
(2) reboot (重启)
3) 如启动samba服务时一直停在“Starting SMB services:”,检查cups服务是否已经起来。
4) 进入windows安装界面后一直停在”starting windows….”
检查ris-linux,samba和tftp服务是否正常,可以尝试重启一下服务。