无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 4960|回复: 20
打印 上一主题 下一主题

PE网启版与企业版TFTP地址和TFTP共享和谐统一解决方案

[复制链接]
跳转到指定楼层
1#
发表于 2010-7-27 11:06:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在的网启版,可以作为服务端用,也可以作为客户端启动。
但对企业用户来说,企业已经步骤了DHCP、TFTP服务器,再步骤一个DHCP服务器是有问题的,而又不能关闭企业的DHCP服务器。
企业也有可能DHCP、TFTP服务器是分开步骤的,而我们最需要的是TFTP服务器的IP地址。
那怎样把这些网启版步骤在企业服务器中,做到网启版与企业版和谐统一呢?这里需要解决两个问题:
1:TFTP服务器的IP地址自动获取;
2:TFTP服务器的共享名的指定。
我们在服务器上建一个文件SERV_SET.BAT,放在TFTP的BOOT目录下:
SERV_SET.BAT:
-----------
::服务器端共享目录名:
set SHARE_NAME=tftp
::用户名(连接服务器用)
set SHARE_USER=Guest
::用户口令(连接服务器用):
set SHARE_PASS=""
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
REM ########## 请保留上面的空行 ###########################
--------------------------
上面内容保存为SERV_SET.BAT。
怎样获取TFTP的IP地址呢?
PXE启动时,0x8288内存地址保存的是TFTP服务器的IP地址,我们把它转换成DOS可设别的。
下面是启动某个PE完整代码:
debug off
terminal console
color white/blue blue/yellow light-red/blue 10
timeout 0
default 0
#0
title RUN WIMPE2003
map --mem  /BOOT/EXT.IMG.GZ (fd0) ;注:(fd0)包含WINVBLOCK驱动
map --hook
command --set-path=(fd0)/GRUB/    ;GRUB目录下有FAT、WENV、GOTO外部命令
cat --length=0 /BOOT/SERV_SET.BAT || GOTO 1
FAT copy /BOOT/SERV_SET.BAT (fd0)/
WENV calc aa=*0x8288 & 0xff
WENV set ip=${aa}
WENV calc aa=*0x8288 >>8 & 0xff
WENV set ip=${ip}.${aa}
WENV calc aa=*0x8288 >>16 & 0xff
WENV set ip=${ip}.${aa}
WENV calc aa=*0x8288 >>24 & 0xff
WENV set ip=${ip}.${aa}
WENV run write --offset=0x100 (fd0)/SERV_SET.BAT \r\nset PXE_SERVER=${ip}\r\n
#上面把转换后的IP地址写入到SERV_SET.BAT中,如set PXE_SERVER=192.168.1.11
WENV reset
GOTO 1
#1
title
chainloader --force /COOLG/PXEWIM.0  ;这里根据PE启动方式自己指定
boot
那PE启动怎样来调用它呢?
我们知道,windows有F6功能,而WINVBLOCK或FIRADISK驱动可以在保护模式下保存map --mem的软盘镜像,
上面就是先把SERV_SET.BAT拷贝到软盘镜像中,利用PE启动时自动F6机制,把需要的内容传递给PE。这样PE启动
到桌面后就可以调用A盘SERV_SET.BAT的内容作相应动作。
这个软盘镜像可以根据用户需要改变大小,如10M、20M,可以把常用的工具放在这里。
另,PE内核不要禁用软驱,保留适当的驱动如sfloppy.sys,保证F6机制有效。

EXT.rar

22.63 KB, 下载次数: 111, 下载积分: 无忧币 -2

2#
发表于 2010-7-27 11:24:02 | 只看该作者
好帖,拜读了..巧妙利用了 F6 机制.
回复

使用道具 举报

3#
发表于 2010-7-27 13:45:40 | 只看该作者
不懂,
比如,在你的服务器上面,怎么使用这个
来启动骨头版?

我的骨头版支持PXE,带一个PXE服务器,
你的情况是不能使用我这个PXE服务器了,因为你已经有了,
那么,客户端怎么才能启动WINPE。ISO?

用在COOLG的那个PE可能行
回复

使用道具 举报

4#
 楼主| 发表于 2010-7-27 14:51:35 | 只看该作者
原帖由 dvd008 于 2010-7-27 13:45 发表
不懂,
比如,在你的服务器上面,怎么使用这个
来启动骨头版?

我的骨头版支持PXE,带一个PXE服务器,
你的情况是不能使用我这个PXE服务器了,因为你已经有了,
那么,客户端怎么才能启动WINPE。ISO?
...


chainloader --force /COOLG/PXEWIM.0  ;这里根据PE启动方式自己指定

你的怎么启动就改这里。当然内核里根据A盘SERV_SET.BAT调用。
回复

使用道具 举报

5#
发表于 2010-7-27 19:20:45 | 只看该作者
虽然不懂,楼主出新作了要支持。
回复

使用道具 举报

6#
发表于 2010-7-27 19:48:27 | 只看该作者
我是说,
在你服务器已经正常启动后,

我的是把PXE目录复制到硬盘,把WINPE.ISO复制到PXE目录,
正常情况是启动PXE目录的服务器,简单配置,然后,客户端启动

但是,你的服务器已经有DHCP等运行了,怎么办?
回复

使用道具 举报

7#
发表于 2010-7-27 21:18:24 | 只看该作者
在服务和PE启动一样的,只不过要在服务器的DHCP里重新设置一下就行了,指定DHCP的启动引导文件和TFTP的共享目录
回复

使用道具 举报

8#
发表于 2010-7-27 21:24:37 | 只看该作者
这种方法,网络组件可以外置,PE内核可以做得很小,
我新制作了一个IMG内核,只有36M,不含网络组件,同样支持PXE启动。
回复

使用道具 举报

9#
发表于 2010-7-27 21:24:58 | 只看该作者
楼主的意思是不是企业里已经部署了tftp和DHCP服务器,然后PE启动后获得那个tftp服务器的IP,就使用同一个tftp服务器,那PE文件就得放在同一个tftp服务器上了,但是企业里的DHCP服务器未必会是一个PXE服务器,只单单做分配IP作用,那是不是还需要一个DHCP服务器做PXE服务器呢?如若两个DHCP服务器,而DHCP客户端只得到最快获取的IP,并不能指定某个DHCP服务器,两个DHCP服务器想必是不行的
那企业内就只部署一个DHCP服务器,而这个DHCP服务器还得做PXE服务器,那再用PE启动一个PXE服务器有何意义
回复

使用道具 举报

10#
发表于 2010-7-27 21:27:44 | 只看该作者
强烈支持楼主。。。。
回复

使用道具 举报

11#
 楼主| 发表于 2010-7-27 22:56:30 | 只看该作者
原帖由 ones 于 2010-7-27 21:24 发表
楼主的意思是不是企业里已经部署了tftp和DHCP服务器,然后PE启动后获得那个tftp服务器的IP,就使用同一个tftp服务器,那PE文件就得放在同一个tftp服务器上了,但是企业里的DHCP服务器未必会是一个PXE服务器,只 ...


PXE服务器=DHCP服务器+TFTP服务器

我有点看不懂你的意思,呵呵,你们试验一下就明白了。
回复

使用道具 举报

12#
发表于 2010-7-27 22:58:33 | 只看该作者
9#,我绝不允许在俺的局域网中存在第二台激活的DHCP服务器!
回复

使用道具 举报

13#
发表于 2010-7-27 23:01:12 | 只看该作者
一个局域网中如果有两个DHCP服务器,会很混乱的吧。
可能你的电脑用一会就突然自己换了另一个IP了。
回复

使用道具 举报

14#
发表于 2010-7-27 23:23:00 | 只看该作者
又看到C大,好高兴!

另向C大建议:能不能把常用的外部命令,打包在一起发布,
以免我们东下一个,西下一个,会不会造成不同版本兼容性变差?
回复

使用道具 举报

15#
发表于 2010-7-27 23:53:17 | 只看该作者
原帖由 coolg 于 2010-7-27 23:23 发表
又看到C大,好高兴!

另向C大建议:能不能把常用的外部命令,打包在一起发布,
以免我们东下一个,西下一个,会不会造成不同版本兼容性变差?


嘻嘻,我比较懒,最近也比较忙。

下载最好从googlecode页面上下载,只要下载最新版本就可以了。明天晚上再打包整理一下上传。


忘了说下,有些人可能不知道在哪下载。

只要用以下网址就可以了
http://grub4dos.chenall.com

自动跳转到googlecode主页上的。
http://grub4dos-chenall.googlecode.com

[ 本帖最后由 chenall 于 2010-7-27 23:55 编辑 ]
回复

使用道具 举报

16#
发表于 2010-7-28 00:19:24 | 只看该作者
原帖由 chenall 于 2010-7-27 23:53 发表


嘻嘻,我比较懒,最近也比较忙。

下载最好从googlecode页面上下载,只要下载最新版本就可以了。明天晚上再打包整理一下上传。


忘了说下,有些人可能不知道在哪下载。

只要用以下网址就可以了
h ...



呵呵,在这里向老大致敬!太感谢了!!!
回复

使用道具 举报

17#
发表于 2010-7-28 08:51:45 | 只看该作者
COOLG的那个终结版WIM 是不是已经包括这个
功能了?

我就不研究了,拿个现成的用好了
回复

使用道具 举报

18#
发表于 2010-7-28 09:27:41 | 只看该作者
我了解了,想必是这样的,一个企业内已经部署了一个tftp服务器,然后再启动一台机子,用的是PXE网启版的PE做PXE服务器,然后再开一台机子做PXE客户端,PXE客户端获得的PXE服务器的IP保留到A盘,然后就可以利用这个IP开共享映射PXE服务器上的PETOOLS了
好像是这么过程吧
回复

使用道具 举报

19#
 楼主| 发表于 2010-7-28 10:57:58 | 只看该作者
楼上兄弟看一下PXE服务器架设
http://www.windrv.net/viewthread.php?tid=39
回复

使用道具 举报

20#
发表于 2010-7-28 19:57:59 | 只看该作者
虽然不懂,楼主出新作了要支持。
回复

使用道具 举报

21#
发表于 2010-8-1 18:02:42 | 只看该作者

PXE原理

PXE协议的成功运行需要解决以下两个问题:
  • 既然是通过网络传输,那么计算机在启动时,它的IP地址由谁来配置;
  • 通过什么协议下载Linux内核和根文件系统
对 于第一个问题,可以通过DHCP Server解决,由DHCP server来给PXE client分配一个IP地址,DHCP Server是用来给DHCP Client动态分配IP地址的协议,不过由于这里是给PXE Client分配IP地址,所以在配置DHCP Server时,需要增加相应的PXE特有配置。
至于第二个问题,在PXE client所在的ROM中,已经存在了TFTP Client。PXE Client使用TFTP Client,通过TFTP协议到TFTP Server上下载所需的文件。
这样,PXE协议运行的条件就具备了,下面我们就来看看PXE协议的工作过程。
2) 工作过程


在 上图中,PXE client是需要安装Linux的计算机,TFTP Server和DHCP Server运行在另外一台Linux Server上。Bootstrap文件、配置文件、Linux内核以及Linux根文件系统都放置在Linux Server上TFTP服务器的根目录下。
PXE client在工作过程中,需要三个二进制文件:bootstrap、Linux 内核和Linux根文件系统。Bootstrap文件是可执行程序,它向用户提供简单的控制界面,并根据用户的选择,下载合适的Linux内核以及Linux根文件系统。

==============================================
PXE是RPL的升级品,它是Preboot Execution Environment的缩写。它们的不同之处在于RPL是静态路由,而PXE是动态路由。其通信协议采用TCP/IP,与Internet连接高效而可靠,PXE无盘工作站的启动过程分析如下:

  ¨ 客户端个人电脑开机后, 在 TCP/IP Bootrom 获得控制权之前先做自我测试。

  ¨ Bootprom 送出 BOOTP/DHCP 要求以取得 IP。

  ¨ 如果服务器收到个人电脑所送出的要求, 就会送回 BOOTP/DHCP 回应,内容包括

  客户端的 IP 地址, 预设网关, 及开机影像文件。否则, 服务器会忽略这个要求。

  ¨ Bootprom 由 TFTP 通讯协议从服务器下载开机影像文件。

  ¨ 个人电脑通过这个开机影像文件开机, 这个开机文件可以只是单纯的开机程式也可

  以是操作系统。

  ¨ 开机影像文件将包含 kernel loader 及压缩过的 kernel, 此 kernel 将支持NTFS root

  系统。

  ¨ 远程客户端根据下载的文件启动机器。

[ 本帖最后由 jie_china 于 2010-8-1 18:04 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-18 00:47

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表