admin管理员组

文章数量:1531663

2024年3月16日发(作者:)

WinPE DIY知识简介

一、WinPE系统内核

1、PECMD 常用指令简介(请参考 ,详细命令说明请查看 )

FBWF:设置FBWF缓存,此处用来设置 X 盘大小

TEAM:执行一组指令

TEXT:在登录画面中或桌面窗口显示文字,可以设置文字的颜色、位置、字体大小

WAIT:暂停或等待指定时间后再继续执行命令,单位毫秒

加前导“-” 表示在指定的等待时间内遇到任何按键即中止等待,否则直至等待

时间结束

FIND:依据条件表达式是否成立来确定执行后面两条指令的一条

ENVI:设置或清除环境变量

FILE:根据操作符操作文件或目录,没有操作符则表示删除操作

LOGS:启用日志以便记录每条命令的执行结果

配置文件结束之前,必须调用一次不带参数的"LOGS"命令,以关闭日志文件(确

保日志写入文件)

PATH:操作目录,用于设置的当前工作目录或建立目录或删除目录

INIT:执行最基本初始化

EXEC:执行 EXE 、BAT、CMD 程序

CALL:调用DLL函数 或 调用子过程

REGI:读取或设置、删除注册表数据

HOTK:设置系统热键,并指定该热键执行的命令

LINK:创建快捷方式,如桌面和程序菜单

RAMD:设置虚拟磁盘

LOAD:按顺序逐条运行配置文件中的命令

SHEL:加载指定的SHELL,并将SHELL锁定

LOGO:设置或关闭登录画面

WALL:设置壁纸

MOUN:将WIM文件中的某个映像挂载到指定的目录中或卸下已经挂载上的映像文

NUMK:控制小数字键盘的开关状态

IFEX:依据条件表达式是否成立来确定执行后面两条指令的一条

2、

_为 cab 压缩格式,解压即可得 ,其中包含了 sata、raid 驱

动的描述(驱动程序在 SYSTEM32DRIVERS),修改比较复杂。其中有一点常见的是

WinPE 启动时的提示,即 [SetupData] 中的 loaderprompt

天琴星座 WinPE 中为:loaderprompt="Starting Lyra SuperMicro Windows

PE ..."

3、注册表修改

注册表文件有 3 个,SYSTEM32 下的 (由 cab 格式的

_ 解压得到),SYSTEM32CONFIG 下的 DEFAULT 和 SOFTWARE

a)打开regedit,选中 HKEY_LOCAL_MACHINE(修改 或

SOFTWARE)或 HKEY_USERS(修改 DEFAULT,这个文件也可以加载到

HKEY_LOCAL_MACHINE 修改)

b)选择“文件->加载配置单元->选择你要修改的注册表文件->打开”,输入项名称时

注意不能和当前项下面子项重名

c)修改加载项中的相关内容,完毕后选中加载的项,选择“文件->卸载配置单元->

是”

4、的修改

用 Resource Hacker 可以修改其中的注册表项(REGINST)、位图、图标、菜单等内

容,比较复杂,下面列举一个简单的注册表修改

修改注册用户(RegisteredOwner)和公司(RegisteredOrganization),这两项在

“系统属性”“常规”页面的“注册到”中显示

用查找功能定位到 RegisteredOwner,将最后一个字符串修改为你需要的名称,选

择编译脚本,选择“文件->保存”

把修改的 替换到核心的 ISO 中,重新打包为 cab 格式的

_

这两项还有一个简单的修改方法就是修改 (参考 PECMD 的 USER 命

令),如在 中增加:

1. USER 老九*无忧启动论坛

复制代码

5、加入 ImDisk 支持并将外置程序 Ramdisk 的 Y盘替换为 ImDisk

ImDisk 可以加载 img、iso等格式的文件,使用控制面板中的功能可以修改文件大

小,也可以生成不关联文件的虚拟内存盘

a)修改注册表

下载新版 PECMD,其中的 ImDisk_for_ 需要导入到

注意:ImDisk_for_ 中的路径为 HKEY_LOCAL_MACHINE_PE_,因此需要

将 加载到 HKEY_LOCAL_MACHINE,项目名称为 _PE_

双击 ImDisk_for_ 导入到注册表,查看

HKEY_LOCAL_MACHINE_PE_ControlSet001Services,如果下面有 ImDisk 子项则

导入成功

顺便删除注册表中两条 Ramdisk Y盘的信息,分别为:

1. HKEY_LOCAL_MACHINE_PE_ControlSet001ServicesRamdriv

2. HKEY_LOCAL_MACHINE_PE_ControlSet001EnumRootUNKNOWN

复制代码

在左侧选中项目,右键->删除。卸载 _PE_,将修改后的 压缩为 cab

格式的 _,替换到内核中

b)加入相关文件

将 PECMD 包中的 加入到内核 SYSTEM32DRIVERS 下

将 、、 加入到 SYSTEM32 下,附件中有,

也可以从其他已加入 ImDisk 的 PE 中提取

c)修改 ,加入 ImDisk 虚拟盘

1. EXEC ! RAMD ImDisk,L1,FAT,Y:,ImDisk

复制代码

其中 L1 表示最小 1M,FAT 表示格式化为 FAT 格式(虚拟盘太小,不能格式化为

NTFS 格式),Y 表示盘符,详细信息请参考 PECMD

注意:ImDisk 格式化需要 支持,天琴星座的内核中没有 ,

而是放在了外置程序的 PE_OUTERPART 下面的 COMMON.7Z 中。所以若想将 Y 盘修

改为 ImDisk,请将 加入到内核

d)在 增加如下内容,以加入 ImDisk 右键支持

1. `注册IMDISK右键

2. CALL RegImdRk

3. `注册IMDISK右键

4. _SUB RegImdRk

5. REGI HKCRDriveshellImDiskSaveImage=保存ImDisk虚拟磁盘

6. REGI HKCRDriveshellImDiskSaveImagecommand=

,RunDLL_SaveImageFile %L

7. REGI HKCRDriveshellImDiskUnmount=卸载ImDisk虚拟磁盘

8. REGI HKCRDriveshellImDiskUnmountcommand=

,RunDLL_RemoveDevice %L

9. REGI HKLMSOFTWAREClassesUltraisoshellImDiskMountFile=加载为

ImDisk虚拟磁盘

10. REGI

HKLMSOFTWAREClassesUltraisoshellImDiskMountFilecommand=rundll32.e

xe ,RunDLL_MountFile %L

11. REGI HKLMSOFTWAREClassesWinimageshellImDiskMountFile=加

载为ImDisk虚拟磁盘

12. REGI

HKLMSOFTWAREClassesWinimageshellImDiskMountFilecommand=rundll3

,RunDLL_MountFile %L

13. _END

复制代码

把修改后的 替换到内核中

e)保存修改后的内核 ,压缩为 _,修改完毕。

6、修改默认的文件夹视图方式

a)将 SYSTEM32CONFIG 下的 DEFAULT,加载到 HKEY_USERS,比如项目名称

为 PE

b)将

HKEY_USERSPESoftwareMicrosoftWindowsCurrentVersionExplorerStreams

导出

c)将导出文件中关于文件夹视图部分的内容为:

1. "Settings"=hex:08,00,00,00,04,00,00,00,01,00,00,00,00,77,7e,13,73,35,cf,11,a

e,

2. 69,08,00,2b,2e,12,62,04,00,00,00,01,00,00,00,43,00,00,00

复制代码

d)替换为你想要的格式,不同格式对应内容如下:

1. 平铺查看

2. "Settings"=hex:08,00,00,00,06,00,00,00,01,00,00,00,e5,25,f1,65,e1,7b,10,48,

ba,

3. 9d,d2,71,c8,43,2c,e3,04,00,00,00,1a,00,00,00,43,00,00,00

4. 缩略图查看

5. "Settings"=hex:08,00,00,00,05,00,00,00,01,00,00,00,90,b2,eb,8b,d0,52,d0,11,

b7,

6. f4,00,c0,4f,d7,06,ec,04,00,00,00,07,00,00,00,43,00,00,00

7. 列表查看

8. "Settings"=hex:09,00,00,00,03,00,00,00,00,00,00,00,e0,a5,1f,0e,73,35,cf,11,ae

,

9. 69,08,00,2b,2e,12,62,04,00,00,00,01,00,00,00,43,00,00,00

10. 详细信息查看

11. "Settings"=hex:08,00,00,00,04,00,00,00,01,00,00,00,00,77,7e,13,73,35,cf,1

1,ae,

12. 69,08,00,2b,2e,12,62,04,00,00,00,01,00,00,00,43,00,00,00

13. 图标查看

14. "Settings"=hex:08,00,00,00,01,00,00,00,01,00,00,00,e0,d0,57,00,73,35,cf,

11,ae,

15. 69,08,00,2b,2e,12,62,04,00,00,00,20,00,00,00,43,00,00,00

复制代码

e)保存文件->导入到注册表->卸载单元->替换到内核

还有一个简单方法就是在 中通过设置注册表数据修改

如设置为图标查看,在 中增加:

1. REGI

HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerStreamsSettings=

@08,00,00,00,01,00,00,00,01,00,00,00,e0,d0,57,00,73,35,cf,11,ae,69,08,00,2b,2e,12,

62,04,00,00,00,20,00,00,00,43,00,00,00

复制代码

其中 @ 后面的内容即为上面列举的 "Settings"=hex: 后面的内容,把续行符 去

掉即可。

7、系统盘 X、外置程序盘 Y

a)PE 启动后系统所用盘符 X,查找相关资料后结论基本是不可修改

b)外置程序所在虚拟盘由 中两个子项定义

1. HKEY_LOCAL_MACHINE_PE_ControlSet001ServicesRamdriv

2. HKEY_LOCAL_MACHINE_PE_ControlSet001EnumRootUNKNOWN

复制代码

其中

HKEY_LOCAL_MACHINEpeControlSet001ServicesRamdrivParameters 下面的

"DriveLetter"="Y:" 为虚拟盘符,修改后还需要修改 中相关内容

"DiskSize"=dword:00100000 为虚拟盘大小,单位字节,十六进制数 100000

即为十进制 1048576 = 1024*1024 = 1M

8、PECMD 托盘菜单(没有测试)

用 Resource Hacker 打开 ,选择菜单

托盘菜单默认没有宽屏的分辨率,自己增加或修改后编译脚本->保存

图中字符串 10025 为 PE 的超级登录口令的 MD5(需要者自己搜索“字符串

MD5”,网上有生成字符串 MD5 值的网页)

即使 INI 文件中的 SHEL 命令设置了口令,用这个超级口令依然可以登录 PE

字符串 10026 定义了一个热键,默认对应设置 800*600 的分辨率

9、主配置文件()的指定

加载注册表文件 ,下图的 CmdLine 中指定了主配置文件的路径和

文件名

10、登录画面、壁纸、系统信息及 OEM 信息(没有测试)

a)(也有可能在)中 LOGO 指令后面的图片为“登录画面”

b)(也有可能在)中 WALL 指令后面的图片为“壁纸”

c)注册号,加载注册表文件 SYSTEM32CONFIGSOFTWARE,如下图的 ProductId

这儿应该也可以设置注册用户(RegisteredOwner)和公司

(RegisteredOrganization)没有测试和 中信息的加载顺序如何

d)系统属性常规页的左上角图片和右上角的一些信息可以用 Resource Hacker 打

可以看一下位图1,字符串12、13,更多信息请搜索“ 修改”

e)左下角为 OEM 图片的显示位置,做一张170X120左右的BMP文件,文件名指

定为 ,放到 SYSTEM32 目录即可

f)右下角可以显示 OEM 文字信息按钮,用固定格式写一个文本文件,文件名指定

为 ,放到 SYSTEM32 目录,格式如下:

1. [General]

2. Manufacturer=天琴星座

3. Model=Windows XP SP3 PE

4. [Support Information]

5. Line1=版本:090226

6. Line2=PE DIY

复制代码

“=”号后面的内容随意修改,Line可以继续增加,更多信息请搜索“XP OEM 信息”

11、加入 WIM 文件关联

无忧论坛中两位高手的工具(lxl1638 的 WimTool 和 nn2nn 的 WiMNT)都非常

强大且简单易用,下面以 WiMNT 为例说明加入的方法

a)将 加入到内核的 SYSTEM32 目录下

b)在 中增加如下内容:

1. `注册WIM文件关联

2. EXEC !%WS% /REG /M /MP Y:WIM `注册WIM文件与WIMNT

关联

复制代码

c)注意 PE 中外置程序加载在 Y 的根下,代码为 中的

1. MOUN %CurDrv%,Y:,1

2. ENVI OPDir=Y:外置程序

复制代码

由于 WIM 文件的默认挂载目录设置为 Y:WIM,所以应将外置也挂载到 Y 下的一

个目录,如修改为:

1. PATH Y:PROGRAM `在 Y 盘根下建立目录 PROGRAM

2. MOUN %CurDir%,Y:PROGRAM,1

3. ENVI OPDir=Y:PROGRAM外置程序

复制代码

12、增加搜索各分区根下 PETOOLS 目录文件功能,并在桌面建立快捷方式

a)在 SYSTEM32 下增加文本文件 ,内容为:

1. `生成目标文件的快捷方式

2. _SUB MAKELINK

3. LSTR Drive=%TOOLS%,1

4. ENVI V0=%StartMenu%%Drive%盘PETools

5. LINK %V0%target,%TOOLS%

6. EXEC =!CMD /C "COPY "%WINDIR%1"

"%V0%""

7. TEAM SITE %V0%*.*,+A+H+S|SITE %V0%,+R+S|ENVI V0=

8. TEAM FORX %TOOLS%*.INI,TOOLSINI,0,LOAD %TOOLSINI%|ENVI

TOOLSINI=

9. `TEAM TEXT %TOOLS%已经被装载到了开始菜单。#0xEE,$20|WAIT 1000|TEXT

10. MESS %TOOLS%已经被装载到了开始菜单。@挂载PETOOLS工具 #OK

*2000

11. _END

12. `搜索PETOOLS目录下文件

13. FORX @PETOOLS,TOOLS,0,CALL MAKELINK

复制代码

b)在 SYSTEM32 下增加文本文件 1,内容为:

1. [.ShellClassInfo]

2. CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}

3. Flags=2

复制代码

c)在 增加建立桌面快捷方式的指令

1. LINK %Desktop%搜索装载PETOOLS到开始菜

单,,LOAD %WS%,#45

复制代码

纯内核启动时可用

二、WinPE系统外置

1、显卡、声卡、网卡驱动

大概可以如下修改:

使用提取工具,提取要加入的驱动,加入到外置程序相应的 cab 包中,如显卡

DRIVERS_,对应的加载文件为 START_(这个可能不需要修改)

2、外置程序

如增加 WINPM9

a)使用 WIM 工具可写加载 (若为 img 格式的外置程序,先用 ImDisk 可

写加载 img 文件,Windows 下可用的 ImDisk 下载地址:

/)

b)在“外置程序”目录建立新目录“WINPM”,将 WINPM9 的所有文件放到 WINPM

目录

c)卸载 并确认更新

d)在 中增加

1. LINK %Programs%磁盘光盘工具Paragon Partition Manager

9.0,%OPDir%,,%OPDir%WINPMProgramlaunch

复制代码

三、DOS 工具

一般为 img 格式文件,可以用 WinImage 修改或用 ImDisk 加载修改

DOS 工具的启动顺序为:

-> (批处理)

中可能会再加载其他的批处理文件,用文本编辑工具即可修改这些

文件

WinPE启动过程简介及修改方法

一、纯WinPE,如老毛桃、天琴星座

1、加载引导区代码,相当于硬盘的MBR

修改方法:

a)用UltraISO打开ISO文件,选择“启动”->“保存引导文件”,即可得到引导文

件(大小为2k),比如文件名为(使用easyboot启动PE时即调用此文件)

b)此文件中可以修改的地方有两处,用UltraEdit打开,找到下图中的位置,其中

指定下一步要调用的文件名,WXPE为相对于根目录的

路径

c)修改和WXPE,注意和ISO中的文件名和路径对应且应该保持字

节数不变,保存

d)用UltraISO打开ISO文件,选择“启动”->“加载引导文件”,选择刚修改保存

的,修改其中的路径和文件名与中的一致,保存ISO文件,结束

2、加载在引导区代码中指定的,如上图:

3、加载中指定的,也就是本合盘中的

“BOOT/”

4、加载中指定的(常用名),也就是本合盘中的“X”,

这个文件对于所有PE基本都一样,差别就在文件中指定_路径的地方

5、加载中指定的PE系统内核“_(cab压缩文件,可以用

WinRAR解压)”

6、加载_中的脚本(由_中_(cab压

缩文件)解压得到, 是一个安装信息文件(sif),主要用于 Windows 的

文本安装模式,Windows PE 用到了文本安装模式的末尾和 GUI 安装模式的开始部分,

可以利用它添加第三方驱动

7、加载,这个文件就是“PECMD - WinPE Commander,功能强大的

WinPE 命令解释工具”的配置文件,在里面可以运行各种PECMD的命令,注释使用“`”

或“//”

如:启动过程记录(LOGS),使用这个命令可以生成启动过程日志,通过这个日志可

以更深入的理解PECMD参数文件的加载过程,自己制作PE时可用清楚的看到启动过程

是否有问题

修改注册表(REGI)

增加桌面快捷方式和开始菜单快捷方式(LINK)

8、中间会加载,该文件一个很重要的功能是配置外置程序,

另外各个PE加载显卡驱动的命令一般也在这个文件中,如果有的PE在启动过程中直接加

载了显卡驱动而导致PE启动后黑屏(部分ATI显卡),可以修改这部分代码为选项加载或

不加载

9、启动结束

二、easyboot方式(只能用于光盘启动或U盘量产),如深山红叶

1、加载easyboot的引导文件(用easyboot软件自带,用easyboot制作iso文件

时自动写入到iso引导区)

2、加载easyboot引导文件中指定的菜单文件,如

3、加载菜单中选择的项,如选择PE,则下面的启动顺序同“一”中的步骤,如选择

其他的image文件(可以用winimage编辑),则下面加载image文件中

,

三、grub4dos方式(多用于U盘启动)

1、光盘启动(将菜单集成到grldr,为grldr增加bin或bif等UltraISO可以加载的

引导文件后缀,用UltraISO加载此引导文件即为grub4dos光盘启动)

a)加载引导文件(grldr),显示菜单

b)加载选择菜单中选择的项,下面同easyboot方式加载菜单中选择的项

2、U盘或移动硬盘启动(参考hwd6的PE中U盘、移动硬盘启动的制作)

a)使用grub4dos的MBR启动

a1)加载grub4dos的MBR

a2)加载MBR中指定的grldr

a3)加载菜单文件(首先加载grldr中集成的菜单,如没有则加载外部菜单文件)

a4)加载选择菜单中选择的项,如选择PE,则下面的启动顺序同“一”中的步骤,如

选择其他的image文件(可以用winimage编辑),则下面加载image文件中

,

b)使用NT的MBR启动

b1)加载NT的MBR

b2)加载MBR中指定的NTLDR

b3)加载NTLDR中指定的,hwd6PE中为BOOTINI

b4)加载中指定的grldr

b5)下面同“使用grub4dos的MBR启动”的a3、a4

本文标签: 文件加载修改启动