无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 131001|回复: 387
打印 上一主题 下一主题

带 SATA、SCSI RAID 和 SMP 支持的 PE (25.5MB)[更新:2007-04-15]

  [复制链接]
跳转到指定楼层
1#
发表于 2006-10-17 17:07:29 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
_http://baiy.cn/tmp/WinPE.IS

下载后将扩展名改为 IS_ (加个下划线)即可。

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
2007-04-15 更新
驱动更新 JMicron JMB36X RAID
驱动更新 Marvell 88SE6101 PATA
驱动更新 Intel ICH6/7/8
驱动更新 NVidia SATA/IDE RAID
驱动更新 VIA SATA/IDE RAID
驱动更新 Si3112 / Si3114r5 / Si3124 / Si3124r5 / Si3132 / Si3121r5
新增驱动 RocketRAID 152x SATA (HPT3XX)
驱动更新 HPT RR22xx
驱动更新 SiS 180/182 RAID
驱动更新 SiS AHCI RAID (968)
新增驱动 Marvell 61xx Marvell RAID
驱动更新 SiI 680 ATA Controller
驱动更新 LSI (dell) SAS Adapter
驱动更新 MegaRAID SATA
新增驱动 HP ProLiant Smart Array SAS/SATA
新增驱动 HP ProLiant Smart Array 5x and 6x
以上驱动均由 waiting@ccf 兄友情提供,再次感谢!:)

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
2006-12-05 更新
调整 nVIDIA nForce 等芯片组的驱动配置信息,为各类 SATA 和 RAID 控制器提供更好的支持。感谢黄老五兄和 hunome 兄不辞辛苦地反复进行问题反馈和协助测试。
 
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
2006-12-04 更新
驱动更新 VIA PATA/SATA: 02/22/2006,5.1.3790.140 --> 10/17/2006,6.0.5728.160
驱动更新 Intel ICH6R/ICH7R/ICH8R: 06/14/2006,6.1.0.1002 --> 09/29/2006,6.2.0.2002
新增驱动 HighPoint RocketRAID 222x SATA Controller
驱动更新 HighPoint RocketRAID 152x SATA Controller: 01/05/2004, 2.351 --> 11/10/2006, 2.4.6.1110
驱动更新 HighPoint RocketRAID 154x/1640 Controller: 05/11/2006, 3.0.5 --> 05/25/2006, 2.0.6
驱动更新 Silicon Image SiI 3124 SoftRaid 5 Controller: 10/18/2005, 1.3.0.9 --> 09/20/2006, 1.5.11.0
驱动更新 Silicon Image SiI 3124 SATALink Controller: 04/27/2006, 1.3.18.0 --> 08/15/2006, 1.3.20.0
驱动更新 nVIDIA nForce SATA RAID Controller: 06/28/2006,5.10.2600.0677 --> 08/14/2006,5.10.2600.0686
以上驱动均由 waiting@ccf 兄友情提供,特此感谢 :)
 
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
2006-11-25 更新
1. 增加 JMicron JMB36X SATAII AHCI/RAID 和 Marvell RAID 614x SATA2  控制器驱动,据说某些新的 Intel 96X 主板都是用的这些控制器(大力感谢 waiting@ccf 兄的提供及指教 :D)。
2. 修正几处和驱动 hwid 相关的问题(要再次感谢 waiting@ccf,鞠躬)。
3. 将 Acronis True Image 的底层驱动更换为 9.1 版,可以运行最近的 True Image(这个是直接从毛桃兄 1111 版里提出来的 :))。
 
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
2006-11-17 更新
1. 增加 Intel ICH8 南桥驱动。
2. 新增对 Ext2/Ext3 分区格式的读写能力(需使用 Partition Manager 挂载),感谢 blank007 兄提供驱动。:)
3. 按照毛桃兄的新办法提供对 SMP 架构的支持,使 PE 映像体积缩小 1MB。
 
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
2006-10-31 更新
1. 修正了 nVIDIA SATA RAID 驱动的问题(感谢毛桃兄提醒):)
2. 加入了 PEWaitKill。
 
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
2006-10-19 更新
1.合入了 gxldr@ccf 兄 18 号刚出炉的 SATA、SCSI RAID 集成驱动集。不过排除了其中少数(俺认为)极不常用的驱动。
2. 更新了一些版本较老的驱动。
3. 手工检查了一下 txtsetup 里的设备描述符数据段,调整、增补了一些 PCI 设备描述符。
4. 加入了 VMWare 的 SCSI 驱动,便于各位兄台测试。:)

体积上升 700KB,膨胀到 26MB。

*. 新增自制小工具,详见:《关于 “xpinit -9” 问题的补充说明和配套小工具》一节。
 
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
2006-10-18 更新
彻底解决了高速机蓝屏问题。
 
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
简介
根据老毛桃兄 21M 镜像修改:
1. 增加 Intel、SiS、ALi、VIA、Adaptec、HP Compaq、DELL、MegaRAID、Promise、LSI、Silicon、Stallion、MyLex、AdvenSys、ASUS、HighPoint、ATI、ULi、ACARD、nVIDIA 等厂商的 SATA、SCSI RAID 控制器驱动。
2. 增加 VIA、Intel、SiS、ALi、Toshiba、Promise 等厂商的专用高速 IDE 控制器驱动。
3. 增加 SMP 构架内核和硬件抽象层支持,在多处理器和双核处理器构架下不会跳出无法识别的硬件体系对话框。
4. 增加 CardBus/PCMCIA 总线和相应磁盘控制器支持(用于某些型号的笔记本电脑)。
5. 加载个人设置的启动屏幕换成干净版 :P
 
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
PS: 怎样把新增驱动合到自己的PE中:
1. 用一个文件同步工具,(推荐 Synchronize It,选中 Backup Mode 和 Duplicate Mode)把 Drivers 新加的驱动合到兄台自己的 Drivers 里。
2. 用任意合版本的工具(推荐 Compare It)把 25M 版的 TXTSETUP 中相关项目合到兄台自己的 TXTSETUP 里。
 
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
怎样解决其它 PE 环境中的高速机蓝屏问题
Step 1. 在一台双核机器上碰到了Stop 0x71蓝屏。根据软件调试经验,结合兄弟们以前的延迟解决方案分析了一下,明显是进程间同步和时序问题。

Step 2. 因为 NT 系列本身的 IPC 机制是十分完善的,已经很多年没见相关 bug。基本确定是 BartPE 改装部分与系统进程间的时序问题。

Step 3. 查看 xpeinit 源码发现 “-9” 命令行参数的设计行为是 kill 掉系统 smss 和 winlogon 进程,其设计用意是要节约不到1MB内存。“xpeinit -9” 在系统启动时由 xpelogon 进程在其它初始化动作结束后调用。smss 和 winlogon 是系统关键进程,主要有两个任务:
 1. 初始化用户会话。
 2. 维持用户工作环境(User Workstation)。
这两个进程在标准 Win32 环境下是不可以 Kill 掉的,因为 PE 环境是单用户环境,并且用户以 SYSTEM 帐户登陆(此帐户通常仅用于本地服务),所以上述第二个任务可有可无,于是才有 “xpeinit -9”  一说。

由上述分析可以推断,在高速机器上,其它初始化动作执行的太快,以至于 smss 和 winlogon 的第一个任务(初始化用户会话)还没有完成时就执行到了 “xpeinit -9” 将它们强制 kill 掉了,导致系统初始化失败。

解决方法很简单:
1. 在注册表 RunOnceEx 子键中删除相应条目。
2. 现在不需要延迟方案了,所以把 System32\TimeDelay.exe 文件删除;修改 PECONFIG.INI,把调用 TimeDelay 的行注释或删除即可。

为什么是不到 1MB 内存
前文说道,“xpinit -9” kill 掉 smss 和 winlogon 的效果仅仅是节约了不到 1MB 内存。从任务管理器上看应该是 3.5MB 内存才是。这是由于这 3.5 MB Working Set 中,大部分为可共享资源(例如:装入的系统 DLL),只有很少的部分为独占的 Private Working Set(winlogon 大概八百二十多K,smss 大概一百一十多K)。

这 1MB 内存花的值吗?
做过 TC 或者 RD 的兄弟应该都知道,在真正的运营环境下部署系统的第一准则就是 “稳定压倒一切”。只要软件的时空开销在方案许可的范围内,占用多点资源不是问题。系统能够稳定可靠的使用才是关键问题。且不说强行 kill 掉系统进程是否有其它后遗症,用 1MB 内存换取大大增强的稳定性和兼容性俺以为就是十分值得的举动。
 
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
关于 “xpinit -9” 问题的补充说明和配套小工具(感谢 Rinrin 兄友情提醒 :))
从命令行帮助看到,-9 参数 kill 掉 winlogon 和 smss 两大进程主要不是为了节约资源(尽管程序源码内指出是 unlock resource :L),主要是为了去除 WinPE 环境 24 小时强制重启的限制。少数情况下,这个限制可能会妨碍正常使用(比如:在周五晚开始一个维护任务,希望周一来看结果)。

为了同时避免高速机蓝屏问题和 24 小时重启限制,干脆自己写了个小工具来代替 xpeinit -9。

使用方法如下:
1. 下载附件,解压到 PE 的 SYSTEM32 目录内。
2. 修改 PE 注册表单元:SOFTWARE,将 RunOnceEx 里 ||xpeinit -9 项替换为 ||xpeinit.exe PEWaitKill.EXE
3. 重新制作 PE 映像并测试。

其工作原理如下:
1. xpelogon 按照注册表项依次调用到 “||xpeinit.exe PEWaitKill.EXE” 后,由 xpeinit 运行 PEWaitKill,并等待该程序运行完毕。
2. PEWaitKill 启动后立即 fork 一个后台进程,不等待该进程,立即返回。
3. 由于 PEWaitKill 已运行完毕,故 xpeinit 返回,xpelogon 结束阻塞,开始初始化用户 Shell(Explorer.exe)。
4. 系统正常启动完毕。
5. PEWaitKill fork 的后台进程等待一定时间(默认为 30 秒钟)后,Kill WinLogon 和 Smss 进程,然后结束自己。

PEWaitKill 支持一个参数用于指定后台进程的等待时间,格式为:[HH[:MM]:SS[.mmmm]]。例如:


  1. ||xpeinit.exe PEWaitKill.EXE 1:15:30.123 :等待 1小时15分又30.123秒。
  2. ||xpeinit.exe PEWaitKill.EXE 15:30.123    :15分又30.123秒。
  3. ||xpeinit.exe PEWaitKill.EXE 45.123        :45.123秒。
复制代码


综上,这个 workaround 比起传统延迟方案的优点在于
1. 不用担心延迟设的过短导致在高配机器上出现蓝屏。
2. 不用担心延迟设的过长初始化系统的时候对着屏幕发呆。

[ 本帖最后由 asbai 于 2007-4-15 02:55 AM 编辑 ]

Clipboard01.png (5.86 KB, 下载次数: 309)

Clipboard01.png

PEWaitKill.rar

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

2#
 楼主| 发表于 2006-10-17 17:26:55 | 显示全部楼层
原帖由 lxl1638 于 2006-10-17 05:18 PM 发表
这个可有用了,楼主能否将前2、3个方面的驱动单独打包上传?

没明白兄台啥意思?:)
是说把 IDE 和 SATA、SCSI 支持、SMP 拆开分别做三个版本?

其实增加的体积主要是 SMP 支持(要带MP版的 kernel 和 hal),呵呵。
回复

使用道具 举报

3#
 楼主| 发表于 2006-10-17 18:17:30 | 显示全部楼层
原帖由 lxl1638 于 2006-10-17 05:41 PM 发表


MP版的 kernel我知道,2M左右的文件,以前砍下来了,我是想要前2,3个驱动包:
TXTSETUP.SIF要作了哪些修改,注册表要如何处理,及要加那些文件进去,你将它单独打包传到某个地址,我好在其它版本(如120M版) ...


明白了,手动改 TXTSETUP.SIF 很容易出错,建议这样:
1. 把 SYSTEM32\DRIVERS 下的文件覆盖到要合版本的镜像里
2. 用 WinDiff、Compare It 等合版本的工具手动合一下 TXTSETUP.SIF

建议王子兄也使用上述方法。单独做个插件实在懒得搞了,呵呵
回复

使用道具 举报

4#
 楼主| 发表于 2006-10-17 18:51:05 | 显示全部楼层
原帖由 lxl1638 于 2006-10-17 06:34 PM 发表
本人的要求正是这样,但对其它版本来说,TXTSETUP.SIF文件除了这些驱动的差别外,还有其它差别,比如老毛桃已将光盘的标识文件的很多地方改了删了,单纯用WinDiff比较出的差别合到其它版本的TXTSETUP.SIF不会准确 ...

兄台言之有理,所以才要把 SYSTEM32\DRIVERS 下的驱动覆盖到要合的其它版本中去,并且 TXTSETUP 要用工具手动合一下,自动把所有差异都合入不就等于覆盖了么,呵呵。

说一下我合这些驱动的步骤,当做抛砖引玉好了 :)
1. 按照要求把驱动加入 BartPE 指定路径。
2. 生成 PE 环境到一个临时目录。
3. 把新生成的 PE\SYSTEM32\Drivers 目录下的相关驱动合入 21M 版本。
4. 把新生成 PE\TXTSETUP.SIF 中的相关改动用 WinDiff 等工具手动合入 21M 版本的 TXTSETUP.SIF。
5. 测试。

兄台从我这个版本开始合,第三步就可以省了,直接把这个 25M 版里有,但是目标PE没有的驱动 Copy 过去就好了。第四步变成:从这个 25M 版合并到你的目标版就是。:lol

[ 本帖最后由 asbai 于 2006-10-17 06:56 PM 编辑 ]
回复

使用道具 举报

5#
 楼主| 发表于 2006-10-17 19:16:44 | 显示全部楼层
原帖由 lxl1638 于 2006-10-17 07:00 PM 发表
说明白一点,你直接将你这个PE修改前后的TXTSETUP.SIF打包帖上来(让我去找出差别),再把修改后多出的文件(按目录结构)打包帖上来,若注册表有变化的话也把多出的内容打包帖上来。


修改前的版本就是毛桃兄的 21M PE,还不够明白?我绝得这种AB比较意思不大,文件方面找一个同步工具把多出来的驱动同步到目标PE就是;TXTSETUP 方面用专门的工具手工合一下很方便。

兄台要是一定要找所有不同点的话,把我的版本和毛桃兄的 21M 版做个 AB 比较就是~
回复

使用道具 举报

6#
 楼主| 发表于 2006-10-17 19:33:29 | 显示全部楼层
呵呵,毛桃兄辛苦了。:)

我觉得最好的合版本方法是这样:
1. 用一个文件同步工具,(推荐 Synchronize It,选中 Backup Mode 和 Duplicate Mode)把 Drivers 新加的驱动合到兄台自己的 Drivers 里。这步大概 1 分钟完成。
2. 用任意合版本的工具(推荐 Compare It)把 25M 版的 TXTSETUP 中相关项目合到兄台自己的 TXTSETUP 里,这步大概 10 分钟。

这样不到一刻钟就可以合完俺加的新驱动了,干吗非要做 AB 比较呢?好像也不比上述方法方便,呵呵。
回复

使用道具 举报

7#
 楼主| 发表于 2006-10-17 20:53:12 | 显示全部楼层
原帖由 老毛桃 于 2006-10-17 08:27 PM 发表

呵呵,感谢楼主推荐的工具,的确好用。

另外,发现你的 txtsetup.sif 的  字段冗余信息太多了,至少占有 40KB 左右,打算清理一下

确实,当时懒得清了,反正不大,而且纯文本压缩比很高,呵呵。
回复

使用道具 举报

8#
 楼主| 发表于 2006-10-17 20:55:47 | 显示全部楼层
原帖由 lxl1638 于 2006-10-17 08:30 PM 发表

还有,Drivers目录新加的103个文件是不是也多了些,有没有清理的可能?

每个驱动都带描述信息,兄台可以自己看一下,觉得没用的可以砍掉,这些driver我已经筛过两遍了,应该没什么多余的。
回复

使用道具 举报

9#
 楼主| 发表于 2006-10-17 20:56:16 | 显示全部楼层
原帖由 沙漠之子 于 2006-10-17 08:46 PM 发表
MSVCP71.DLL
MSVCR71.DLL
是vb的动态库吧


VC2003 的 libc runtime,这个觉得没用可以砍掉,大概能节约不到 600KB。
回复

使用道具 举报

10#
 楼主| 发表于 2006-10-17 23:01:50 | 显示全部楼层
原帖由 luckboys 于 2006-10-17 09:39 PM 发表
其实PE加载SATA/SCSI RAID 控制器的驱动不一定要通过txtsetup.sif ,也可以通过Winpeoem.sif,关键还在于驱动的收集。
Windows PE 中的操作顺序Windows PE 的启动过程如下(部分):

加载特定媒体上的启动扇区 ...


ICH5 到 ICH7-M 南桥的 SATA 和 IDE 本本应该都没问题。其它的没测 :)
回复

使用道具 举报

11#
 楼主| 发表于 2006-10-18 09:51:28 | 显示全部楼层
原帖由 老毛桃 于 2006-10-18 09:21 AM 发表

葛老师言之有理。这样的话,对于 PE 的维护、驱动的更新来说,都会极大地降低工作量和出错率。

建议楼主将你添加到 PE 中的一些驱动打包,上来


hoho,这个对我来说不现实,我自己收集到的驱动也就 10 来个,都是常见的。大部分精品驱动都是从 CCF 的集成驱动版 XP SP2 上由 BartPE 自己直接识别出来的。要单独打包版的话得请那位 CCFer 贡献了,呵呵。
回复

使用道具 举报

12#
 楼主| 发表于 2006-10-18 12:40:22 | 显示全部楼层
原帖由 老毛桃 于 2006-10-18 12:16 PM 发表
刚才用 VMware 测试,确认 VMWare 的 SCSI 硬盘无法识别

嗯,VMWare 的 SCSI 控制器没加,因为觉得意思不大。
回复

使用道具 举报

13#
 楼主| 发表于 2006-10-18 19:07:19 | 显示全部楼层
原帖由 老毛桃 于 2006-10-18 02:51 PM 发表

呵呵,这个问题解决得好!终于可以彻底脱离蓝屏了,此帖加精鼓励一下!

希望楼主能够将驱动包整理出来,做成 WinPEOEM.SIF 加载的方式,这样定制起来就更方便了,驱动更新维护也会更加得心应手!

呵呵,多谢毛桃兄高抬 :lol

又去 CCF 上转了一圈,发现 gxldr 兄今天(2006-10-18)更新的版本中单独提供了 SATA、SCSI RAID 集成驱动包。适合做成 WinPEOEM.SIF 加载的方式,不过这种加载方式除了 .sys 文件要保留外,还要保留 .inf、.cat 等一些其它文件,使得驱动体积膨胀到 20MB。感觉对于寸土寸金的 ramdisk 加载方式太奢侈了点。;P
回复

使用道具 举报

14#
 楼主| 发表于 2006-10-18 22:29:12 | 显示全部楼层
原帖由 Rinrin 于 2006-10-18 09:36 PM 发表

-9 disables 24 hour time limit by killing smss.exe and winlogon.exe (thx TheTruth)
按照这个说明
-9是为了防止24小时重启

可能是我理解有错,xpeinit的源码里,kill 这两个线程的函数名是 unlockResources,后来在 911 里看到关于这个参数的讨论也主要是围绕 release resource 方面。:$

不过我觉得对紧急维护环境来说 24h 限制其实问题不大,能去掉固然好,但是为此影响兼容性和稳定性还是不大值得。:)
回复

使用道具 举报

15#
 楼主| 发表于 2006-10-18 22:33:44 | 显示全部楼层
原帖由 yular 于 2006-10-18 10:00 PM 发表
老九120M那个PE.
RunOnceEX.下面是空的.
不过有时候还是蓝屏.

1. 项目是放在其下子键里的。
2. 这个 workaround 只是为了解决高速系统下初始化时序错误产生的蓝屏,不可能解决一切蓝屏问题(比如:由于硬件引擎或错误的驱动程序引擎的蓝屏等)。
:P
回复

使用道具 举报

16#
 楼主| 发表于 2006-10-19 01:00:11 | 显示全部楼层
原帖由 excel 于 2006-10-18 10:59 PM 发表
在txtsetup.sif 文件中PCI\VEN_105A&DEV_3376="fasttx2k"后面增加了一行:
                                    PCI\VEN_105A&DEV_3373="fasttx2k"
再把promise的fasttx2k.sys换成 ...


正在合 CCF 上的 2006-10-18 版驱动集,新的 fasttx2k.sys 共支持 promise 的 5 种设备:
PCI\VEN_105A&DEV_6629="fasttx2k"
PCI\VEN_105A&DEV_3371="fasttx2k"
PCI\VEN_105A&DEV_3319="fasttx2k"
PCI\VEN_105A&DEV_3376="fasttx2k"
PCI\VEN_105A&DEV_3373="fasttx2k"

发现这个驱动集里的 driver 都不带 txtsetup.oem,想用 winoempe.sif 方案看来是很难了,呵呵。
回复

使用道具 举报

17#
 楼主| 发表于 2006-10-19 11:40:36 | 显示全部楼层
原帖由 secowu 于 2006-10-19 11:20 AM 发表
我想確定的是:

是不是用老毛的最新版修改而成的。

除了 change 25和31 没有update,其它都是 :)
回复

使用道具 举报

18#
 楼主| 发表于 2006-10-19 11:42:11 | 显示全部楼层
原帖由 excel 于 2006-10-19 08:49 AM 发表

下载新版的,里面有txtsetup.oem的

兄台误会了,我说的是驱动集,里面有90多个 SATA、SCSI 驱动,统统没有 txtsetup.oem,sigh~
回复

使用道具 举报

19#
 楼主| 发表于 2006-10-19 14:41:37 | 显示全部楼层
原帖由 l1982012800 于 2006-10-19 02:31 PM 发表

那和老九的方法有什么区别,还且还要改注册表,绕了一大圈,又回到了起点


1. 不用担心延迟设的过短导致在高配机器上出现蓝屏。
2. 不用担心延迟设的过长初始化系统的时候对着屏幕发呆。
3. 改注册表很麻烦吗?

;P
回复

使用道具 举报

20#
 楼主| 发表于 2006-10-19 15:01:26 | 显示全部楼层
原帖由 lsjtywkj 于 2006-10-19 02:49 PM 发表

其实用不着,老九已经解决这个问题。

另: 什么速度才是高速机。不清楚?烦劳有高速机的朋友试试坛子里轶微超级系统维护盘!是否蓝屏!我没高速机!


实际情况是这样:在 Core Duo T2500 上做试验,用 21MB 版启动延迟要设到 7 秒钟才能保证没蓝屏问题。比起现在市场上主流的 AMD64 双核 CPU 来说,用于笔记本的 T2500 恐怕也算不上高速处理器。

有鉴于此,延迟设置实在很难把握,设长了在启动时要对着屏幕发呆,设短了很多机器上蓝屏…… PEWaitKill 的设计目的就是既消除启动时的延迟又保证对高速机的兼容性,同时移除 24 重启的限制。
回复

使用道具 举报

21#
 楼主| 发表于 2006-10-19 16:50:06 | 显示全部楼层
原帖由 老毛桃 于 2006-10-19 04:31 PM 发表

今天的新的版本还没来得及测试,我先看了一下镜像,Drivers 多了不少文件啊。不过不错,适应性更强了。

另外想问一下楼主,注册表部分有变化吗?过几天我会同时放出两个版本。一个就是我自行做的原来的版本。 ...

■ 注册表除了删除了 xpeinit -9 项以外没任何变化。
■ 毛桃兄何出此言?本来就是大家切磋而已,兄台尽管拿去随便用 :lol
■ 这次的 txtsetup.sif 就是直接在兄台的 72KB 版为基础做的,这次新加出来的部分都是手动合的有用驱动信息。肉眼过滤机器生成的文本确实很累,兄台辛苦了。:handshake
■ 兄台不嫌弃的话,建议把 xpeinit -9 改成偶的 PEWaitKill,我这里实测下来效果不错。:D

[ 本帖最后由 asbai 于 2006-10-19 04:51 PM 编辑 ]
回复

使用道具 举报

22#
 楼主| 发表于 2006-10-19 16:54:47 | 显示全部楼层
原帖由 excel 于 2006-10-19 04:45 PM 发表

请教:按楼主的方法,如何在红叶的XPE中修改注册表,使得启动时不会蓝屏?因为在红叶的版本中找不到runonceex下的有键项!

不好意思,红叶的没玩过。兄台是在哪里找那个键值的?红叶环境跑起来后再敲 regedit 多半是找不到的。要在外面找~
回复

使用道具 举报

23#
 楼主| 发表于 2006-10-20 00:13:45 | 显示全部楼层
原帖由 老毛桃 于 2006-10-20 12:01 AM 发表
其实我已经找到了更好的办法,不需要你们的编程即可实现……


呵呵,这样恐怕不行,因为批处理的 TIMEOUT 阻塞住了 xpeinit,进而阻塞了 xpelogon,使得初始化过程不能继续执行,要等这个批处理执行结束。这样的效果应该和最初的 TimeDelay 方案是一样的。

要使用批处理也可以,但是不能阻塞主 xpelogon,我之前想到的方法是把这个批处理变成系统服务和 xpelogon 并发在后台执行,相关描述详见:http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1 的第 20 楼。:)
回复

使用道具 举报

24#
 楼主| 发表于 2006-10-20 00:24:07 | 显示全部楼层
原帖由 老毛桃 于 2006-10-20 12:18 AM 发表

我刚才测试通过了,因为虚拟机启动比较慢,我进到桌面就已经看不到那两个进程了,看来我的方法没有问题,延不厌是不是关键,关键是可以将 xpeinit -9 的处理滞后,算是比较好的方法啦,且 timeout.exe 才 15kb

虚拟机里就算不滞后应该也没什么问题吧? :P 高速环境下这样恐怕不行~~,hoho。

兄不见原先的 TimeDelay 就是放在启动组里的吗?这说明原先 A00 里的  xpeinit -9 本就是在启动组之后执行……

[ 本帖最后由 asbai 于 2006-10-20 12:26 AM 编辑 ]
回复

使用道具 举报

25#
 楼主| 发表于 2006-10-20 00:32:10 | 显示全部楼层
原帖由 老毛桃 于 2006-10-20 12:26 AM 发表

对!

但我给批处理加个延时,timeout /t 30 就是干这个的。

我在虚拟集中测试,只是想看看批处理又没有能将进程 Kill 掉,至于延时,呵呵,我想目前来说,就算是 Core 2 Duo E6800 也应该够了吧,哈哈,提 ...

呵呵,这个毛桃兄倒是不用担心,延迟不会随着 CPU 运算能力提高而变大,当延迟大到超过 smss 和 winlogon 的初始化时间就足够了,这样在多快的CPU上都不会出问题了。30s 是个不错的选择。呵呵。

不过我觉得加了 timeout /t 30 以后,直接用 xpeinit 调这个批处理会阻塞 xpelogon 执行,这种阻塞延迟方案不是跟 TimeDelay 完全一样了吗?:L
回复

使用道具 举报

26#
 楼主| 发表于 2006-10-20 00:37:37 | 显示全部楼层
这才是我刚才所担心的,不过现在想到办法了,我将批处理放到 XPEMENU.INI 中部署,XPEMENU.INI 是由 XPESET.EXE 来读取并执行相关配置的,跟 XPEINIT.EXE 进程并不冲突,所以这样子运行的话,延时跟 XPELOGON 的执行不会出现问题

那 XPESET.EXE 是由谁调用的?;)
回复

使用道具 举报

27#
 楼主| 发表于 2006-10-20 01:43:42 | 显示全部楼层
原帖由 老毛桃 于 2006-10-20 01:18 AM 发表

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx

将批处理放在这里运行,也受 XPEINIT.EXE 制约吗?

难说,没仔细看 xpelogon.exe 的源码,没有了 userinit.exe 不知道这些键值还有没有原来的作用了,就算有原来的效果还要看看是不是由 xpelogon.exe 阻塞调用的。

可以试试 Explorer\Run,不过如果用户换了其它 Shell 的话这个键值就没用了。

这样作还有一个问题就是要隐藏窗口,毕竟每次启动显示 30s 命令行窗口不太好看。:lol
回复

使用道具 举报

28#
 楼主| 发表于 2006-10-20 02:39:55 | 显示全部楼层
原帖由 lxl1638 于 2006-10-20 02:30 AM 发表
大侠的PEWaitKill有没有考虑到它的运行环境,若用户在非WinPE双击执行了它会不会在30秒后Killl掉Windows的.....?
如果没有考虑到这点的话,建议去掉黙认的30秒后Kill进程的动作该为DisplayHelp()。

考虑了,正常 Windows 下双击运行是无害的,因为在正常 Windows 环境下要 kill 掉系统关键进程至少需要切换的 SYSTEM 用户并获得相应权限。PEWaitKill 没有做相应动作自然会 Kill 失败,呵呵。
回复

使用道具 举报

29#
 楼主| 发表于 2006-10-20 02:41:44 | 显示全部楼层
原帖由 excel 于 2006-10-19 08:09 PM 发表

confis里的software里找的,RunonceEX这一项目是有的,但这是一个空项目。所以我就不知道如何处理了。对了我的机子上如果把红叶刻成光盘的话,能正常启动的。单位的机子因没有光驱,故没有试。但从移动硬盘下运 ...

下了一个 V26 版的红叶,发现不是使用 xpe 插件的,也没用 kill  winlogon 和 smss 进程。兄台的蓝屏问题应该是其它方面引起的。
回复

使用道具 举报

30#
 楼主| 发表于 2006-10-25 18:07:31 | 显示全部楼层
原帖由 gmy 于 2006-10-25 10:35 AM 发表
用老九的10MB_PE是直接进入CMD的,不需进入桌面,为了减少体积,是否可以不加载SATA驱动也能正确识别硬盘而不出现蓝屏?

即:10MB_PE不需要SATA驱动!

请楼主或有SATA硬盘的朋友反馈一个吧!

悬,Windows 除了加载 kernel 的代码使用 BIOS INT13,之后访问硬盘都是需要驱动的。使用 CMD 还是 Explorer 作为 Shell 应该对 Kernel 如何工作没有影响。:)
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-16 01:59

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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