背景知识
- PXE / RPL :网卡启动协议。注意,不是所有独立或集成网卡都支持PXE
- WDS / RIS :Windows部署服务。对照组,不然不了解原厂的雍容华贵。
- EFI / UEFI / MBR / GPT :BIOS和硬盘模式,决定怎么启动。
- WIM / GHO :Windows镜像 和 GHOST FTP / TFTP / DHCP :这三个都得了解
首先介绍需要用到的软件:
Serva
The Best PXE Server for MS Windows
Automated PXE Server Solution Accelerator based on an all-in-one portable multi-server engine.
版本介绍:
Serva分为"社区版(免费)"和"商业版"(付费)两个版本。
社区版支持以Legacy的方式PXE部署系统,如果要以EFI的方式部署系统则需要使用商业版,另外如果需要 "Secure Boot",也需要商业版。
Serva支持部署Windows和Linux。
对于Windows系统,目前常见的系统比如Win10、Windows Server 2016都需要商业版。
社区版只支持一些现在已经不常用的系统,比如Win7、Windows Server 2003等。
Serva是一款All-In-One的全功能软件,以下是Serva包含的功能组件:
● HTTP server
● FTP server
● TFTP server
● TFTP client
● DHCP server
● proxyDHCP server
● BINL server
● DNS server
● SNTP server
● SYSLOG server
需要注意的是,社区版单次使用时长为50分钟超时后需要重新运行Serva。
目前版本为4.6.0,下载Community社区版即可。
下载完成后运行Serva64.exe
点击左上角图标,点击弹出菜单中的Settings按钮打开配置界面。
根据自己的网络环境调整blocksize和windowsize,如果对这一项不是太清梵可以先使用默认值。如果PXE部署时TFTP传输性能过低,再调整此参数。
说明:由于本文以VMwareWorkstation作为模拟客户机安装,Workstation自带了DHCP服务所以此处选择了proxyDHCP,如真实环境下没有其他的DHCP服务器请选择DHCP Server并填写相应的IP Pool 1 st addr及Subnet Mask即可,Pool Size可根据实际的客户端数量填写。
配置完成后点击确定按钮,按照提示关闭Serva,再次运行Serva程序会在所选目录下自动创建出需要的目录。
开始安装前先关闭Windows系统防火墙。
Serva目录结构
Serva安装完成后主要有4个目录:
● BM ## 存放Serva的Boot Manager文件,包括Windows和Linux的BIOS、EFI32、EFI64文件
● NWA_PXE ## 存放非Windows安装映像文件,也就是Linux系统的映像文件
● WIA_RIS ## 存放只支持RIS安装的早期Windows版本,比如Windos XP、Windows2000等
● WIA_WDS ## 存放支持WDS安装的Windows版本,比如Win10、Windows Server 2016等
1.导入镜像
在NWA_PXE目录下创建文件夹,然后将ISO文件解压后全部拷入所创建的文件夹下
2. 添加ServaAsset.inf文件
在光盘文件目录创建ServaAsset.inf文件,这个文件包含PXESERVA所需要的的网络引导/安装信息以及设备自身的引导/安装过程描述信息。
每个光盘文件的目录都要创建一份ServaAsset.inf文件。
这个文件的具体创建方法在Serva网站上有详细的说明,并且网站上还列出了经过测试认证可以进行部署的各种Linux发行版的版本。
- ;-Serva v3.0 Asset Information File
- ;-Boot/Install:
- ; Red Hat Enterprise Linux / CentOS Linux
- ;-Tested on:
- ; rhel-server-7.5-x86_64-dvd.iso
- ; rhel-server-7.5-x86_64-boot.iso
- ; rhel-workstation-7.5-x86_64-dvd.iso
- ; rhel-workstation-7.5-x86_64-boot.iso
- ; rhel-client-7.5-x86_64-dvd.iso
- ; rhel-client-7.5-x86_64-boot.iso
- ; rhel-atomic-installer-7.5.0-1.x86_64.iso
- ;
- ; rhel-server-7.4-x86_64-dvd.iso
- ; rhel-server-7.4-x86_64-boot.iso
- ; rhel-workstation-7.4-x86_64-dvd.iso
- ; rhel-workstation-7.4-x86_64-boot.iso
- ; rhel-client-7.4-x86_64-dvd.iso
- ; rhel-client-7.4-x86_64-boot.iso
- ; rhel-atomic-installer-7.4.0-1.x86_64.iso
- ;
- ; rhel-server-7.3-x86_64-dvd.iso
- ; rhel-server-7.3-x86_64-boot.iso
- ; rhel-workstation-7.3-x86_64-dvd.iso
- ; rhel-workstation-7.3-x86_64-boot.iso
- ; rhel-client-7.3-x86_64-dvd.iso
- ; rhel-client-7.3-x86_64-boot.iso
- ;
- ; rhel-server-7.2-x86_64-dvd.iso
- ; rhel-server-7.2-x86_64-boot.iso
- ; rhel-workstation-7.2-x86_64-dvd.iso
- ; rhel-workstation-7.2-x86_64-boot.iso
- ; rhel-client-7.2-x86_64-dvd.iso
- ; rhel-client-7.2-x86_64-boot.iso
- ; rhel-atomic-installer-7.2-10.x86_64.iso
- ;
- ; CentOS-7-x86_64-DVD-1804.iso
- ; CentOS-Atomic-Host-7-Installer.iso (2018-Jun-11)
- ;
- ; CentOS-7-x86_64-DVD-1708.iso
- ; CentOS-Atomic-Host-7-Installer.iso (2017-Nov-28)
- ;
- ;
- ; rhel-workstation-6.5-x86_64-dvd.iso
- ; rhel-server-6.5-x86_64-dvd.iso
- ; CentOS-6.5-x86_64-bin-DVD1.iso
- ;
- ;-Require:
- ; SERVA_REPO offered as HTTP root
- ;-Notes:
- ; For KickStart
- ; 7.3 and up > Add to append inst.ks=http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/images/pxeboot/ks.cfg
- ; 7.2 > Add to append ks=http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/images/pxeboot/ks.cfg
- [PXESERVA_MENU_ENTRY]
- asset = RHEL Server 7.6
- platform = x86_64
-
- kernel_bios = /NWA_PXE/$HEAD_DIR$/images/pxeboot/vmlinuz
- append_bios = initrd=/NWA_PXE/$HEAD_DIR$/images/pxeboot/initrd.img inst.repo=http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/
- ;7.2 > append_bios = initrd=/NWA_PXE/$HEAD_DIR$/images/pxeboot/initrd.img root=live:http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/LiveOS/squashfs.img ksdevice=bootif repo=http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/
- ;6.x > append_bios = initrd=/NWA_PXE/$HEAD_DIR$/images/pxeboot/initrd.img method=http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$ noipv6 ksdevice=bootif
- ipappend_bios = 2
-
- kernel_efi64 = /NWA_PXE/$HEAD_DIR$/images/pxeboot/vmlinuz
- append_efi64 = initrd=/NWA_PXE/$HEAD_DIR$/images/pxeboot/initrd.img inst.repo=http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/
- ;7.2 > append_efi64 = initrd=/NWA_PXE/$HEAD_DIR$/images/pxeboot/initrd.img root=live:http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/LiveOS/squashfs.img ksdevice=bootif repo=http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/
- ipappend_efi64 = 2
3. 启动引导
完成后启动安装,通过PXE进行引导,引导到Serva PXE安装菜单
4.安装Linux系统
选中后继续,直至熟悉的Linux系统安装界面。
1.导入镜像
将ISO文件解压后复制到WIA_WDS目录下
第一次安装发现会出现上面的界面,请按以下步骤解决。
2.设置共享
选择WIA_WDS目录,开启共享,共享名称须为 WIA_WDS_SHARE
3.添加权限
新建一个用户,也可以使用现有的用户
对上级目录,即配置中所选择的目录(例如本文中的D:\PXE)添加权限
重新引导安装,至此输入刚才创建的用户名密码或本地账户/密码后点击Connect
按钮
然后即可看到熟悉的系统安装界面。
4.无人值守
无人值守可以将Autounattend.xml文件放置到系统镜像目录,生成文件可访问Windows Answer File Generator 填写完整后单击页面底部的下载文件链接以下载 Autounattend.xml 文件。
TIPS:需要科学上网,否则无法生成