自定义微 PE 组件
前言
虽说是写着给微 PE 用,但其他的 PE 也是大同小异
像 FirPE 这种能加插件的直接从 Edgeless Hub 或者自己做插件后自己加载就好
准备工具
释放映像
使用 UltraISO 打开 PE 镜像文件,在 WEPE 文件夹下找到名为 WEPE64.WIM 的文件(或者是 WEPE32.WIM),提取到空白文件夹

打开 Dism++,点击“文件(F)” > “挂载映像”

在第一个框选择 WEPE64.WIM 文件(或者是 WEPE32.WIM),第二个框选择需要挂载到的目录(请选择空白文件夹,最好只有英文与阿拉伯数字),一般情况下目标映像可以不用改动

挂载完后就可以在挂载目录下看到文件了

修改映像
添加软件
打开 Program Files 文件夹,在里面新建文件夹并重命名,将你需要的软件放进去(最好是能直接运行的免安装版,名称不要有空格,名称不要有空格,名称不要有空格)

完成后找到 Program Files 文件夹最下面的 PETools.ini 文件并打开
找到 //创建桌面快捷方式 这一行,在下面新建一行,然后输入代码
1 | LINK %Desktop%\<快捷方式名称>,%ProgramFiles%\软件目录\主程序名 |
假如我要放入的程序叫 AIDA64,软件目录在 AIDA64,主程序名为 aida64.exe,则代码应为
1 | LINK %Desktop%\AIDA64,%ProgramFiles%\AIDA64\aida64.exe |

找到 //创建开始菜单所有程序快捷方式 这一行,在下面随便找个你想要的位置新建一行,然后输入代码
1 | LINK %Programs%\<需要放置快捷方式的文件夹>\<快捷方式名称>,%ProgramFiles%\软件目录\主程序名 |
与上面相同,假如我「需要放置快捷方式的文件夹叫 硬件检测」(这个部分可以去除),放入的程序叫 AIDA64,软件目录在 AIDA64,主程序名为 aida64.exe,则代码应为
1 | LINK %Programs%\硬件检测\AIDA64,%ProgramFiles%\AIDA64\aida64.exe |

完成后保存文件
添加驱动
在 Dism++ 侧栏中点击“驱动管理”,然后点击右下角“添加驱动”,并选择驱动所在文件夹(一般选择 ini 文件的所在目录或上层目录就行)

其他改动
其他改动就和正常 Windows 没什么不同,自行摸索摸索就好
保存映像
先退出所有正在打开关于 PE 的文件夹
点击“文件(F)” > “保存映像 Ctrl+S”

然后选择“直接保存”

完成后按下键盘上的 Delete 键即可卸载镜像
使用 7-Zip 等压缩软件打开 WEPE64.WIM,并删除名为 [DELETED] 的文件夹
如果提示无法访问或只读这类报错,可能是因为映像有问题,比如 fbwf.cfg 与 fbwf.sys 版本不相匹配(不知道怎么办就算了,反正又不大)
![删除 [DELETED] 文件夹](https://gcore.jsdelivr.net/gh/Goo-aw233/BlogAssets1@main/Imgs/Modify-WePE-Built-In-Components/Remove-DELETED-Folder.png)
用 UltraISO 打开到 PE 的镜像,将 WEPE64.WIM 替换进去,然后点击保存即可

结尾
完成后可以在虚拟机试试,或者直接在电脑看看效果

附录
相对路径
上文中出现的 %Programs%、%Desktop% 都属于相对路径,这么写是为了适应变化,不用为绝对路径找不到文件而烦恼
部分 Windows 相对路径如下表:
所有的 C: 均代表系统盘根目录,对于 PE 来说一般是 X:
- %AppData% > C:\Users<用户名>\AppData\Roaming
- %CommonProgramFiles% = %CommonProgramW6432% > C:\Program Files\Common Files
- %CommonProgramFiles(ARM)% > C:\Program Files (ARM)\Common Files
- %CommonProgramFiles(x86)% > C:\Program Files (x86)\Common Files
- %Desktop% > C:\Users<用户名>\Desktop (仅 PECMD)
- %DriverData% > C:\Windows\System32\Drivers\DriverData
- %HomeDrive% > <用户配置文件夹所在根目录> (一般同系统安装根目录)
- %HomePath% > %HomeDrive%\Users<用户名>
- %LocalAppData% > C:\Users<用户名>\AppData\Local
- %ProgramData%
= %AppUsersProfile%> C:\ProgramData - %ProgramFile% = %ProgramW6432% = %Programs% > C:\Program Files
- %ProgramFile(ARM)% > C:\Program Files (ARM)
- %ProgramFile(x86)% > C:\Program Files (x86)
- %Public% > C:\Users\Public
- %SystemDrive% > C: (系统安装根目录)
- %SystemRoot% = %WinDir% > C:\Windows (%SystemRoot% 仅 Windows XP 以后可用)
- %Temp% = %Tmp% > C:\Users<用户名>\AppData\Local\Temp
- %UserProfile% > C:\Users<用户名>