今天打算给平板洗系统的时候发现找不到 U 盘,于是快进到家里部署 PXE。于是顺路装了个 Windows Deployment Services。 首先 Windows Deployment Services 现在已经不强制需要 AD 了,本文的部署指南也会基于 Domainless (Standalone) 模式 继续。注意在 Domainless 模式下,你的系统安装镜像也可以是基于 AD 认证的(TFTP Bootstrap 完成后,它本质就是个 SMB。)
服务部署
- 安装 Windows Deployment Services Role,该 Role 的所有功能勾选。
- 进入 Windows Deployment Services 管理界面,初始化服务器,选择 Standalone 模式。
- 设置安装库目录。最好不要选系统盘。
- 选择 Respond to all client computers。如果你有
白名单许可名单的需求,你也可以选择 Respond only to known client computers 或者勾选下面的 Admin Approval。 - 如果开放给所有机器安装(即不需要认证),可以考虑启用 SMB 匿名共享并检查
REMINST
共享的权限配置。
添加镜像
- 准备一些 Windows ISO,把它们挂载上来。
- 在 Install Images 下创建 Image Group,比如我家里有
Win10_Client
和WinBlue_Client
。右键 Image Group 添加 Installer Image。 - 找到你的 ISO 下的
install.wim
并自动添加。如果有需要,可以重命名镜像(之后做也可以)。 - 在 Boot Images 下右键并导入你的
boot.wim
。 - 重复 2-4 步骤,直到你导入了你需要的所有 SKU 和体系结构的镜像。
添加驱动(可选)
- 在 Drivers 下创建你需要的驱动组,比如说
SurfacePro3
/SurfacePro4
。 - 右键 Driver Node 选择 Add Driver Package,添加需要的驱动,然后选择之前创建的驱动组。
- 可选:等待添加完成后,勾选修改 Filter,然后在弹出的窗口里添加 SMBIOS 匹配信息,使得特定组别的驱动只会在特定机器或系统版本上安装。
配置网络
- 如果 WDS 服务器和部署机器在同个广播域下,理论上,只要 DHCP 服务器存活,理论上什么都不用做就能用了。
- 如果 WDS 服务器和部署机器不在同个广播域下,需要配置 DHCP 服务器 /
ip helper
(Cisco 叫法)让客户端可以来 WDS 服务器获取一部分服务器信息,并且确保它们间网络互相可路由。 - 如果觉得上述配置太烦,理论上可以在 DHCP 服务器上手动指派 Option 60/66/67,但是这样子就无法非常方便地实现不同体系结构 (e.g. ARM64 + x64) 和不同启动固件 (BIOS / UEFI) 自适应 PXE 启动了。如果不嫌麻烦,可以用 dnsmasq 来匹配体系结构和固件 (Thanks HarryChen)。
TODO
本文还有一些内容没写,之后可能会更新:
- 用 WDS 启动 iPXE
- 自动
unattend.xml
- 根据 AD 安全组配置镜像可见性
- Multicast 传输装机器(节省批量装机的带宽消耗)
- Prestage 机器