与pxe安装linux系统配置不同,安装windows的相关文档较少,坑也比较多。原理就不细说了,这里会简单说下,并说些遇到的问题
1.准备一台centos服务器(这里是centos7),并准备环境
1).关闭防火墙、selinux(临时)
systemctl stop firewalld
setenforce 0
2).安装dhcp
yum -y install dhcp
vim /etc/dhcp/dhcpd.conf
subnet 192.168.0.0 netmask 255.255.255.0 { //dhcp服务器网段和子网掩码
range dynamic-bootp 192.168.0.200 192.168.0.250; //动态分配的ip范围
option broadcast-address 192.168.0.255; //广播地址
option routers 192.168.0.1; //路由
option subnet-mask 255.255.255.0; //子网掩码
next-server 192.168.0.111; //tftp服务器地址
filename "pxelinux.0"; //bootloader文件名
}
systemctl start dhcpd
3).安装tftp-server
yum -y install tftp-server
vim /etc/xinetd.d/tftp
将disable=no改为disable=yes
systemctl start tftp
4).检查tftp-server是否启动成功
netstat -a| grep tftp
udp6 0 0 [::]:tftp [::]:*
5).安装syslinux
yum install -y syslinux
从syslinux 3.84开始,memdisk支持安装ISO映像,这里使用yum安装的版本是4.05,如果需要可以从这里下载需要的版本https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/,注意:5.0以上版本需要的文件与4.05不同,具体的可以根据引导过程中报错来添加文件
[root@zabbix tftpboot]# rpm -qa| grep syslinux
syslinux-4.05-15.el7.x86_64
将pxelinux.0、memdisk、menu.c32复制到tftp默认共享目录
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/
cp /usr/share/syslinux/memdisk /var/lib/tftpboot/
创建默认的pxe启动配置菜单,winpe_amd64.iso是windows7_x64的pe镜像
mkdir /var/lib/tftpboot/pxelinux.cfg
vim /var/lib/tftpboot/pxelinux.cfg/default
UI menu.c32
label 1
menu label ^1) Install Windows 7 x64
KERNEL memdisk
INITRD winpe_amd64.iso
APPEND iso raw
注意:UI menu.c32必须配置,否则会出现报错
6).安装并配置samba(相关的文档很多,这里不过多介绍)
smb是windows共享默认协议,samba用来将win7的系统镜像共享给被安装的服务器
rpm -qa | grep samba #查看系统是否已安装samba
yum -y install samba #使用yum安装samba
修改配置文件
vim /etc/samba/smb.conf
[global]
workgroup = PXESERVER
server string = Samba Server Version %v
log file = /var/log/samba/log.%m
max log size = 50
idmap config * : backend = tdb
cups options = raw
netbios name = pxe
map to guest = bad user
dns proxy = no
public = yes
## For multiple installations the same time - not lock kernel
kernel oplocks = no
nt acl support = no
security = user
guest account = nobody
[install]
comment = Windows 7 Image
path = /windows
read only = no
browseable = yes
public = yes
printable = no
guest ok = yes
oplocks = no
level2 oplocks = no
locking = no
根据配置文件 /windows ,创建共享目录
mkdir /windows
验证配置文件并启动服务
testparm
systemctl start smb
在windows服务器上查看(IP地址为centos服务器地址)
7).下载win7镜像
选择下载镜像 https://mp.csdn.net/postedit/85285195,移动到pxe服务器的 /iso/ 下,并挂载
mount -o loop /iso/cn_windows_7_enterprise_with_sp1_x64_dvd_u_677685.iso /mnt/
最后将挂载的文件全部复制到共享目录 /windows
cp -rf /mnt/* /windows/
ls /windows/
autorun.inf boot bootmgr bootmgr.efi efi setup.exe sources support upgrade
2.制作winpe镜像
1).下载windows自动安装工具包 ISO映像文件
http://www.microsoft.com/en-us/download/details.aspx?id=5753
2).安装该工具包需要.net2.0
控制面板——程序——启用或关闭windows功能——勾选.NET Framework3.5(包含3.0和2.0)——确定
3).装载 KB3AIK_EN.iso 映像文件,运行StartCD.exe,点击图中选项,之后完成安装
4).开始——邮件点击AIK命令提示符,以管理员身份运行,并制作winpe_amd64.iso镜像
下面是制作命令,需要根据AIK安装目录修改命令中的路径,pe镜像路径可以自行定义
windows7 32
copype x86 C:\winPE_x86
copy "C:\Program Files\Windows AIK\Tools\PETools\x86\winpe.wim" C:\winpe_x86\ISO\Sources\Boot.wim
copy "C:\Program Files\Windows AIK\Tools\x86\Imagex.exe" C:\winpe_x86\ISO\
oscdimg -n -bC:\winpe_x86\etfsboot.com C:\winpe_x86\ISO C:\winpe_x86\winpe_x86.iso
windows7 64
copype amd64 C:\winPE_amd64
copy "C:\Program Files\Windows AIK\Tools\PETools\amd64\winpe.wim" C:\winpe_amd64\ISO\Sources\Boot.wim
copy "C:\Program Files\Windows AIK\Tools\amd64\Imagex.exe" C:\winpe_amd64\ISO\
oscdimg -n -bC:\winpe_amd64\etfsboot.com C:\winpe_amd64\ISO C:\winpe_amd64\winpe_amd64.iso
windows8 32
copype x86 C:\Win8PE_x86
MakeWinPEMedia /ISO C:\Win8PE_x86 C:\Win8PE_x86\WinPE_x86.iso
windows8 64
copype amd64 C:\Win8PE_amd64
MakeWinPEMedia /ISO C:\Win8PE_amd64 C:\Win8PE_amd64\Win8PE_amd64.iso
制作完成的winpe镜像文件,我们可以直接挂在到虚拟机光盘驱动来测试下,镜像是否正常,在我们查找问题时非常有用
最后将 C:\Win8PE_amd64\Win8PE_amd64.iso 镜像文件复制到pxe服务器上,放置路径根据之前我们配置的 /var/lib/tftpboot/pxelinux.cfg/default 文件,放置到 /var/lib/tftpboot/ 下
[root@zabbix tftpboot]# ls
memdisk menu.c32 pxelinux.0 pxelinux.cfg winpe_amd64.iso
3.开始安装
1).启动需要安装系统的电脑,delete进入bios设置,打开pxe网络引导,并设置优先启动顺序,F10保存并重启
2).系统重启后进入网络引导,向局域网发送获取广播,寻找dhcp服务器,并获取分配的ip,跳转到tftp服务器,开始pxe引导
3).之后一直到安装界面,选择 “Install Windows 7 x64”,加载内核及winpe镜像
4).进入winpe命令行,挂载smb共享,并开始安装windows7系统
以下是相关命令
net use z: \\192.168.1.150\install # 挂载smb共享到z盘
z: # 切换到z盘目录
setup.exe # 运行安装程序
5).最后进入安装