怎样加载脚本在winpe下

想把自己的脚本加入到PE系统中可以通过修改Startnet.cmd、Unattend.xml和Winpeshl.ini文件的一个即可。我们可以创建自定义的Winpeshl.ini文件,以便可以运行自己的应用程序。 一键u盘装系统 来讲讲吧
在往PE添加任何自定义脚本之前,必须先用ImageX工具加载基本WinPE镜像 (WinPE.wim)。   

一、使用Startnet.cmd添加自定义脚本,使用Startnet.cmd可以在WinPE中添加自定义命令行脚本。默认情况下,WinPE包括Startnet.cmd脚本,此脚本位于WinPE映像的 %SYSTEMROOT%\System32 中。当前,Startnet.cmd启动Wpeinit.exe。Wpeinit.exe 用于安装即插即用 (PnP) 设备、处理 Unattend.xml 设置以及加载网络资源。编辑Startnet.cmd 以包括自定义命令。   注意:对于PnP和网络支持,请确保在自定义Startnet.cmd脚本中包含了对wpeinit的调用。   

二、运行imagex /info d:\boot.wim,查看WinPE映像的信息。我们要注意这一行:

Image Count: 2   说明此WinPE映像文件中其实包含了两个映像。每个映像的详细信息在后面有详细的显示。这里要特别说明的是我们需要编辑的是第二个名称为WDS的映像,因为WDS使用此映像引导计算机。   

使用imagex命令加参数mountrw先将 *.wim 加载到pemount目录中: imagex /mountrw c:\winpe2\pe2.wim

2 c:\pemount   使用peimg命令将第三方驱动添加到WinPE 2.0中,如需添加多个设备驱动请重复该步骤。 peimg /inf=c:\winpe2\netdrv\xxx.inf c:\pemount\windows   

使用imagex命令加参数unmount及commit将修改写入到 *.wim imagex /unmount c:\pemount /commit   

三、使用Winpeshl.ini添加自己的脚本,可以使用名为Winpeshl.ini的文件启动自定义应用程序。Winpeshl.exe将在启动期间处理Winpeshl.ini中的语句。使用文本编辑器(如记事本)编写具有以下结构的Winpeshl.ini文本文件。

例如: [LaunchApp] AppPath = %SYSTEMDRIVE%\myshell.exe [LaunchApps] %SYSTEMDRIVE%\mydir\application1.exe, -option1 -option2 application2.exe, -option1 -option2   注:将AppPath项写入应用程序的路径。

此路径可以是绝对路径,也可以使用环境变量,例如%SYSTEMROOT%\System32\Myshell.exe。AppPath 项不支持命令行选项。将此文件保存至WinPE映像的%SYSTEMROOT%\System32。

=======================================================补充======================================================

Winpeshl.ini的格式


[LaunchApp]


AppPath = %SYSTEMDRIVE%\myshell.exe


[LaunchApps]


%SYSTEMDRIVE%\mydir\application1.exe, -option1 -option2


application2.exe, -option1 -option2


 


可以有上面两节中的一节或者两节。


第一节不一定是shell,但是不管是什么,不能带参数


第二节可以是任何命令或者其他的应用程序,但是要注意的是如果是命令的话,参数必须用引号包起来,譬如


bcdedit.exe," -set path \windows\system32\winload.exe"


imagex.exe,"-capture c:\1.wim 1 c:"
<think>好的,用户的问题是在Ubuntu系统上配置PXE服务器以实现WinPE网络引导。我需要先理清楚PXE配置的基本步骤,然后结合WinPE的特殊需求来调整设置。 首先,PXE服务器需要几个关键组件:DHCP服务、TFTP服务和HTTP/NFS等文件共享服务。DHCP负责分配IP地址并告知客户端TFTP服务器的位置,TFTP则提供启动所需的引导文件,而HTTP或NFS用于存放较大的镜像文件,比如WinPE的ISO。 根据用户提到的引用[3],Ubuntu上搭建PXE需要安装和配置这些服务。用户可能已经知道一些步骤,但需要具体的指导。比如,安装dnsmasq来同时处理DHCP和TFTP,或者分开使用isc-dhcp-server和tftpd-hpa。考虑到用户希望加载WinPE,可能需要特定的引导文件,比如pxelinux.0或者IPXE的脚本。 接下来,WinPE的引导文件可能需要特定的配置。引用[2]提到需要将镜像放在HTTP目录下,并修改grub.cfg或pxelinux.cfg/default文件。同时,需要将WinPE的启动映像(如boot.wim)提取出来,并配置正确的路径。可能还需要将WinPE的ISO挂载或解压到HTTP目录中,以便客户端访问。 此外,用户可能需要配置防火墙,允许DHCP和TFTP的端口,确保客户端能够正常通信。同时,检查目录权限是否正确,避免因为权限问题导致文件无法访问。 可能的陷阱包括DHCP配置错误,比如错误的next-server或filename路径,TFTP目录结构不正确,或者WinPE镜像的路径未正确指定。需要逐步验证每个服务的运行状态,使用日志文件排查问题。 最后,测试整个流程,从客户端启动看是否能够正确加载WinPE。如果失败,可能需要检查DHCP的日志、TFTP的传输情况,以及HTTP服务的可访问性。</think>### 在Ubuntu上配置PXE服务器加载WinPE镜像的步骤 #### 1. **安装必要服务** 需安装 `dnsmasq`(集成DHCP+TFTP)或分开安装 `isc-dhcp-server` 和 `tftpd-hpa`。推荐使用 `dnsmasq` 简化配置: ```bash sudo apt update sudo apt install dnsmasq nginx (或 apache2) -y ``` #### 2. **配置DHCP与TFTP** 编辑 `/etc/dnsmasq.conf`,添加以下内容: ```conf interface=eth0 dhcp-range=192.168.1.100,192.168.1.200,12h dhcp-boot=pxelinux.0 enable-tftp tftp-root=/var/lib/tftpboot ``` - `dhcp-range` 需匹配本地网络段 - `tftp-root` 是TFTP根目录,存放引导文件[^3] #### 3. **准备WinPE引导文件** 1. 从WinPE镜像提取 `boot.wim` 和 `boot.sdi`,复制到HTTP目录: ```bash sudo mkdir -p /var/www/html/winpe sudo cp /path/to/boot.wim /var/www/html/winpe/ sudo cp /path/to/boot.sdi /var/www/html/winpe/ ``` 2. 在TFTP目录创建PXE引导配置: ```bash sudo mkdir -p /var/lib/tftpboot/pxelinux.cfg sudo nano /var/lib/tftpboot/pxelinux.cfg/default ``` 输入以下配置: ```conf DEFAULT winpe LABEL winpe KERNEL memdisk INITRD http://192.168.1.10/winpe/boot.wim APPEND raw iso ``` - `192.168.1.10` 需替换为Ubuntu服务器的IP #### 4. **启动服务并验证** ```bash sudo systemctl restart dnsmasq sudo systemctl restart nginx ``` 客户端开机进入PXE后,应能通过HTTP加载WinPE镜像[^2]。 #### 5. **防火墙与权限** 确保防火墙允许相关端口: ```bash sudo ufw allow 69/udp # TFTP sudo ufw allow 80/tcp # HTTP sudo ufw allow 67/udp # DHCP ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值