本贴提供的工具提取自本论坛:https://pecmd.net/thread-24.htm

 

本贴属于教程贴,需要使用者具备一定动手能力。

 

使用前提:

局域网环境:只需要通过交换机保证所有PC物理链路互通即可,必须关闭DHCP。(CCPE完整版可使用DHCP中继)

待修改的WInPE需支持网络功能,能在启动后自动加载网络组件。(必须)

待修改的WinPE必须保留certutil工具且能正常运行。(必须)

待修改的WinPE支持UEFI启动。(非必须)

推荐使用Windows7及以上内核的WinPE。

不满足启动方面的要求时,可以使用本论坛提供的ISO模板:https://pecmd.net/thread-25.htm

 

使用步骤:

这里以32位举例:

1、解开你的WinPE,将附件中的System32文件夹中的AutoGhostClone_x86.exe和MyPXE.INI拷贝到WInPE的system32目录(可以事先通过MyPXE.INI配置NetDrive和Ghost程序的位置)。将附件中的PXEServer文件夹丢到你的ISO镜像文件或启动盘根目录(目录名要跟下面命令里的路径对应起来)。

2、修改你的WinPE,在PECMD自动加载的INI文件中(一般是PECMD.INI,也可能是其他文件),在SHEL命令之后,添加以下命令:

FORX !\PXEServer\MyPXE_x86.exe,MyPXExecFile86,1,LINK %desktop%\网络启动服务端,%MyPXExecFile86%
IFEX X:\Users\Default\Desktop\网络启动服务端.lnk,!EXEC %Windir%\system32\AutoGhostClone_x86.exe

命令的目的很简单,全盘搜索PXEServer目录下的MyPXE_x86.exe文件,如果找到了就给它创建桌面快捷方式,如果没有该快捷方式,就认为是没找到,那么就执行自动网络克隆客户端代码。

因为正常从U盘启动WInPE时,是可以找到这个文件的,如果是从网络启动,则找不到这个文件。当然,你也可以使用其他方式作为判断依据,比如我是通过X盘卷标判断的。

(有网友会问,你这里的MyPXE_x86.exe是32位应用程序,如果我的PE是64位是不是应该换成MyPXE_x64.exe了?我来告诉你,你既可以换成MyPXE_x64.exe,也可以保持默认,因为MyPXE_x86.exe会自动检查当前环境,如果是64位环境会自动去执行MyPXE_x64.exe,所以完全不必担心)

 

小技巧:可以通过PXEServer目录下的MyPXE.INI配置该软件的标题、引导文件位置和软件配置参数。

 

网克方法:

集成了本贴提供的软件后,你的WInPE也可以使用网克功能了。

具体的网克使用方法可以参考我的博客:https://cboot.org/post/40.html

 

服务器端:

假设你是在局域网环境,当前启动的WinPE想作为服务端,请先释放当前DHCP获取的IP,然后使用下面的程序手动设置IP。

假设已经按照上面方法添加到了WinPE里,直接运行桌面的“网络启动服务端”就可以打开主程序:

按照操作序号,依次设置参数,最后点击“启动服务”按钮,可以自动进行配置并运行网启服务程序。

设置参数讲解:

一、选择网启服务程序

本程序自身不包含DHCP、TFTP、HTTP服务,这些服务都是通过第三方软件实现。

Tiny PXE Server:只有32位程序。支持DHCP、TFTP、HTTP服务,同时支持Legacy BIOS和UEFI方式网启,支持DHCP中继(代理DHCP)。(听说在客户端并发数很多时,HTTP服务会不稳定,体现在使用iPXE网启时,下载WinPE过程中会出现各种异常情况;所以各位看官可以自己试试看是不是这样)

TFTP Server:分别提供了32、64位程序。支持DHCP、TFTP服务,单独支持Legacy BIOS和UEFI方式网启(即每次只能选择一个方式),不支持代理DHCP。

haneWIN DHCP Server:只有32位程序。支持DHCP、TFTP服务,同时支持Legacy BIOS和UEFI方式网启,不支持代理DHCP。

EasyWebServer:一个小巧的HTTP服务程序,32位。配合上面的TFTP Server和haneWIN DHCP Server可以实现iPXE网启。

PXE和iPXE最大的区别是启动速度,因为PXE走TFTP协议,百兆网络建议用这个。iPXE走HTTP协议,千兆网络会非常快,但有人说不如PXE稳定。

二、选择网启客户端启动方式

这里有两个选项:默认和密码保护。

这个功能只适用于Legacy BIOS下的PXE网启,使用了Grub4Dos的菜单密码功能。

当然,实际就是切换了两个grldr文件,一个菜单不加密,一个菜单加密。所以,你可以利用这个功能,做点其他事。(配置文件可以改显示名称和grldr文件位置)

三、操作系统设置

顾名思义,是设置WinPE操作系统自身的。

1、设置网卡IP:没什么好说的,服务端必须要设置一个IP才能跟客户端通讯。如果你的机器是DHCP获取的网络,请先释放掉自动获取的IP再设置固定IP,然后网启服务程序选择Tiny PXE Server并使用代理DHCP功能。

2、关闭防火墙:就是关闭防火墙,不过一般WinPE是没有防火墙功能的吧。

3、更改计算机名:改计算机名,目的是让客户端都知道服务器的计算机名,然后就可以直接共享方式连接了。

4、设置Guset账户密码:设置这个是给网络共享用的。客户端连接服务器的共享目录,得有个用户名密码去访问对不对?如果你在正常操作系统运行,就不推荐设置它了。

5、添加用户、设置密码:这个也是给网络共享用的。只不过是添加用户,当然WinPE里都是随意搞,正常操作系统下使用的话,用完把这个用户删掉就行了。

6、设置默认共享并映射到客户端W盘:就是设置某目录为共享目录,这个目录一般是WinPE的根目录,也就是让客户端能访问到ISO整个目录。当然,这个是可以在配置文件配置的,就是配置你的ISO的特征,然后程序按你配置的文件去找,找到了就认为是你的ISO目录了。

7、添加额外共享:既然有默认共享了,当然也可以加一个额外共享。一般是共享操作系统光盘路径,可以让客户端直接用服务器上的操作系统镜像来安装操作系统。

注意:共享功能是需要“获取网启服务器资源”这个程序配合的哦。

四、设置PXE客户端连接服务器默认目标

客户端程序连接服务器时,使用IP还是计算机名寻找服务器,如果你选了服务器名,记得要改上面的计算机名哦

五、设置PXE客户端连接服务器默认方式

客户端可以通过3种方式连接服务器

1、网络共享:最常用的一种方式,只要求WinPE具备网络共享功能就行,但比如某些精简了网络共享功能的PE就不能使用这个功能了

2、iSCSI发起:服务器端需要开启一个iSCSI服务,将一个设备,比如光盘或分区,添加到一个iSCSI目标,然后客户端PE就直接用微软自带的iscsicpl命令就能连接这个目标了。一般我们的WinPE不会去集成体积庞大的iSCSI目标服务,所以我们都喜欢用StarWind这种第三方程序。

下面来一张动图,展示StarWind使用方法,注意在添加设备时,要勾选聚合选项才能让多台客户端连接到服务器:

3、NetDrive挂载:选择NetDrive方式需要在服务器端开启FTP服务来共享数据,然后通过第三方软件NetDrive去连接FTP,它会将FTP映射成一个虚拟磁盘,然后你就可以跟正常读取分区一样使用这个磁盘了。(目前64位PE还不支持此方式,因为我还没做出绿色版能正常使用的NetDrive64)。

 

客户端:

在服务器端开启DHCP、TFTP服务后,就可以将同一局域网环境的机器从网卡启动了。

网络克隆:

按以上方法处理WinPE后,从网卡启动的WinPE将自动执行“Ghost网络克隆客户端”:

然后在服务端可以配置GhostCast Server了,填写好会话名称后点击“发送”按钮,“Ghost网络克隆客户端”就能接收到参数啦,最后就可以开心的进行网克咯~

获取服务器外置:

附件里的GetPXEServerRes_x86.exe支持从服务器获取外置:

这个程序是配合服务端的MyPXE程序的,必须先通过MyPXE程序设置一种共享外置的方法(网络共享、iSCSI发起、NetDrive挂载FTP),然后将这个程序也加入到WinPE启动项,方法跟上面的添加AutoGhostClone一样。

这个程序的最终目的就是配合服务端的共享服务来获取外置(都是将服务端共享映射或挂载到W盘)。

然后你自己可以写点其他的代码,比如挂载W盘之后再重新运行一遍搜索外置的代码,就可以直接找到外置程序了。

 

更新记录:

2020-05-27:

更新图标。将客户端脚本全部做成EXE程序。

2021-07-30:

居然在附件中漏掉了NetDrive的脚本文件,现在补上。

客户端和服务端程序还是去年的版本,但功能足够使用了。

 

软件下载:

见附件。

最后于 2021-07-30 21:32:15 被caocaofff编辑 ,原因:
上传的附件:
收藏
分享
我的博客:cboot.org
最新回复 (39)
  • 士兵 shujin 2020-05-26 14:16:25

    谢谢分享啊  辛苦了啊

    一如我们期望的那样
  • 士兵 shujin 2020-05-27 09:33:03

    MyPXE.WCZ 文件是乱码,可能加密了,能否解密分享呢,谢谢楼主

    一如我们期望的那样
  • 超级版主 caocaofff 2020-05-27 09:52:29   楼主
    shujin MyPXE.WCZ 文件是乱码,可能加密了,能否解密分享呢,谢谢楼主

    这个文件是使用PECMD脚本运行的:

    PECMD  LOAD MyPXE.WCZ

    我的博客:cboot.org
  • 士兵 shujin 2020-05-27 09:57:31

    怎么样才能打开,看看里面的内容,用记事本打开,显示乱码

    能否分享一下,sparkguo@163.com

    一如我们期望的那样
  • 士官 935254524 2020-05-27 11:13:55

    SHEL explorer.exe

    //WXS_SHEL "%ProgramFiles%\WinXShell\WinXShell.exe" -regist -winpe

    EXEC !%ProgramFiles%\WinXShell\WinXShell.exe -regist -daemon

     

    FORX !\PXEServer\MyPXE_x86.exe,MyPXExecFile86,1,LINK %desktop%\网络启动服务端,%MyPXExecFile86%

    IFEX X:\Users\Default\Desktop\网络启动服务端.lnk,!LOAD %Windir%\system32\MyPXE.WCZ*AutoGhostClone     那个是SHEL命令之后 是我这样么 还没有进入桌面就已经启动了,另外我桌面没有生成快捷方式 是因为我没用事先关联WCZ?

  • 士官 935254524 2020-05-27 11:24:37

    不知有没有交流群 我对这个PECMD比较感兴趣

  • 超级版主 caocaofff 2020-05-27 13:42:56   楼主
    935254524 SHEL explorer.exe //WXS_SHEL "%ProgramFiles%\WinXShell\WinXShell.exe" -regist -winpe EXE ...

    还吗进桌面就启动?那你在PE里面手动执行这两个命令调试一下。

    没有生成快捷方式是因为没有找到文件。

    或者你可以按自己的思路重新写命令,达到你想要的效果

    我的博客:cboot.org
  • 超级版主 caocaofff 2020-05-27 13:43:56   楼主
    935254524 不知有没有交流群 我对这个PECMD比较感兴趣

    暂时还没有QQ群哦,社区人还比较少,建立QQ群估计也没几个人

    我的博客:cboot.org
  • 士官 935254524 2020-05-27 13:57:00

    [Config]

    ;32位的NetDrive程序目录位置,须包含脚本文件netdrive.wcs

    NetDrive32DirPath=X:\Program Files\NetDrive

    [NetClone]

    ;32位的Ghost程序文件所在位置

    Ghost32FilePath=X:\Program Files\GHOST\ghost32.exe

    ;64位的Ghost程序文件所在位置

    Ghost64FilePath=X:\Program Files\GHOST\ghost64.exe   

    第一段中的NetDrive这个是新建个空文件夹的意思?

    第二段我看明白了,新建一个GHOST文件夹内里放ghost32.exe ghost64.exe 2个文件

    已经顺利在桌面生成了网起端,问题是这个端是如何设置的 图片上的第一步怎么选择 分别是什么意思 我机器是UEFIX64 另外我输入本机的IP 网关什么的 点击启动 提示正在释放我的IP 192.168.100.X 倒计时5秒 一直重复,无法进入下一步 请赐教一二 谢谢了

  • 士官 935254524 2020-05-27 14:01:08

    须包含脚本文件netdrive.wcs  这个文件复制里并没有

  • 士官 935254524 2020-05-27 14:02:10
    caocaofff 还吗进桌面就启动?那你在PE里面手动执行这两个命令调试一下。 没有生成快捷方式是因为没有找到文件。 或者你可以按自己的思路重新写命令,达到你想要的效果

    须包含脚本文件netdrive.wcs 这个文件附件里并没有

  • 超级版主 caocaofff 2020-05-27 14:07:15   楼主
    935254524 须包含脚本文件netdrive.wcs 这个文件附件里并没有

    忘了,晚上我改一下再重新上传附件

    我的博客:cboot.org
  • 超级版主 caocaofff 2020-05-27 14:09:18   楼主
    935254524 [Config] ;32位的NetDrive程序目录位置,须包含脚本文件netdrive.wcs NetDrive32DirPath=X:\Program Files\NetDrive [Net ...

    NetDrive是设置一个位置,这个位置应该是我给的一个文件夹。

    你说的设置问题,我是故意这样循环检测并提示的,意思是,你的PE已经自动获取了IP了,不能再重新设置固定IP,要释放掉原有IP才行

    我的博客:cboot.org
  • 士官 935254524 2020-05-27 14:20:07
    caocaofff NetDrive是设置一个位置,这个位置应该是我给的一个文件夹。 你说的设置问题,我是故意这样循环检测并提示的,意思是,你的PE已经自动获取了IP了,不能再重新设置固定IP,要释放掉原有IP才行

    那等你把那个附件放到NetDrive文件夹里面传上来 我再试试!还是没有理解图片上那个设置,可以的话请在图上做角标 说明每个选项的含义,网起对个人而言看是鸡肋,也许哪天就派上用场

  • 超级版主 caocaofff 2020-05-27 14:27:34   楼主
    935254524 那等你把那个附件放到NetDrive文件夹里面传上来 我再试试!还是没有理解图片上那个设置,可以的话请在图上做角标 说明每个选项的含义,网起对个人而言看是鸡肋,也许哪天就派上用场

    好吧,晚上把设置描述的详细一点

    我的博客:cboot.org
  • 士官 935254524 2020-05-27 22:25:17
    caocaofff 好吧,晚上把设置描述的详细一点

    _SUB Win,W260H140,更换壁纸

    ITEM Button1,L15T15W105H35,美女壁纸01,TEAM WALL X:\Program Files\Zero\WallPaper\001.jpg | EXIT

    ITEM Button2,L135T15W105H35,美女壁纸02,WALL X:\Program Files\Zero\WallPaper\002.jpg

    ITEM Button3,L15T60W105H35,风景壁纸01,WALL X:\Program Files\Zero\WallPaper\003.jpg

    ITEM Button4,L135T60W105H35,风景壁纸02,WALL X:\Program Files\Zero\WallPaper\004.jpg

    _END

     

    CALL @Win   

     

    大佬帮我看下 我这个设置墙纸后怎么退出这个窗口啊

  • 士官 935254524 2020-05-27 22:26:19
    caocaofff 好吧,晚上把设置描述的详细一点

    _SUB Win,W260H140,更换壁纸

     

    ITEM Button1,L15T15W105H35,美女壁纸01, WALL X:\Program Files\Zero\WallPaper\001.jpg

     

    ITEM Button2,L135T15W105H35,美女壁纸02,WALL X:\Program Files\Zero\WallPaper\002.jpg

     

    ITEM Button3,L15T60W105H35,风景壁纸01,WALL X:\Program Files\Zero\WallPaper\003.jpg

     

    ITEM Button4,L135T60W105H35,风景壁纸02,WALL X:\Program Files\Zero\WallPaper\004.jpg

     

    _END

     

     

     

    CALL @Win   

     

    大佬帮我看下 我这个设置墙纸后怎么退出这个窗口啊

  • 士官 935254524 2020-05-27 22:29:10

    晚上传的没有使用说明 不知道怎么处理

  • 超级版主 caocaofff 2020-05-27 22:31:27   楼主
    935254524 _SUB Win,W260H140,更换壁纸 ITEM Button1,L15T15W105H35,美女壁纸01, WALL X:\Program Files\Zero\WallPaper\00 ...

    _SUB Win,W260H140,更换壁纸

    ITEM Button1,L15T15W105H35,美女壁纸01,TEAM WALL X:\Program Files\Zero\WallPaper\001.jpg|CALL ExitWin

    ITEM Button2,L135T15W105H35,美女壁纸02,TEAM WALL X:\Program Files\Zero\WallPaper\002.jpg|CALL ExitWin

    ITEM Button3,L15T60W105H35,风景壁纸01,TEAM WALL X:\Program Files\Zero\WallPaper\003.jpg|CALL ExitWin

    ITEM Button4,L135T60W105H35,风景壁纸02,TEAM WALL X:\Program Files\Zero\WallPaper\004.jpg|CALL ExitWin

    _END

     

     

    _SUB ExitWin

    KILL \%Win%

    _END

     

    CALL @Win  

    我的博客:cboot.org
  • 士官 935254524 2020-05-27 22:35:13

    谢 OK了  再次求教网启的添加法

  • 超级版主 caocaofff 2020-05-27 22:36:58   楼主
    935254524 谢 OK了 再次求教网启的添加法

    等会吧,洗完澡再写点

    我的博客:cboot.org
  • 士官 935254524 2020-05-28 00:26:39
    caocaofff 等会吧,洗完澡再写点

    大佬辛苦了,经过你的指点加上自己琢磨,已经完成了更换壁纸的操作,非常满意

    更新后附件中的文件您可以忘记写怎么使用了,比如放到什么路径之类的(因为跟之前的教程已经不一样了)

  • 士官 935254524 2020-05-28 15:38:56

    1、解开你的WinPE,将附件中的MyPXE.WCZ和MyPXE.INI拷贝到WInPE的system32目录,可以事先通过MyPXE.INI配置NetDrive和Ghost程序的位置。将附件中的PXEServer文件夹加到你的ISO镜像文件或启动盘根目录。

     

    2、修改你的WinPE,在PECMD自动加载的INI文件中(一般是PECMD.INI,也可能是其他文件),在SHEL命令之后,添加以下命令:

     

    FORX !\PXEServer\MyPXE_x86.exe,MyPXExecFile86,1,LINK %desktop%\网络启动服务端,%MyPXExecFile86%

    IFEX X:\Users\Default\Desktop\网络启动服务端.lnk,!EXEC %Windir%\system32\AutoGhostClone.exe   

     

    这些个内容已经跟附件对不上了

  • 士官 935254524 2020-05-28 21:56:32

    这里以32位举例:

     

    1、解开你的WinPE,将附件中的Client文件夹AutoGhostClone_x86.exe和MyPXE.INI拷贝到WInPE的system32目录,可以事先通过MyPXE.INI配置NetDrive和Ghost程序的位置。将附件中的Server文件夹丢到你的ISO镜像文件或启动盘根目录,改名叫PXEServer(当然什么名称都无所谓,只要跟下面命令里的路径对应起来就行)。

    Client文件夹内好多文件,只复制这2个? 我试着弄弄看 把NetDrive这个文件夹复制到X:\Program Files 再新建一个名为GHOST的文件夹内放ghost32.exe ghost64.exe 2个文件 在添加PECMD中的语句 然后打包试试

返回