无忧启动论坛

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

[暂停下载]实现32位PE下安装32/64位NT5.x/NT6.x,并解决SRS驱动问题的工具

 关闭 [复制链接]
421#
发表于 2010-11-13 10:40:14 | 只看该作者
原帖由 Jackynihao 于 2010-11-13 09:36 发表



如果没有在boot.wim里的话,是不是等安装完系统手动导入呢?还是说安装器可以顺便写入呢?

自动会完成的
回复

使用道具 举报

422#
发表于 2010-11-15 15:41:59 | 只看该作者
有些映像不认啊,希望解决这个问题
回复

使用道具 举报

423#
发表于 2010-12-2 12:50:47 | 只看该作者
奇怪了,安装好后的启动列表显示的不是WIN7,是WIN VISTA,又用BCDTOOL修改了才行
回复

使用道具 举报

424#
发表于 2010-12-2 13:26:28 | 只看该作者
原帖由 2010_zheng 于 2010-9-21 13:46 发表


可以的,shift+F10

还有这招?我用的时候没见哪里可以按shift+F10输入KEY呀

[ 本帖最后由 极度凶残 于 2010-12-2 13:40 编辑 ]
回复

使用道具 举报

425#
发表于 2010-12-2 14:10:40 | 只看该作者
原帖由 yth_0 于 2010-9-21 13:20 发表
再提个建议,就是在PE下拷贝文件之前,能不能加一个输入key的步骤(不用自动应答文件)?以前在PE下直接运行安装程序,他会在拷贝之前要求输入key,这个时候还是处于PE里,可以打开key文件,用复制粘贴的方式加 ...

是这样很麻烦,希望有个更加完美的版本
回复

使用道具 举报

426#
发表于 2010-12-2 20:21:04 | 只看该作者
哪位大侠能传一个这个工具安装原版XP和2003用的winnt.sif自动应答文件的样本来,每次安装时都要在系统安装后一个一个字母输进去,十分痛苦
回复

使用道具 举报

427#
发表于 2010-12-4 10:15:54 | 只看该作者
用2.0正式版装了个win7,发现启动菜单怎么是vista?
还有就是在pe1.0下ms无法运行

1.png (35.63 KB, 下载次数: 116)

1.png
回复

使用道具 举报

428#
发表于 2010-12-4 11:10:18 | 只看该作者
很好很强大,小人收录下^_^
回复

使用道具 举报

429#
发表于 2010-12-4 11:26:33 | 只看该作者
这个强呀,感谢楼主提供,请允许我学习。希望继续提供精品
回复

使用道具 举报

430#
 楼主| 发表于 2010-12-4 12:52:56 | 只看该作者

回复 #427 haonan 的帖子

这个问题不是很大,因为是在pe1.x运行bcdboot工具版本问题,原因的不详
回复

使用道具 举报

431#
发表于 2010-12-4 14:19:19 | 只看该作者

安装64位XP出现故障

用WIN$Man安装64位XP,重启后出现提示:NTLDR is missing
用setupldr.bin替换NTLDR,提示找不到XP文件。
回复

使用道具 举报

432#
发表于 2010-12-4 21:38:14 | 只看该作者
原帖由 zhhsh 于 2010-12-4 12:52 发表
这个问题不是很大,因为是在pe1.x运行bcdboot工具版本问题,原因的不详

那意思说要用WIN$Man就必须放弃现在很成熟的pe1.0?
启动菜单问题确实无关痛痒,当然能修正更好
回复

使用道具 举报

433#
 楼主| 发表于 2010-12-4 22:25:41 | 只看该作者

回复 #432 haonan 的帖子

要修正是很容易,主要是我不打算频繁更新,再过一段时间等vboot的VHD挂载功能能在PE正常使用才更新
详细的在这楼后面
http://bbs.wuyou.net/forum.php?m ... ;page=37#pid2038158
回复

使用道具 举报

434#
发表于 2010-12-5 08:56:25 | 只看该作者
好东西啊,下一个,谢了。
回复

使用道具 举报

435#
发表于 2010-12-6 17:48:55 | 只看该作者
加载win7 x64的srs驱动好像不行啊
说安装失败
我看文件夹里,驱动是复制进去了,但就是不能重起安装

同一个驱动,用win7自己的安装程序,加载安装没有问题啊
回复

使用道具 举报

436#
发表于 2010-12-11 09:17:39 | 只看该作者
谢谢了,支持一下,呵呵
回复

使用道具 举报

437#
发表于 2010-12-14 03:46:10 | 只看该作者

发现两个BUG,一个是小问题,一个是大问题

在WINPE下运行您的程序,安装WINXP SP3 X86,安装到D盘,激活分区C盘,出错界面。
第三幅图是在WIN 2K3 X64系统下抓取的。我想给我的机子安装XP X86,方便提取驱动及做测试用。

1.磁盘控制器的ID看不完整



2.整合磁盘控制器驱动时出错。


我所用的设备的磁盘控制器


[ 本帖最后由 天涯行 于 2010-12-18 15:52 编辑 ]

f6flpy3289.zip

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

INTEL iastor

32-bitWindowsXP_1330100.ZIP

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

lsi raid drv

回复

使用道具 举报

438#
 楼主| 发表于 2010-12-18 15:02:11 | 只看该作者

回复 #437 天涯行 的帖子

能提供磁盘控制器驱动吗?
回复

使用道具 举报

439#
发表于 2010-12-18 15:54:34 | 只看该作者
驱动已经上传。后来我是用手式整合的办法,安装成功的。

============================
添加驱动需要的是细心,稍有疏忽,所有心血都白费。

你已经明白了XP安装时分两个阶段:Text Mode Setup和GUI Mode Setup

Text Mode Setup前,由引导程序$ldr$(或Setupldr.bin)根据txtsetup.sif中驱动列表检测并载入最基本的驱动,

这些驱动只保证Text Mode Setup时能够驱动设备,而不能发挥设备的全部性能。

然后Text Mode Setup时会把所需要的最基本的驱动复制到硬盘上,以便GUI Mode Setup可以进行。

即使是GUI Mode Setup已经顺利载入的驱动,也没有实际安装,完整的驱动安装,都是在GUI Mode Setup启动后的第一阶段进行。

GUI Mode Setup启动后的第一阶段驱动的安装,保证了XP可以成功启动和完全发挥设备性能。

XP自带驱动文件将近5000个,用于Text Mode Setup只是少数。



关键问题

在txtsetup.sif中添加SATA驱动,只保证Text Mode Setup和GUI Mode Setup能够顺利进行,而不是实际安装驱动。

还必须想办法在GUI Mode Setup时安装驱动。(也就是在Winnt.sif和$OEM$中添加相应的东西)

只做第一步,不做第二步将导致:安装可以顺利完成,但进入系统时却出现问题。

至于Dosnet.inf,从光盘启动安装时不会用到,只有当你从Windows启动安装时才会用到。

但是当你从Windows启动安装时,如果不用参数安装,所集成的驱动都将失效。



在Txtsetup.sif中集成驱动的基础

这些东西在我的另一篇文章中有提到,但能把它灵活运用的似乎不多。

   i386\txtsetup.sif负责在Text Mode Setup阶段时文件复制和文件来源路径
   i386\driver.cab是XP原版的驱动文件库
   i386\sp1.cab是XP SP1版新加入的驱动文件库
   i386\drvindex.inf所有驱动文件的索引
   i386\layout.inf部署文件,其内容和Txtsetup.sif基本一样

首先必须先看懂Txtsetup.sif
打开txtsetup.sif并查找hal.dll,可以找到
hal.dll      = 100,,,,,,3_,2,3,,,1,2
100代表什么呢,看txtsetup.sif头部的[SourceDisksNames.x86]段
100 = %spcdname%,%spcdtagfilei%,,\i386,1   <---100代表的是i386目录,%spcdname%在txtsetup.sif下部有定义,有时找不到安装盘时会提示请插入XXXX盘,就是这个了。而%spcdtagfilei%指的是SP1版XP识别文件,即是光盘根目录下的win51ip.sp1
3_代表什么呢,再看txtsetup.sif头部[SourceDisksNames.x86]段
3_    = %bootname3%,"%boottagfile3%",,""  <---指的是虚拟启动软盘组第三块盘
3_之后的2表示复制到system32目录,再看txtsetup.sif的头部的[WinntDirectories]段:2  = system32

细心的话,你可以发现有的文件来源为1,有的却为100,其实1等同于100,但为什么要有分别呢?
打开layout.inf,你可以发现它比txtsetup.sif中每项多了一大串数字,那串数字就是未压缩前的文件大小
再打开XP Without SP1版的layout.inf,你可以发现,所有文件来源都为1,对比刚才的layout.inf,凡是来源为100的文件大小都不一样
这即是表示来源为100文件是SP1版XP相对于原版改动过的文件

auditW.chm    = 1,,,,,,,21,0,0,audit.chm  <--这表示在复制后改名为audit.chm
channels.scf = 1,,,,,,,2,0,0,%ViewChannelsSCF% <-表示超过命名规范的文件,会在c:\留下$$Rename.txt指示文件在GUI Mode Setup阶段改名
还有一类文件象ct120d.gpd   = 1,,,,,,,,3,3<---来源1后第7个逗号之后的复制目的地为空,则表示不一定复制,在需要时再复制
这类文件多半是驱动和系统非必须组件。
但是有4千多个驱动文件存在driver.cab中,不在i386下,如何指示其来源呢?
这就要靠drvindex.inf这个文件,复制时安装程序会先在drvindex.inf中查找,如果找到则从driver.cab或SP1.cab中复制
所以如果i386下和XXXX.cab中同时存在同名的文件,安装程序将会优先从XXXX.cab中复制

在Txtsetup.sif中还有一个特殊的段[SystemPartitionFiles]
用于将某个文件复制到C:盘根目录,当然这个文件必须在[SourceDisksFiles]中指定了来源。



以你的例子说明在PE中集成驱动与在XP安装盘中集成驱动的差别


[SourceDisksFiles]
si3112r.sys  = 1,,,,,,4_,4,1,,,1,4
这句在XP安装时的意思:si3112r.sys来源为i386,属于虚拟启动软盘组的第4块盘(4_),目的地为system32\drivers(4 = system32\drivers)
这句在PE中的意思:要想找到si3112r.sys,必须从system32\drivers中寻找。
为什么是4_ ?  因为按照惯例microsoft把驱动都放在了第4块盘上了,其实放在哪个盘上都无所谓。

[HardwareIdsDatabase]
PCI\VEN_1095&DEV_3112&SUBSYS_61121095 = "si3112r"
这些是硬件ID列表

[SCSI.Load]
si3112r  = si3112r.sys,4      (4 = system32\drivers)
PE中意思是如果找到符合上面列出的硬件ID,则从system32\drivers载入si3112r.sys

[SCSI]
si3112r  = "Silicon Image SiI 3112 SATARaid Controller"
这只是驱动说明,在PE中打开注册表,在相应的驱动键值下,你可以找到这些。

稍微总结一下:
对于XP:检测硬件->引导到Text Mode Setup->载入驱动->复制驱动文件->重启->利用复制的驱动文件启动GUI Mode Setup
在txtsetup.sif中有控制引导到Text Mode Setup的语句:OsLoadOptions = "/fastdetect /noguiboot /nodebug"
"载入驱动"是载入光盘上已经存在的驱动
"复制驱动文件"是把光盘上的驱动按需要复制到硬盘上。这一步是为GUI Mode Setup而准备的。

对于PE:检测硬件->引导到PE->载入驱动
在txtsetup.sif中有控制引导到PE的语句:OsLoadOptions ="/fastdetect /minint"
要想在PE中集成驱动必须先将驱动复制到system32\drivers

所以基本上没有什么差别。

有趣的是,在关闭一些服务后使用/minint参数来引导XP,可以让启动后的XP禁用页面文件。
打开Boot.ini
在multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect下面添加
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /minint



另类集成驱动方法

microsoft知识库和帮助文件里只会告诉你如何去做,而不会告诉你为什么要这么做。
microsoft不会给你过多的说明,因为这会威胁到它的产品的安全。

下面我将以SI3112举个例子告诉你如何运用上面的东西。(我只找到SI3112的驱动)
====================================================
注意:在txtsetup.sif中添加的文件,文件名不要超过8.3格式。
第一步
txtsetup.sif中添加如下内容并复制相应的文件(和你所做的一样)
[SourceDisksFiles]
si3112.sys  = 1,,,,,,4_,4,1,,,1,4

[HardwareIdsDatabase]
PCI\VEN_1095&DEV_3112&SUBSYS_31121095 = "si3112"
……

[SCSI.load]
si3112 = si3112.sys,4

[SCSI]
si3112 = "Silicon Image SiI 3112 SATALink Controller"

当然dosnet.inf也要添加相应的内容
====================================================
第二步
把驱动6个驱动文件
SiiSupp.vxd
SiWinAcc.sys
SI3112.inf
SilSupp.cpl
Si3112x.sys(把原来的Si3112.sys改名)
Si3112.mpd
压缩成mydriver.cab(可以用Canbinet Manager 2003并把压缩率调到最高)

把mydriver.cab复制到i386下
-----------------------------------------
打开txtsetup.sif
在[SourceDisksFiles]中添加
SiiSupp.vxd = 100,,,,,,,45,0,0     <-意思是复制到windows\temp中
SiWinAcc.sys = 100,,,,,,,45,0,0
SI3112.inf = 100,,,,,,,45,0,0
SilSupp.cpl = 100,,,,,,,45,0,0
Si3112x.sys = 100,,,,,,,45,0,0,Si3112.sys   <-和第一步中的文件重名,用改名复制
Si3112.mpd = 100,,,,,,,45,0,0

在driver.cab   = 1,,,,,,_x,39,0,0下面添加
mydriver.cab   = 1,,,,,,_x,39,0,0

修改DriverCabName=driver.cab,sp1.cab,mydriver.cab

在driver.cab = 16下面添加
mydriver.cab = 16
---------------------------------------------
打开drvindex.inf
修改CabFiles=SP1,driver,mydriver

添加
[mydriver]
SiiSupp.vxd
SiWinAcc.sys
SI3112.inf
SilSupp.cpl
Si3112x.sys
Si3112.mpd

在[Cabs]
driver=driver.cab
SP1=SP1.cab下面添加
mydriver=mydriver.cab
-----------------------------------------
打开dosnet.inf,添加
d1,mydriver.cab
d1,SiiSupp.vxd
d1,SiWinAcc.sys
d1,SI3112.inf
d1,SilSupp.cpl
d1,Si3112x.sys
d1,Si3112.mpd
-----------------------------------------
最后在winnt.sif中的[Unattended]中添加
DriverSigningPolicy=Ignore
OemPnPDriversPath="WINDOWS\TEMP"   <-这是为了配合上面复制到windows\temp中的驱动



如何让集成的驱动从Windows下启动安装也有效

如果是用上面的方法集成驱动,可以用如下命令
WINNT32.EXE /unattend:I386\winnt.sif
如果是把驱动放在$OEM$,可以用如下命令
I386\WINNT32.EXE /copydir:$OEM$ /unattend:I386\winnt.sif



最后

一些类似的问题不断地被提出来,但实际解决的方法相似却不相同。
只有当你真正掌握了原理,才能够随机应变。

我没有SATA设备,所以我也无法帮你实现它。

没有实践,也就没有发言权。
上面的方法,我也仅仅是在集成显卡声卡驱动中使用。
如果上面的方法在集成SATA设备时有什么错误,恕我无知。


                                                 Benjaminwan
                                                 2004.6.20




本文来自CSDN博客,出处:http://blog.csdn.net/ncdawen/archive/2006/01/08/573940.aspx
回复

使用道具 举报

440#
 楼主| 发表于 2010-12-19 11:46:11 | 只看该作者
原帖由 9998887778 于 2010-12-6 17:48 发表
加载win7 x64的srs驱动好像不行啊
说安装失败
我看文件夹里,驱动是复制进去了,但就是不能重起安装

同一个驱动,用win7自己的安装程序,加载安装没有问题啊

能提供驱动吗?
回复

使用道具 举报

441#
 楼主| 发表于 2010-12-19 12:12:51 | 只看该作者

回复 #437 天涯行 的帖子

我测试没有问题啊。是PE的问题?
回复

使用道具 举报

442#
发表于 2010-12-19 13:36:39 | 只看该作者
今天要在新电脑上安装系统,这个帮了大忙,谢谢!
回复

使用道具 举报

443#
发表于 2010-12-19 21:19:52 | 只看该作者
没用过呀,但真想试试呢
回复

使用道具 举报

444#
发表于 2010-12-24 17:18:03 | 只看该作者
有些精简的系统,是没办法用那工具安装的

有些精简的系统,是没办法用那工具安装的
小韦XPSP3 X1.0 全功能版99MB 更新到最新补丁
http://www.2y2r.org/forum.php?mod=viewthread&tid=473639&fromuid=3788
Micro2003_OSTG_20101210
http://www.2y2r.org/forum.php?mod=viewthread&tid=473605&fromuid=3788


回复

使用道具 举报

445#
发表于 2010-12-25 17:15:11 | 只看该作者
用此软件在pe下安装win7,在选择映像名下始终不出现选项,也无法选择,导致安装无法完成。怎么回事?楼主
回复

使用道具 举报

446#
发表于 2010-12-27 15:41:27 | 只看该作者
如果我想安装64位的win7可以吗,用什么pe先启动然后再用此软件安装呢
谢谢指教
回复

使用道具 举报

447#
发表于 2010-12-27 20:29:50 | 只看该作者
刚好需要   非常感谢楼主
回复

使用道具 举报

448#
发表于 2010-12-27 20:52:43 | 只看该作者
精简系统就不用考虑了,支持原版就行

正常系统,或者F6,或者系统下再安装一次
回复

使用道具 举报

449#
发表于 2010-12-28 16:59:16 | 只看该作者

回复 #440 zhhsh 的帖子

驱动我放附件了
amd64和i386下面的我都试了

[ 本帖最后由 9998887778 于 2010-12-28 17:00 编辑 ]

marvell_mv64xx_drv_3102404.zip

1.61 MB, 下载次数: 46, 下载积分: 无忧币 -2

回复

使用道具 举报

450#
发表于 2010-12-28 20:47:37 | 只看该作者
原帖由 201021597357 于 2010-12-25 17:15 发表
用此软件在pe下安装win7,在选择映像名下始终不出现选项,也无法选择,导致安装无法完成。怎么回事?楼主

我试了好几个pe也是这样!
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-9-27 22:27

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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