偶然在 Facebook 看到有人提到这套服务器可以用来很便捷的给任何支持 PXE 启动的电脑安装操作系统。然后我去 YouTube 频道看到他们把这玩意的强大之处吹的天花乱坠,问题就是没有非常系统化的使用教程,还得让用户自行摸索。同样怕以后忘记这玩意怎么用,先在这里整理一下使用方法。
下载安装 Ultimate Deployment Appliance
你可以在 http://www.ultimatedeployment.org/download.html 下载到这个服务器的镜像文件和补丁(需要下载 uda30build143.ova 和 uda30P4.tgz 两个文件)。
OVA 格式的文件可以直接安装在 VMware/ESXi 上。由于是作为服务提供的,建议安装在 ESXi、Proxmox VE、OpenVZ 等可以保证长期开机的环境中。对于 VMware/ESXi,你需要将网络模式改成桥接模式才能发挥作用。
但如果你用的是 Proxmox VE,就需要先单独创建一个虚拟机,并删除原先配备的虚拟硬盘。以下是我的虚拟机分配的配置供参考。
然后,你需要去 Proxmox VE 的 Shell 下面执行这些命令将 OVA 文件导入虚拟机(假设你创建出来的虚拟机ID是106,并使用一些方式将上述两个文件托管到了位于 192.168.10.100 的 HTTP 服务器上):
wget http://192.168.10.100/uda30build143.ova
tar -xvf uda30build143.ova
qm importdisk 106 uda30build143-disk1.vmdk local -format qcow2
rm uda30build143*
接下来启动虚拟机,并进行首次配置,你需要输入这个服务器的主机名、IP 地址、默认要启动的服务以及 root 密码。这里假设你配置的服务器主机 IP 地址是 192.168.10.252。
安装完成之后就会直接进入服务器系统了。
使用 SSH 登录进你配置好的服务器并安装补丁:
ssh 192.168.10.252 -l root
=== 输入密码 ===
curl -LO http://192.168.10.100/uda30P4.tgz
tar -xvf uda30P4.tgz
rm uda30P4.tgz
sed -i "s|PATCHDIR=$1|PATCHDIR=~|g" install.sh
bash install.sh
rm -rf uda30* install.sh README.md
配置 PXE 启动
竟然到处都找不到相关配置方法。
某些路由器系统内置了自定义 PXE/TFTP 服务器的方法,其中 OpenWRT 是一定内置了的。如果你使用的是其它路由器固件,请检查是否有相关的配置功能。
在 OpenWRT luci 界面的网络 - DHCP/DNS 的 PXE/TFTP 设置内,新增一个启动选项。其中,服务器名称是你前面设置的主机名,服务器地址是你前面设置的 IP 地址。然后 DHCP 选项必须要添加以下两行:
60,192.168.10.252
67,pxelinux.0
配置完成之后,在同一局域网内从 PXE 启动就可以立即看到 Ultimate Deployment Appliance 的启动菜单。当然,实际上你只会看到一个 Boot local disk 选项,后面的启动选项就需要自行添加了。
导入操作系统镜像
在浏览器输入你之前配置的 UDA 服务器的 IP 地址(例如 http://192.168.10.252/ )以进入后台管理界面。用户名是 admin,密码就是你之前配置的 root 密码。
由于这个系统的内置硬盘只有 10GB,你需要从其它渠道挂载镜像。点击上面的 Storage,然后点击 New 来挂载外置存储。最简单的方式是使用 Windows Network Share (或者说 SMB)的分享方式,也就是 Windows 自带的文件分享来挂载。如果你的 NAS 支持 SMB 协议,推荐使用这种方法。
Windows 2000/XP/Server 2003
注意:这里不支持使用 Ghost XP 等非法来源 Windows 安装镜像。
由于 2000/XP/Server 2003 默认支持的有线网卡有限,建议提前使用类似 nLite 这样的软件给安装镜像整合好你可能会碰到的各种有线网卡驱动,否则会启动失败。
点击上面的 OS 并点击 New。
在 flavor name 中随意指定一个名字(不能包含空格),系统类型选择 Windows 2000/XP/2003 并点击 Next,然后 subtype 选择你实际要安装的系统,并在里面选择你挂载的存储内的 ISO 文件,稍等片刻就完成导入了。
再来去 Templates 内点击 Add 新增一个配置模板,你可以同一个系统的安装方式创建多组启动模板。其中名字不能包含空格,Description可以。
创建完成之后,再从 PXE 启动就可以看到你创建的启动选项了,但是你会注意到它无视了大多数本来应该手动操作的部分直接自动安装了,这是因为服务器内置了自动应答文件,你需要手动自动应答文件。
点击你创建的模板之后,点击上面的 Configure,然后在 Advanced 内就可以找到自动应答文件。修改方法请参考 Windows XP 的自动应答文件 winnt.sif 的格式。
例如,你可能想将 AutoPartition 的数值改成 0,并将
Windows Vista 和以上版本
如果你使用的是自己封装的系统镜像,请确保你的系统镜像本体的文件名必须是 install.wim 而不是 install.esd,否则 UDA 无法识别你配置的镜像。
类似前面的步骤,你需要在 flavor name 中随意指定一个名字(不能包含空格),系统类型选择 Windows 7/8/10/2008/2012/2016/2019 并点击 Next,然后在里面选择你挂载的存储内的 ISO 文件,稍等片刻就完成导入了。导入之后,Template 创建模板时,你需要选择要安装的 Windows Edition 分支版本。后续对自动应答文件(XML格式)的修改同样可以在 Configure 操作。由于 UDA 无法正确处理中文,你必须要事先知道哪一个是你想要装的分支,以 Windows 7 来讲一般最后一个选项就是旗舰版。