配置 Windows 的 TFTP 服务从网络启动 WinPE

这篇文章描述如何在 Windows Server 2003 上安装 TFTP 服务,以及如何准备文件以支持 PXE 方式网络启动 Windows PE。

在 Windows Server 2003 上安装 TFTP 服务,参考文章 TFTP by Microsoft. Free, but Shy。我这里使用 LocalService 帐户启动服务,更安全。

mkdir "C:\tftpd\tftpboot"
cd %SystemRoot%\system32
copy dllcache\tftpd.exe
sc create TFTPd binPath= "%SystemRoot%\system32\tftpd.exe" ^
    start= auto DisplayName= "TFTP Server" ^
    obj= "NT AUTHORITY\LocalService"
set SVCPARAMS=HKLM\SYSTEM\CurrentControlSet\Services\TFTPd\Parameters
reg add %SVCPARAMS% /v Directory /d C:\tftpd\tftpboot
reg add %SVCPARAMS% /v Masters

在 Windows 防火墙中允许 TFTP 协议端口。

netsh fi add port udp 69 "TFTP Server" enable subnet

要立即启动 TFTP 服务,执行

net start TFTPd

下面准备引导 PE 需要的文件。从 Windows Server 2003 的安装光盘中提取出 SETUPLDR.BIN、 ntdetect.com、 startrom.com、 startrom.n12 几个文件。

其中, SETUPLDR.BIN 更名为 ntldr,并做二进制修改:找到第一个 ASCII 字符串“MZ”(不含引号,大约在文件里 0×4E70 的位置),从 MZ 之前的内容全部删除。

编写 winnt.sif 引导说明文件:

[SetupData]
BootDevice = "ramdisk(0)"
BootPath = "i386\system32"
OsLoadOptions = "/fastdetect /minint /rdexportascd /rdpath=pe.iso"
Architecture = "i386"

把上述 5 个文件,加上制作好的支持 ramdisk 方式引导的 Windows PE 镜像,如 pe.iso,全部复制到 TFTP 服务的主目录,即 C:\tftpd\tftpboot

最后只要在 DHCP 服务器里填上 TFTP 服务器的信息就可以了。例如,如果使用的是 ISC DHCP 服务器,在其 /etc/dhcpd.conf 中适当位置加上 next-server 和 filename 参数即可;如果是 Windows 的 DHCP 服务器,配置“066 启动服务器主机名”、“067 启动文件名”两个参数即可。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值