公告

【2026.10.22 更新】PEBoot _WinPE 启动器-2.1.0.7,替代原来 pecmd 的那套启动流程

温馨提示:正在使用的老版本,请务必更新到当前最新版本!

================================================================
WinPE 启动器(PEBoot) 使用说明
版本 2.1.0.7
================================================================

一、这是什么
—————————————————————-
PEBoot WinPE 的启动器,负责替代原来 pecmd 的那套启动流程:
* 显示启动 LOGO 与提示文字,等待系统初始化完成
* 启动桌面(explorer)、输入法托盘、网络/无线组件
* 按顺序执行你在 disposition 目录里放的自定义脚本
* 常驻后台,提供 F1~F11 功能键、开始菜单关机/重启的接管

三种启动模式:
* 单 SYSTEM :直接以 SYSTEM 身份进桌面,无登录界面
* 单 Administrator :自动登录 Administrator 进桌面
* 双用户 :SYSTEM 与 Administrator 可互相切换(按 F9)

二、功能键
—————————————————————-
F1 打开 PECMD(高级用户手动操作的命令解释器/工具)
F6 加载外置(见下面”F6 加载外置的目标”)
F7 理顺盘符(调用 orderdrv 整理盘符顺序)
F8 刷新系统(重启本会话的桌面外壳 explorer,窗口会全关)
F9 切换用户(仅”双用户”模式;单 S / 单 A 模式没有这个键)
F10 关机
F11 重启

说明:
* 这些都是”全局热键”,前台开什么窗口都能按。
* 自动刷新桌面后,开始菜单的关机/重启依然可用(启动器会自动补权限)。
* 如果你的 PE 里 F8 被别的程序抢走,可用开始菜单里的”F8刷新系统”。
* 想给自己的程序分配热键?不能再用 pecmd 的 HOTK 写法,原因见
“六、注意事项”第 1 条。

三、配置放在哪、各管什么
—————————————————————-
所有可自定义的内容都在这个目录(以下用 %D% 表示):

%D% = X:\Windows\System32\disposition

%D%\*.ini 系统初始化脚本(装输入法/服务/驱动等)
整机只执行一次;必须在末尾创建 after_done.flg
%D%\PinTo.ini 任务栏 / 开始菜单的固定项
%D%\External.ini F6 “加载外置”的目标(可选,见第四节场景 5)
%D%\BootText.ini 启动 LOGO 左上角提示文字(内容/字号/颜色/位置)
%D%\Before\ 进桌面前要跑的脚本(异步;单 S 模式不扫描)
%D%\Post\Fast\ 进桌面立刻要可见的脚本(只放快捷方式这类秒级脚本)
%D%\Post\ 进桌面后要跑的脚本(装软件/写注册表等)
%D%\Post\wallpaper.jpg 壁纸(可选;启动 LOGO 与桌面用同一张)

四、常见自定义(照着改就行)
—————————————————————-
场景 1:改启动提示文字、字号、颜色、位置
编辑 %D%\BootText.ini:

[Style]
size=30 ; 字号(像素高)。720p 建议 20~24,1080p 用 30,4K 用 40+
scale=0 ; >0 时忽略 size,改按”屏幕高度的百分比”自动缩放
; 例如 scale=3 表示字高=屏高 3%,一套配置适配所有分辨率
font=Tahoma ; 字体名,留空用 Tahoma
color=FFFFFF ; 文字颜色(RRGGBB)
x=59
y=39 ; 距屏幕左上角的像素距离

[SingleS] ; 单 SYSTEM 模式进桌面时的提示
text=载入桌面…
[SingleA] ; 单 Administrator 模式(两处默认共用)
text=系统配置 请稍候…
[DoubleS] ; 双用户模式:SYSTEM 桌面
text=正在加载SYSTEM桌面…
[DoubleA] ; 双用户模式:Administrator 桌面
text=正在准备管理员桌面环境…

要点:
* text= 后面留空 = 不显示文字
* 想把单 A 的两个阶段分开显示,再加 [SingleACmd](切换控制台之前)
和 [SingleAUser](登录完成之后)两节,它们会覆盖 [SingleA]
* 文件编码随便:UTF-8(带/不带 BOM)、UTF-16LE、ANSI(GBK) 都能读
* 改完存盘,下次启动生效;写错了也不影响启动(自动用内置默认)

场景 2:给桌面加一个快捷方式
在 %D%\Post\Fast\ 里建一个 xxx.ini(文件名随便,纯英文),写:

LINK %Desktop%\我的工具,%ProgramFiles%\TOOLS\mytool.exe

为什么要放 Post\Fast:这个目录在桌面一出现时就开始执行,所以图标
进桌面就能看到。放在 Post\ 里也行,但会被后面的安装类脚本拖慢。

场景 3:把程序固定到任务栏 / 开始菜单
编辑 %D%\PinTo.ini:

PinTo -taskbar cmd.exe “命令行工具”
PinTo -startmenu %ProgramFiles%\TOOLS\mytool.exe “我的工具”

它在桌面就绪后、Post\Fast 之前执行,所以固定项的图标很快出现。

场景 4:进桌面后装软件 / 写注册表
把 .bat / .cmd / .exe / .reg / .ini 丢进 %D%\Post\ 即可,例如:

%D%\Post\install.bat 安装外置软件
%D%\Post\tweak.reg 导入注册表
%D%\Post\settings.ini pecmd 语句设置(墙纸、文件夹选项等)

执行顺序固定为: bat -> cmd -> exe -> reg -> ini
(同一类里按文件系统枚举顺序,文件名的数字前缀不起作用)

场景 5:让 F6 加载你自己的软件列表
F6 会按下面的顺序找”第一个存在的文件”来加载:

1) %D%\External.ini
2) %ProgramFiles%\soft.ini
3) %SystemRoot%\System32\External.ini (旧位置,默认就是它)

所以最简单的做法:把你的软件列表放到 %ProgramFiles%\soft.ini,
或者在 %D%\External.ini 里写一行:

LOAD %ProgramFiles%\soft.ini

默认的 External.ini 内容是自动搜索各分区的外置软件列表:
FORX !\PETOOLS\PESOFT.INI,MyIni,1,LOAD %MyIni%

场景 6:换壁纸
把图片命名为 wallpaper.jpg 放到 %D%\Post\ 覆盖原文件即可
(启动 LOGO 和桌面用的是同一张图)

五、脚本编写规则
—————————————————————-
1. 只认这 5 种扩展名: bat / cmd / exe / reg / ini
(其他扩展名如 .vbs / .ps1 / .txt / .lnk 不会被自动执行)

2. 每种扩展名怎么执行:
.bat / .cmd -> cmd.exe /c “脚本”
.exe -> 直接运行,并等它退出
.reg -> reg.exe import 导入
.ini -> pecmd.exe LOAD 加载(所以 ini 里是 pecmd 语法)

3. 每个脚本的”当前目录”就是它自己所在的目录
所以脚本里可以直接用相对路径引用同目录的文件;
ini 里要用”脚本所在目录”本身,请写 %CurDir%

4. 每个脚本最久等 300 秒,超时只是记一行日志、继续下一个脚本
(不会杀掉它) —— 所以别把”常驻程序”直接当脚本放进去,要写
在 .bat 里用 start “” 程序名 启动,让它立即返回。

5. 日志里出现 rc=1 或 rc=2 不代表失败
pecmd 对”删除本来不存在的文件/键”这类语句也会返回非 0。
判断标准是功能有没有达成,而不是这个数字。

六、注意事项(踩过的坑)
—————————————————————-
1. 不要在 ini 里写 HOTK 热键
F1/F6/F7/F8/F9/F10/F11 已经由启动器独占注册,pecmd 再注册同一
热键必然失败 —— 你改了 HOTK 行也不会生效。需要改 F6 的目标,
请用第四节场景 5 的办法。

2. *.ini 的末尾一定要创建 after_done.flg
例如最后一行写:
EXEC -hide cmd.exe /c echo.>”%SystemRoot%\System32\disposition\after_done.flg”
启动器靠这个文件判断”初始化真的完成了”(完成之后才重启输入法组件)。
不创建的话会白等最多 180 秒,表现为输入法启用得晚。
注意:如果安装程序是”异步”跑的(EXEC 后面没有 =),这个标志只代表
“脚本行跑完了”,不代表安装结束 —— 启动器会在之后 120 秒内盯着
输入法注册变化,发现是后来才装好的会再重启一次输入法组件。

3. Post\ 目录里不要放会”卡住”的脚本
(MESS 弹框、pause、常驻不退出程序)
单 A / 双用户模式下 Post 在登录流程里执行,卡住会让”登录完成”
一直不结束,关机时可能弹「未知硬错误」。要启动常驻程序请用
.bat 里的 start 命令。

4. 文件名/目录名建议用英文
中文文件名能运行,但日志里会显示成乱码,第三方脚本/打包工具
按 ANSI 处理路径时也容易出问题。

5. Post\Fast\ 只放”秒级”脚本
快捷方式(LINK)、固定项这种。壁纸、文件关联、电源设置、装软件
请放 Post\ 或 *.ini —— 放 Fast 里并不会更快,反而可能拖慢
桌面出现的时机。

6. 单 SYSTEM / 单 Administrator / 双用户 的差别
* 单 S:直接进 SYSTEM 桌面;Before\ 目录不执行;没有 F9
* 单 A:自动登录 Administrator;Before\ 会执行;没有 F9
* 双用户:两套桌面可切换(按 F9);Before\ 会执行

七、出问题怎么查
—————————————————————-
1. 先看日志: X:\Windows\System32\disposition\peloader.log
(只有调试版 PEBoot 会写;正式版请换调试版复现一次)
重启后日志仍在的副本: C:\PEBoot_hb.log

2. 常用关键行:

BootText: size=30 … (BootText.ini)
读到提示文字配置了;没有这一行 = 文件没找到,用了内置默认

PostFast: begin / PostFast: done
桌面快速通道的开始/结束

RunFolder Post\Fast: xxx.ini rc=N
某个脚本执行完了,N 是它的返回码(非 0 不一定失败)

AFTER / After: After.ini / After: skip …
初始化脚本被哪些文件触发、跳过了哪些

AfterDone: ctfmon restarted
输入法组件已重启(说明初始化流程走完了)

Hotkey: WM_HOTKEY id=2
收到了 F6 按键;按了 F6 没有这一行 = 热键被别的程序抢了

3. 桌面图标/固定项不出现?
* 检查 LINK / PinTo 语句的路径是否真实存在
* 检查日志里对应脚本的 rc
* 固定项刚做完需要 explorer 刷新,启动器会自动通知;
若仍不显示,按 F8 刷新系统一次

4. 开始菜单的关机/重启点了没反应?
属于异常。正常情况下启动器已接管:开始菜单 -> 电源 -> 关机
会直接关机、不弹确认框。若失效,用 F10 / F11 应急。
也请把日志留下来反馈。

八、给 PE 制作者(编译/部署)
—————————————————————-
* 源码: PEBoot.exe(单文件,无需依赖 pecmd 常驻)
* 部署: 放到 %SystemRoot%\System32\
* 启动: 注册表 HKLM\SYSTEM\Setup 的 CmdLine 写
单 S -> PEBoot.exe system
单 A -> PEBoot.exe admin
双用户 -> PEBoot.exe main
(维护版单 S 用 “PEBoot.exe system -maint”)
* 调试版会写 peloader.log;正式版不写日志、也不含排障代码。
* 修改 disposition 里的配置后,需要重新打包镜像才会进 PE。

================================================================

下载:

此内容仅对VIP会员可见

立即升级VIP

0 0 投票数
文章评级
提醒
2 评论
内联反馈
查看所有评论
sy608
VIP会员
sy608
2026年10月21日 上午7:23

K大,旧版本有PEboot启动的就直接替换是吗?没有PEboot启动的就重新加入并修改配置文件吗?

2
0
希望看到您的想法,请您发表评论x
湘ICP备2026008030号 | 公安备案图标 湘公网安备 43040002000412号