與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).最後進入安裝