由于需要实现pxe启动winpe,而在windows下实现没出什么问题,可是在Linux服务端上就有问题了,原因是启动所需的文件大小写不一致,导致linux服务端无法提供正确的文件而无法启动pe,下面我们来进行以下操作,让Linux下的tftp忽略大小写:

首先,创建规则文件,来让所有tftp的文件请求中的所有字符都变成小写创建如下文件

#cat /tftpboot/rules
 ri ^[a-z]: # Remove “drive letters”
rg \\ / # Convert backslashes to slashes
 rg \# @ # Convert hash marks to @ signs
 rg /../ /..no../ # Convert /../ to /..no../
 rg A a
 rg B b
 rg C c
 rg D d
 rg E e
 rg F f
 rg G g
 rg H h
 rg I i
 rg J j
 rg K k
 rg L l
 rg M m
 rg N n
 rg O o
 rg P p
 rg Q q
 rg R r
 rg S s
 rg T t
 rg U u
 rg V v
 rg W w
 rg X x
 rg Y y
 rg Z z
 r ^/(.*) \1

再输入:wq保存退出,然后修改tftp配置文件

#cat /etc/xinetd.d/tftp 
 service tftp 
 { 
disable = no 
socket_type = dgram 
protocol = udp 
wait = yes 
user = root 
server = /usr/sbin/in.tftpd 
server_args = -m /tftpboot/rules -s /tftpboot 
per_source = 11 
cps = 100 2 
flags = IPv4 
 }

注:实际上就是在server_args里增加“ -m /tftpboot/rules”这个参数

好啦,这个时候重新启动xinetd服务即可

#/etc/init.d/xinetd restart

最后把所有文件都改成小写,就可以完全使用Linux服务端用于网络启动pe了

标签: none

添加新评论