无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 22439|回复: 60
打印 上一主题 下一主题

[分享] 手把手一起做WIN10维护PE,有渔也有鱼

    [复制链接]
跳转到指定楼层
#
发表于 2016-7-6 22:39:05 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 slore 于 2016-8-30 21:36 编辑

----------------------------------------------------------------------
XP时代之后的PE都太大了,就没有自己编辑过PE了,拿来主义很省事。
最近做了个WIM构建框架,发现编辑起来比想象中容易很多,
这个帖子将在boot.wim的基础上,一步步补充我想要的功能。
并给出这些功能的PATCH目录。
希望各位可以更加了解WIM_Builder的设计和用法,最最主要的是
抛砖引玉,希望大家可以分享PE修改PATCH。
----------------------------------------------------------------------

首先,列出一个维护PE,我想要的功能。

  • 安装系统
  • 访问文件系统,备份文件
  • 硬盘分区/格式化等
  • 小巧些,删除无用的功能组件
  • 网络功能


除了网络,boot.wim基本上满足了维护要用的基本功能(cmd/diskpart)。

访问文件系统,我们可以打开“记事本”-> 文件 -> 打开文件,进行选择。
但是仍有不方便的地方。

  • 无法查看文件/文件夹属性
  • 设置安全权限,删除文件
  • 打开多个窗口复杂
  • 无法进行拖拽
  • 复制文件没有进度条显示
  • 不能最小化任务
  • 任务切换不方便
  • 无法快速启动程序


第一步,方便文件操作,任务切换,我们先加入个简单的SHELL+文件资源管理器吧。
shell的选择:bblean,EmergeDesktop,PExlorer等。
文件资源管理器:explorer.exe++,XYplorer等。

这里我用PExlorer.exe,因为直接运行就可以,方便,也不用集成到内核。
以下是PExlorer的补丁。



  1. PExlorer
  2. |   DEL_FILES.txt  <- 内容为:Windows\System32\WallpaperHost.exe
  3. |   LAST.bat
  4. |
  5. \---X
  6.     \---Windows
  7.         \---System32
  8.                 PExlorer.jcfg
  9.                 PExlorer_x64.exe
  10.                 PExlorer_x86.exe
  11.                 wallpaper.jpg
复制代码


LAST.bat

  1. if "%PB_PE_ARCH%"=="x64" (
  2.   del X:\Windows\System32\PExlorer_x86.exe
  3. ) else (
  4.   del X:\Windows\System32\PExlorer_x64.exe
  5. )
  6. ren X:\Windows\System32\PExlorer_%PB_PE_ARCH%.exe PExlorer.exe

复制代码

这个PATCH运行的话,会复制PExlorer到System32下,并删除掉内核的WallpaperHost.exe,
LAST批处理会根据内核体系结构删除掉无用的文件并改名对应x86/x64版本的为PExlorer.exe

如果只这样我们构建出来的boot.wim还是启动到系统安装界面,
光加入文件不行,boot.wim的启动对象我们也改改。

boot.wim的启动顺序简单如下:
winpeshl.exe -> wallpaperhost.exe (不使用PExlorer的话,这个程序不删除,会被winpeshl.exe调起来,显示壁纸)
             -> winpeshl.ini
             -> setup.exe
             -> startnet.cmd (不存在setup.exe, winpeshl.ini)

所以我们写个启动PATCH。


  1. PE_Startup
  2. |   INIT.bat         <- 复制startnet.cmd到System32下,复制PEconfig到X盘根目录
  3. |   DEL_FILES.txt    <- 内容为:setup.exe
  4. |   startnet.cmd     <- wpeinit.exe后调用X:\PEConfig\INIT.bat
  5. |
  6. \---PEConfig
  7.         INIT.bat     <- 启动处理
复制代码


PEConfig\INIT.bat

  1. rem add for PExlorer.exe
  2. if exist X:\Windows\System32\WallpaperHost.exe (
  3.   taskkill /f /im WallpaperHost.exe
  4. )
  5. set USERPROFILE=X:\Users\Default
  6. start PExlorer.exe -winpe
复制代码



运行WIM_Builder构建启动镜像,此时我们应该看到桌面和一个命令提示符画面了。
但是此时按WIN+E不能打开我的电脑,因为PExlorer使用的是高版本的“文件打开对话框”模拟
文件资源管理器操作,记事本这种可以使用低版本“文件打开对话框”外,系统的
任务管理器,WIN+R运行的浏览按钮是无法使用的。

这里有2个方向,第一,使用explorer.exe++之类的第3方程序(走这条路太没意思了),
第二,我们来研究下如何使PE可以使用新版的“文件打开对话框”。

=================================================================================
后续的PATCH及更新会上传到以下地址
链接: http://pan.baidu.com/s/1kVwbKOZ 密码: k6ut (2016/08/30补链接)
无特殊说明,提供的PATCH为通用补丁,应该不限体系结构(x86/x64),不限语言,不限系统版本,适当修改config.ini进行构建
=================================================================================

评分

参与人数 5无忧币 +25 收起 理由
2012sinkr + 5 赞一个!
yimingnet + 5 赞一个!
天使的魔翼 + 5 很给力!
2013wuy2013 + 5 对PE拓展很有教学意义的文章!赞一个!
xzf680 + 5 很给力!科普赞一个!

查看全部评分

推荐
发表于 2016-7-7 16:53:49 | 只看该作者
其实,我只要XP那样简单风格的SHELL, 任务栏+桌面+资源管理器, 第三方的,如果好用,我要原版做什么?

任务栏, 目前这个基本可以,如果可以加个目录到任务栏就好了, 原版的可以弄个目录动任务栏,里面可以再建目录,可以放快捷方式,文件,用来做"开始菜单"
8,10我都是这么弄的,除了位置靠近系统托盘,其它没什么,用惯了就好了. 我链接在系统根目录"开始"目录.

桌面,原版SHELL的习惯了拖放个文件,右键什么的.  
资源管理器,XP那个比较习惯.(其实是:我的电脑 ,平时是直接打开我的电脑,而不是资源管理器), 如果实现打开目录功能, 和原版SHELL差不了多少文件了

点评

希望可以提供原版SHELL的PATCH目录。 自然有很多已经实现系统原版的explorer.exe,但是文件还有很多才稳定,而且注册表要添加的项目更复杂。 还有系统的explorer目前WIN+D没人解决,很不方便。还有窗口的按  详情 回复 发表于 2016-7-7 21:54
开始菜单可以使用ClassicShell。加目录的话,不多的话直接放到快速启动栏目录。 其实左边的导航树还挺方便的。可以删除中间文件夹,在#2楼补充了注册表内容。  发表于 2016-7-7 21:49
回复

使用道具 举报

52#
发表于 2023-11-26 05:17:10 | 只看该作者
谢谢分享
回复

使用道具 举报

51#
发表于 2023-2-11 14:20:50 | 只看该作者
sairen139 发表于 2023-2-8 15:21
chartv.dll有没有相应的注册表文件需要补充?找到补充下面这条就补成功了

复制粘贴进度条和覆盖提示鱼和熊掌得兼的注册表补充片段需加四行:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{4AE7498C-E1C0-475F-8573-41C26127C5D8}]
@="IOperationStatusTile"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{4AE7498C-E1C0-475F-8573-41C26127C5D8}\ProxyStubClsid32]
@="{95E15D0A-66E6-93D9-C53C-76E6219D3341}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5174EC-F425-4CD9-8643-CF36042987F1}]
@="IOperationStatusService"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5174EC-F425-4CD9-8643-CF36042987F1}\ProxyStubClsid32]
@="{95E15D0A-66E6-93D9-C53C-76E6219D3341}"





[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6FAF1156-8855-47B5-BDC8-4555D13C095F}]
@="IConflictInterrupt"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6FAF1156-8855-47B5-BDC8-4555D13C095F}\ProxyStubClsid32]
@="{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"


[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{8F45EF43-0585-4881-A90D-F55D35CE7797}]
@="IOperationInterrupt"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{8F45EF43-0585-4881-A90D-F55D35CE7797}\ProxyStubClsid32]
@="{95E15D0A-66E6-93D9-C53C-76E6219D3341}"
回复

使用道具 举报

50#
发表于 2023-2-8 18:32:41 | 只看该作者
感谢楼主分享
回复

使用道具 举报

49#
发表于 2023-2-8 15:21:31 | 只看该作者
本帖最后由 sairen139 于 2023-2-11 09:08 编辑
slore 发表于 2016-7-6 22:42
复制文件时的进度条

本帖最后由 slore 于 2016-07-08 20:40 编辑

chartv.dll有没有相应的注册表文件需要补充?找到补充下面这条就补成功了


;;复制粘贴进度条
[HKEY_LOCAL_MACHINE\PE-SOFT\Classes\Interface\{6D5174EC-F425-4CD9-8643-CF36042987F1}]
@="IOperationStatusService"
[HKEY_LOCAL_MACHINE\PE-SOFT\Classes\Interface\{6D5174EC-F425-4CD9-8643-CF36042987F1}\ProxyStubClsid32]
@="{95E15D0A-66E6-93D9-C53C-76E6219D3341}"


点评

复制粘贴进度条和覆盖提示鱼和熊掌得兼的注册表补充片段需加四行: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{4AE7498C-E1C0-475F-8573-41C26127C5D8}] @="IOper  详情 回复 发表于 2023-2-11 14:20
回复

使用道具 举报

48#
发表于 2021-11-15 10:52:20 | 只看该作者
默默的跟上老铁的步伐
回复

使用道具 举报

47#
发表于 2021-11-2 11:02:36 | 只看该作者
希望出个外壳的详细教程
回复

使用道具 举报

46#
发表于 2019-5-9 10:15:38 | 只看该作者
对于依赖文件的跟踪,我采取的是静态与动态相结合。
静态,就是在TotalCommander中,安装Fileinfo插件,在要分析的程序上按F3,打开文件信息窗口;再按“DLL依赖”面板,从中就可直接看到它所依赖的基本DLL是哪些了!对于标红的重点关注。注意有些是指向当前系统目录的,则也是怀疑对象,因为当前目录没有它要的,就按照搜索路径找到系统目录去了。

动态,就是采用Procmon之类实时监控程序的运行,Ctrl+H进行进程过滤,只查看与要监控的程序相关的活动。对于结果中显示SUCCESS的,右键,排除之。通常只需右键包含NAME  NOT  FOUND的即可。注意有时要监控多次,发现少了什么,补充过来,再测试,可能还会有新的缺少的文件。

至于注册表,当然是比较法,使用Advanced Registry Tracer,先扫描当前注册表,然后做一下相关设置,再扫描一下注册表,然后比较前后两次扫描结果,导出re.reg,手工去除无关的注册表垃圾,即可得到与设置相关的注册表内容。

比如我在纯手工制作PE时,一开始比较原始,进入到CMD界面后,运行Explorer后没反应,于是在命令行运行硬盘上备用的Total Commander,找到PE的Explorer.exe,按F3,查看DLL依赖,瞬间就知道它缺少了什么!于是从硬盘的备用系统中复制相关文件过来,继续测试……如此可极快地搞定缺少的文件。

最麻烦的是有些时候无法静态跟踪,动态查看也找不到线索的,那就靠拼人品和时间了~!@#$%^

上述办法,非常简单直观,比逐个蛮办法测试要高效得多。供大家参考。
回复

使用道具 举报

45#
发表于 2018-12-27 21:34:04 | 只看该作者
地址失效了

点评

这个是详细制作,找差分,成果会反映到:Re:WIN10XPE  发表于 2018-12-27 22:19
回复

使用道具 举报

44#
发表于 2018-7-2 19:42:42 | 只看该作者
不过链接好像得补啦
回复

使用道具 举报

43#
发表于 2018-7-2 19:40:27 | 只看该作者
对PE又多了一些了解,收藏了
回复

使用道具 举报

42#
发表于 2017-12-13 16:50:13 | 只看该作者
最关心的是添加网络功能,adk。
史上最好的教程贴之一。
回复

使用道具 举报

41#
发表于 2017-10-18 13:34:59 来自手机 | 只看该作者
slore 发表于 2016-7-6 22:42
通过ADK添加网络功能

最关心的是添加网络功能,adk。
史上最好的教程贴之一。
回复

使用道具 举报

40#
发表于 2017-10-18 11:58:30 来自手机 | 只看该作者
slore 发表于 2016-7-6 22:42
通过ADK添加网络功能

最关心的是添加网络功能。adk
史上最好的教程贴之一。
回复

使用道具 举报

39#
发表于 2017-10-14 19:32:11 | 只看该作者
感谢slore前辈!手把手一起做WIN10维护PE,有渔也有鱼
回复

使用道具 举报

38#
发表于 2016-9-1 15:19:36 | 只看该作者
slore 发表于 2016-7-6 22:39
第一个内核PATCH---文件打开对话框(NewFileOpenDlg)

渔:

在此基础上添加Dism等部署工具,支持分区,网络就已经很好,网络按需添加
回复

使用道具 举报

37#
发表于 2016-8-31 18:54:52 | 只看该作者
wodj 发表于 2016-8-31 15:27
建议,应该把部份驱动和程序外置加载,这样方便用户灵活选择自己专属驱动,又可以节省WIM大小,论坛上已经 ...

借问一下,双系统平板要怎样按键才出配置BIOS的界面?怎样才能从u盘启动pe?
回复

使用道具 举报

36#
发表于 2016-8-31 15:27:33 | 只看该作者
建议,应该把部份驱动和程序外置加载,这样方便用户灵活选择自己专属驱动,又可以节省WIM大小,论坛上已经很多这样的PE了,我是给双系统小平板用的,用来取代原系统,希望全能,网卡、显卡等重要驱动外置加载。。

点评

借问一下,双系统平板要怎样按键才出配置BIOS的界面?怎样才能从u盘启动pe?  详情 回复 发表于 2016-8-31 18:54
回复

使用道具 举报

35#
发表于 2016-8-31 15:10:47 | 只看该作者
确实不错,眼前一亮的好文












蓝品盾防撞扶手
回复

使用道具 举报

34#
发表于 2016-8-31 15:08:42 来自手机 | 只看该作者
谢谢楼主,等待添加应用程序教学。
回复

使用道具 举报

33#
发表于 2016-8-29 15:09:06 | 只看该作者
楼主,完整版的链接失效了!
回复

使用道具 举报

32#
发表于 2016-8-27 19:59:27 | 只看该作者
回复

使用道具 举报

31#
发表于 2016-8-27 19:35:36 来自手机 | 只看该作者
支持楼主分享,资源分享失效,希望楼主补档
回复

使用道具 举报

30#
发表于 2016-8-7 04:11:45 | 只看该作者
留下,慢慢学习
回复

使用道具 举报

29#
发表于 2016-7-10 07:31:39 | 只看该作者
zclz支持了支持楼主
回复

使用道具 举报

28#
发表于 2016-7-9 17:07:05 | 只看该作者
好贴,有空自己也弄弄
回复

使用道具 举报

27#
发表于 2016-7-9 07:49:03 | 只看该作者
支持了支持楼主
回复

使用道具 举报

26#
发表于 2016-7-9 07:22:22 来自手机 | 只看该作者
再顶,呱唧呱唧。
回复

使用道具 举报

25#
发表于 2016-7-8 11:07:25 | 只看该作者
不错,谢谢楼主的分享
回复

使用道具 举报

24#
发表于 2016-7-8 07:57:06 来自手机 | 只看该作者
slore 发表于 2016-7-7 21:54
希望可以提供原版SHELL的PATCH目录。

自然有很多已经实现系统原版的explorer.exe,但是文件还有很 ...

原版的shl参考winbuilder脚本。
s写的在这边,winbuilder.cn
回复

使用道具 举报

23#
发表于 2016-7-7 22:43:07 | 只看该作者
好教程,支持一下。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-26 20:32

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表