由于需要实现pxe启动winpe,而在windows下实现没出什么问题,可是在Linux服务端上就有问题了,原因是启动所需的文件大小写不一致,导致linux服务端无法提供正确的文件而无法启动pe,下面我们来进行以下操作,让Linux下的tftp忽略大小写:
首先,创建规则文件,来让所有tftp的文件请求中的所有字符都变成小写创建如下文件
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
|
#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配置文件
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
|
#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了
(责任编辑:IT) |