在Centos上通過PXE網絡安裝Windows

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

                      

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章