无忧启动论坛

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

PE登陆回归--Winpeshl.exe

[复制链接]
跳转到指定楼层
1#
发表于 2012-5-1 12:39:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PE登陆回归--Winpeshl.exe

首先得感谢PECMD.EXE之母的巨大贡献,使得WinPE有了长足的发展,该命令的实用性、
易用性让DIY-Fans如鱼得水,方得贡献了大量的、有着实际应用价值的PE维护工具。
PECMD.EXE登陆接管了Winpeshl.exe命令,把所有工作交给PEcmd.ini配置文件,完成
桌面登陆、注册表读写、工具集成等复杂流程。这也是长久以来无可争议的、WinPE
最完善的登陆程序。
但是,凡事都有多面性,在没有PECMD之前,PE摸样是什么样的?记得Windows原版PE
吗?没有shell、只是一个CMD黑色窗口,后来人们启动了shell,进得桌面,慢慢像
得样了。它是如何登陆的?好像就是Winpeshl.exe。
如果返回来,不用PECMD,仍然使用Winpeshl.exe登陆,当然是可行的,而且也挺像
样的----下面几幅图片就是Winpeshl.exe登陆的,甚至可以开启Aero的。
本人受得启发,借助smine的PE模版,粗浅的试了一下。
当然,还有许多问题尚待解决。我实在是没有时间,放出来方法,坛中高手云集。如
果谁有兴趣,可以研究研究,如果较之PECMD方便,可推广之,如果不如PECMD,只当
是“玩玩”。


注册表(setup下):


启动界面---不太好看:


登陆:


administrator 登陆


桌面和网络--启动没有问题,但是不太稳定


[ 本帖最后由 2012ihome 于 2012-5-1 12:44 编辑 ]

Shell_cmd.rar

2 KB, 下载次数: 369, 下载积分: 无忧币 -2

2#
发表于 2012-5-1 16:12:00 | 只看该作者

关于Win7 PE默认配置文件的介绍和测试

背景知识

Windows PE 4.x(3.x  2.x类似)引导过程:
①Windows PE 在特定媒体上加载启动扇区。系统将控制传递给 Bootmgr。Bootmgr 从启动配置数据 (BCD) 中提取基本启动信息,并将控制传递给包含在 Boot.wim 文件中的 Winload.exe 文件。然后 Winload.exe 将加载相应的硬件抽象层 (HAL),接着加载系统注册表配置单元和必要的启动驱动程序。Winload.exe 完成加载后,将会准备要执行内核 Ntoskrnl.exe 的环境。
②该环境将执行 Ntoskrnl.exe 文件。然后 Ntoskrnl.exe 完成环境设置。系统将控制传递给会话管理器 (SMSS)。

③SMSS 加载注册表的剩余部分,然后配置运行 Win32 子系统 (Win32k.sys) 的环境及其各种进程。SMSS 加载用于创建用户会话的 Winlogon 进程,然后启动服务和剩余的非必要设备驱动程序及安全子系统 (LSASS)。
④Winlogon.exe 根据 HKEY_LOCAL_MACHINE\SYSTEM\Setup\CmdLine 注册表值来运行设置。Winpeshl.exe 将启动 %SYSTEMDRIVE%\sources\setup.exe 文件,前提是该文件存在。如果该文件不存在,Winpeshl.exe 将确定 %SYSTEMROOT%\system32\winpeshl.ini 文件是否指定了某个应用程序。如果该文件未指定应用程序,则 Winpeshl.exe 将执行 cmd /k %SYSTEMROOT%\system32\startnet.cmd 文件。默认情况下,Windows PE 包含启动 Wpeinit.exe 文件的 Startnet.cmd 文件。Wpeinit.exe 将加载网络资源并协调网络组件(如 DHCP)。
⑤当 Wpeinit.exe 结束时,将会出现命令提示符窗口。当命令提示符窗口出现时,Windows PE 的启动进程结束。


我的测试
说明:Windows PE 4.x(3.x  2.x类似)在④中切入用户配置,本人将该阶段配置文件执行情况进行了如下测试,一一列出。
※测试阶段一
①注册表CmdLine和配置文件的内容
CmdLine:winpeshl.exe
winpeshl.ini:wpeinit.exe
startnet.cmd: wpeinit.exe

②测试结果列表
winpeshl.ini    startnet.cmd    启动ISO测试结果
不存在              存在            有CMD界面出现。显示:"wpeinit运行,另起一行"               //Windows PE的默认情况      
不存在           不存在            有CMD界面出现。显示:"'startnet.cmd'不是内部或外部命令,也不是可运行的程序"
   存在              存在            CMD界面不出现,黑屏,重启
   存在           不存在            CMD界面不出现,黑屏,重启  

※测试阶段二
①注册表CmdLine和配置文件的内容
CmdLine:winpeshl.exe
winpeshl.ini:空
startnet.cmd: wpeinit.exe

②测试结果列表
winpeshl.ini    startnet.cmd   启动ISO测试结果
    存在              存在          有CMD界面出现。显示:"winpeshl.ini文件存在,但没有成功启动命令。这可能是由于格式错误或可执行文件名无效导致。请参考文档以了解更多信息。"


※测试阶段三
①注册表CmdLine和配置文件的内容
CmdLine:winpeshl.exe
winpeshl.ini: wpeinit.exe
startnet.cmd:空

②测试结果列表
winpeshl.ini    startnet.cmd    启动ISO测试结果
不存在           存在               有CMD界面出现。比默认情况少了wpeinit运行的行,纯CMD界面。


※测试阶段四
①注册表CmdLine和配置文件的内容
CmdLine:PECMD MAIN %SystemRoot%\PECMD.INI
PECMD.INI:wpeinit.exe  
②测试结果列表                           
PECMD.EXE    PECMD.INI       启动ISO测试结果   
存在              存在               有CMD界面出现。比默认情况少了wpeinit运行的行,纯CMD界面。


我的结论
1.按照顺序:%SYSTEMDRIVE%\sources\setup.exe→%SYSTEMROOT%\system32\winpeshl.ini→cmd /k %SYSTEMROOT%\system32\startnet.cmd ,winpeshl.exe逐一检查,如果发现其中一个,检测中止,立即运行;否则,按照实际情况提示,比如,什么都没检测到,提示“'startnet.cmd'不是内部或外部命令,也不是可运行的程序”,说明检测结束了,连startnet.cmd都没有发现.
2.其他结论,根据实验结果列表可以作出。

[ 本帖最后由 achst 于 2013-2-5 22:48 编辑 ]

示例.jpg (21.75 KB, 下载次数: 50)

示例.jpg

示例 (2).jpg (26.19 KB, 下载次数: 48)

示例 (2).jpg
回复

使用道具 举报

3#
发表于 2012-5-1 16:43:52 | 只看该作者
强顶楼主,希望更能详细些,让我等好好学习,PE3.0最开始就是靠Winpeshl.exe,通过Winpeshl.ini配制,
回复

使用道具 举报

4#
 楼主| 发表于 2012-5-1 18:56:05 | 只看该作者
添加软件不复杂--PE用的都是绿色版的,主要是添加快捷方式问题,这在ProgramData或Users中很容易实现,通过批处理也不难。

开机运行的程序,通过winpeshl.ini或者批处理中指定都可以。

我在附件中大致放置了基本的 ini 和批处理,只要修改相应的 ini 和批处理就可以了。

这些都不是问题,问题是进入桌面后还不稳定,会自动重启。
如果不用administrator登陆,只是shell,完全没有问题,咱不是想开Aero特效吗。

大致观察了一下,登陆--进入桌面的速度快得多(相比同体积PE),但WIM解压后--加载Winlogon--到tsdiscon这段时间却慢了很多。

我只是引个线,主要还是想请专家们接手,我想会逐渐完美的。
如果专家们看了以后说不如PECMD实用和方便,当然还用PECMD了。

[ 本帖最后由 2012ihome 于 2012-5-1 19:08 编辑 ]
回复

使用道具 举报

5#
发表于 2012-5-1 19:06:03 | 只看该作者

回复 #4 2012ihome 的帖子

论坛里有不用pecmd而用Winpeshl.exe登录的win7pe,我也不记得在哪帖子里下载了。
回复

使用道具 举报

6#
 楼主| 发表于 2012-5-1 20:07:55 | 只看该作者
是的,好像也有哪位大师的03PE也是winpeshl启动,放这里是想请高手们完善它。
回复

使用道具 举报

7#
发表于 2012-5-1 21:21:48 | 只看该作者
哈哈,我又回来了。添加快捷方式不难,自动运行也能解决。

这不是重点,PECMD强大在于使用者极为普遍,如果像我这样的菜鸟想要使用人家PE的某个软件或者功能,而人家用的是PECMD的命令写的,我怎么办??可不可以直接挪过来呢。
说明白点,用winpeshl启动(不改PE自身的启动方式),PECMD也依然放那里,等到需要它的时候或者说某些功能不晓得如何实现的时候,再临时调用,使其成为附属品,OK

[ 本帖最后由 20121222 于 2012-5-12 17:25 编辑 ]
回复

使用道具 举报

8#
发表于 2012-5-1 21:28:14 | 只看该作者
可以不管PECMD

做一个内核完整的,支持3卡,支持IE,这样的PE即可

那些依赖PECMD的工具,就简单多了
一个目录:里面放入PECMD+那些工具,就可以使用了
回复

使用道具 举报

9#
发表于 2012-5-1 21:50:46 | 只看该作者
原帖由 dvd008 于 2012-5-1 21:28 发表
可以不管PECMD

做一个内核完整的,支持3卡,支持IE,这样的PE即可

那些依赖PECMD的工具,就简单多了
一个目录:里面放入PECMD+那些工具,就可以使用了




赞同一下,不过分依赖PECMD

[ 本帖最后由 20121222 于 2012-5-12 17:23 编辑 ]
回复

使用道具 举报

10#
发表于 2012-5-2 09:07:22 | 只看该作者
你4.30的,我下了,做的非常好!

截图快捷键(CTRL+SHIFT+K)这个不用管,是非标准的

MS的,貌似"PRINT SCREEN"

我的PE就从来没有上面那个快捷方式(是使用PECMD的)

不必和别人的一样.

我还是说: 正常进入系统,3卡支持,IE支持, 就够了,
其它软件工具,依赖的是PE内核,而非PECMD
回复

使用道具 举报

11#
发表于 2012-5-2 09:44:24 | 只看该作者
winpeshl.ini只支持4行还是3行命令吧,多了就不行了。或是一旦调用explorer.exe,后面的命令就不运行了。
回复

使用道具 举报

12#
发表于 2012-5-2 10:07:48 | 只看该作者
原帖由 dvd008 于 2012-5-2 09:07 发表
你4.30的,我下了,做的非常好!

截图快捷键(CTRL+SHIFT+K)这个不用管,是非标准的

MS的,貌似"PRINT SCREEN"

我的PE就从来没有上面那个快捷方式(是使用PECMD的)

不必和别人的一样.

我还是说: 正常 ...


这才是“强强联合”---楼上两位,一个是Winpeshl 引导 nt5x PE,一个是Winpeshl 引导 nt6x PE。
这样就有希望了!!!
回复

使用道具 举报

13#
发表于 2012-5-2 10:41:24 | 只看该作者
PECMD的中心是pecmd.ini,而winpeshl主要是编辑cfg吧?那个更简单呢?
PE不在意哪种方式引导,重点是方便、易用、DIY。
回复

使用道具 举报

14#
发表于 2012-5-2 16:27:47 | 只看该作者
原帖由 dvd008 于 2012-5-2 09:07 发表
你4.30的,我下了,做的非常好!

截图快捷键(CTRL+SHIFT+K)这个不用管,是非标准的

MS的,貌似"PRINT SCREEN"

我的PE就从来没有上面那个快捷方式(是使用PECMD的)

不必和别人的一样.

我还是说: 正常 ...



呵呵,不晓得是不是虚拟机的问题,还没到实体机测试,发现人家通用PE的快捷键功能也是无效的。单看代码不行,还是要看疗效呀
回复

使用道具 举报

15#
发表于 2012-5-3 22:09:40 | 只看该作者
也是一种方法,值得大家研究;但PECMD已经相当成熟,没有必要另搞一套。
回复

使用道具 举报

16#
发表于 2012-5-4 07:55:35 | 只看该作者
原帖由 zds1210 于 2012-5-3 22:09 发表
也是一种方法,值得大家研究;但PECMD已经相当成熟,没有必要另搞一套。


楼上说的对,PE的“先人们”--比如lxl168、“小咕噜”等早就研究过Winpeshl模式,包括国外的PE模式。winpeshl默认启动oobe下的setup.exe(用户自定义配置),如果没有则寻找winpeshl.ini,加载由其指定的加载项,如wpeinit.exe(pnp设备、网络、USB设备的初始化等)、startnet.cmd等用户配置项。这样的过程慢且“麻烦(DIY)”,不如PECMD的简介、流畅和DIY的方便,所以lXl168等前辈才致力于pecmd的研究,并最终完善、惠及众多PE爱好者。

winpeshl引导的方式没有错,大家可以研究一下其实用性、简易性。

顺便说一句,PECMD是PE前辈们的血汗结晶,我们后辈们应该对之发扬光大,尊重前辈的劳动---不反对现在不少所谓的“大师”、“XX的PE”将PECMD的LOGO去除,但首先你得感谢一下前辈们。
回复

使用道具 举报

17#
发表于 2012-5-4 10:14:05 | 只看该作者
恩,高手在于复杂的事情简单,我们何必又复杂?
回复

使用道具 举报

18#
发表于 2012-5-4 23:44:50 | 只看该作者
原帖由 静庵 于 2012-5-4 07:55 发表


楼上说的对,PE的“先人们”--比如lxl168、“小咕噜”等早就研究过Winpeshl模式,包括国外的PE模式。winpeshl默认启动oobe下的setup.exe(用户自定义配置),如果没有则寻找winpeshl.ini,加载由其指定的加 ...



前辈功不可没,现在PECMD走进了各种说的上号的PE,让我们感觉它的无处不在,所以探讨回归也是有必要的,别太依赖了。
况且它有LOGO,我等爱美,呵呵
回复

使用道具 举报

19#
发表于 2012-5-5 21:32:59 | 只看该作者

回复 #18 20121222 的帖子

PECMD2012 天生没有LOGO .
回复

使用道具 举报

20#
 楼主| 发表于 2012-5-5 23:08:01 | 只看该作者
这个以前真没有了解----如果裸体单跑 explorer,进入到桌面的速度简直如流星一般---起码称得上是“瞬间”。

代码:

  [LaunchApp]
  AppPath=%SystemRoot%\System32\Explorer.exe
回复

使用道具 举报

21#
 楼主| 发表于 2012-5-5 23:14:47 | 只看该作者
再试一下:

  用 HiBoy 或者 2011Sunday 的 PE 运行如下代码:

  [LaunchApp]
  AppPath=%SystemRoot%\System32\Tsdiscon.exe

可直接进入用户登录界面,但会告诉你 “登录域不存在,或无法联系”,如果哪位高人把这个问题解决了,Aero特效的7PE简直就是“真”系统了。
回复

使用道具 举报

22#
发表于 2012-5-6 11:51:53 | 只看该作者
微软内部使用的PE也可能使用的是winpeshl来启动explorer吧!
回复

使用道具 举报

23#
发表于 2012-11-1 07:46:55 | 只看该作者
这样写SHL就可以进入EXPLORER桌面么?我在用OPK做的XP SP3 PE中这样用,进不了桌面,总是在快要进的时候重启,不知道怎么回事,求教
回复

使用道具 举报

24#
发表于 2013-1-31 13:35:31 | 只看该作者
这个问题,希望有高手进来研究。

发布一个经典的小型WinPE实例来最好。
回复

使用道具 举报

25#
发表于 2013-2-16 10:45:22 | 只看该作者
现在好像用pecmd的更多吧
回复

使用道具 举报

26#
发表于 2013-2-16 11:01:00 | 只看该作者
原帖由 2012ihome 于 2012-5-5 23:14 发表
再试一下:

  用 HiBoy 或者 2011Sunday 的 PE 运行如下代码:

  [LaunchApp]
  AppPath=%SystemRoot%\System32\Tsdiscon.exe

可直接进入用户登录界面,但会告诉你 “登录域不存在,或无法联系”,如 ...

要先加入一个工作组,再退出。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-3 12:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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