|
本帖最后由 liuzhaoyzz 于 2015-12-22 15:05 编辑
在研究的过程中学习了不少知识,知道了WIN7PE是怎么个启动流程。
WIN7PE的启动主要流程:
bootmgr获得控制权==>搜索\BOOT\BCD菜单==>加载boot.sdi虚拟成x:盘用来挂载wim文件==>加载boot.wim==>Bootmgr将控制权传给Winload.exe(至此Bootmgr的使命已完成)==>Winload.exe加载相应核心(Ntoskrnl.exe) 和硬件抽象层 (HAL)==>Winload继续加载注册表配置单元SYSTEM32\SETUPREG.HI_(XPPE/03PE)或者System32\config\system(WIN7PE),读取HKLM\System\Setup\CmdLine==>启动pecmd.exe加载%windir%\system32\pecmd.ini,pecmd完全控制登录步骤==>进行PE内核初始化操作,创建桌面快捷方式,启动explorer.exe外壳程序,关闭小数字键,创建开始菜单快捷方式,创建程序组快捷方式,安装输入法和WINRAR文件关联注册图片关联等等等等==>进入PE桌面
Winload除了加载pecmd之外,还加载以下驱动和子系统:
①加载文件格式驱动、硬盘控制器驱动。=>将控制权传Ntoskrnl.exe,Ntoskrnl.exe核心继续加载system类型的驱动,也就是启动值为1的驱动。=>将控制权传递给会话管理器 (SMSS)=>会话管理器 (SMSS) 加载注册表的剩余部分,配置运行 Win32 子系统 (Win32k.sys) =>Win32k.sys将XP从文本模式切换至图形模式。
②启动 Windows 子系统用户模式部分 (Csrss.exe)。=>加载用于创建用户会话Winlogon进程会话管理器=>(SMSS)继续加载剩余的非必要设备驱动程序=>Winlogon.exe 启动服务子系统 (Services.exe), 也称为服务控制管理器 (SCM)。=>Winlogon.exe启动安全子系统(Lsass.exe)。=>Winlogon.exe根据注册表中具体的值来启动外壳程序。
hlstudio7pe启动的主要流程控制文件:
01 pecmd.ini
02 myreg.cmd
03 PETOOLS.CMD
04 PETOOLS.INI
05 REGDOC.CMD
06 LOADPATCH.CMD
07 LOADNET.CMD
想要二次DIY就从这几个文件入手好了。我偷懒,一个字没动,呵呵。
另外,关于免写菜单,这个帖子可能有用:【从此不需编写菜单配置文件!贡献一套原创自动菜单生成脚本】
http://bbs.wuyou.net/forum.php?m ... &extra=page%3D2 |
|