无忧启动论坛

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

改进了F6仿真软盘,以便配合FIRADISK对OEM驱动的自动安装

[复制链接]
跳转到指定楼层
1#
发表于 2010-2-28 14:29:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
原F6仿真软盘,OEM驱动为A盘,firadisk在B盘,用WIN$.ISO安装系统时需要按F6,如现在的0PE、SRS_F6都是如此。

从P大的0PE的单文件SYS打包成OEM_SRS.ZIP安装系统得到灵感,单文件OEM_SRS.ZIP仿真为A盘可以免按F6,如此想到修改默认SCSI及[hardwareids.scsi.*]中如果只放置本机ID就可以免按F6。
经过测试,情况确实如此,把原F6仿真软盘程序作了改动(下面是OEM驱动放在A盘的情形):

:OEM
str a:\txtsetup.oem 0 0 /r /mix:\09= /asc:= /a >nul
str a:\txtsetup.oem 0 0 /r /mix:\09= /asc:= /a >nul
inifile a:\txtsetup.oem [scsi]|lmod /l* inifile a:\txtsetup.oem [[HardwareIds.scsi.[$2]][~124]lmod /l* $[[$3]=[$2][~62][~62]F6.tmp>_gethid.bat
call _gethid.bat
del _gethid.bat
<F6.tmp sort /*-2>F6.pci
del F6.tmp
if not exist F6.pci goto F6end
cd|lmod $[~255][-]>>F6.pci
>nul copy /Y CHKPCI.BIN /B + F6.pci /B F6.com
del F6.pci
F6.COM|lmod set F6DEF=[$2]>_gethid.bat
call _gethid.bat
F6.COM|lmod set HWID=[$1]>_gethid.bat
del f6.com
call _gethid.bat
del _gethid.bat
inifile a:\txtsetup.oem [Defaults] /remove
>>a:\txtsetup.oem echo [Defaults]
>>a:\txtsetup.oem if not "%F6DEF%"=="" echo scsi=%F6DEF%
inifile a:\txtsetup.oem [HardwareIds.scsi.%F6DEF%]>f6.tmp
tfind /c "%HWID%" f6.tmp > f6.PCI
del f6.tmp
inifile a:\txtsetup.oem [HardwareIds.scsi.%F6DEF%] /remove
>>a:\txtsetup.oem echo [HardwareIds.scsi.%F6DEF%]
<F6.PCI lmod set F6DEF="[$3]","[$4]" >F6.BAT
del F6.PCI
call f6.bat
del f6.bat
>>a:\txtsetup.oem echo id = %F6DEF%
2#
发表于 2010-2-28 14:35:49 | 只看该作者
抢到沙发喽!

这可是好灵感,如果成功,可以自动搜寻本机信息加载驱动,那简直是“美死了”

我的PE一直想加没有加入F6就是因为操作相对复杂,调用的驱动与PE原有驱动高度的重复。

[ 本帖最后由 网虫2008 于 2010-2-28 14:39 编辑 ]
回复

使用道具 举报

3#
 楼主| 发表于 2010-2-28 14:36:56 | 只看该作者
包括单文件SYS的OEM,程序如下:
:F6ZIP

PKUNZIP -od %disk%\SRS.zip a:\
if exist A:\txtsetup.oem goto :OEM
if not exist A:\*.sy? goto :F6end
>sys.txt dir /b a:\*.sy?
<sys.txt lmod /S. /l* call single.bat [$1 U]>pci.bat
del sys.txt
call pci.bat
del pci.bat

:F6end
>a:\DEFAULTS echo [DEFAULTS]scsi=%F6DEF%
inifile a:\txtsetup.oem [Defaults] /remove
>txtsetup.tmp echo [Defaults]
>>txtsetup.tmp if not "%F6DEF%"=="" echo scsi=%F6DEF%
>>txtsetup.tmp echo ;;;;
>nul copy /Y txtsetup.tmp /B + a:\txtsetup.oem /B
>nul copy /Y txtsetup.tmp a:\txtsetup.oem
del txtsetup.tmp
goto :exit

:OEM
str a:\txtsetup.oem 0 0 /r /mix:\09= /asc:= /a >nul
str a:\txtsetup.oem 0 0 /r /mix:\09= /asc:= /a >nul
inifile a:\txtsetup.oem [scsi]|lmod /l* inifile a:\txtsetup.oem [[HardwareIds.scsi.[$2]][~124]lmod /l* $[[$3]=[$2][~62][~62]F6.tmp>_gethid.bat
call _gethid.bat
del _gethid.bat
<F6.tmp sort /*-2>F6.pci
del F6.tmp
if not exist F6.pci goto F6end
cd|lmod $[~255][-]>>F6.pci
>nul copy /Y CHKPCI.BIN /B + F6.pci /B F6.com
del F6.pci
F6.COM|lmod set F6DEF=[$2]>_gethid.bat
call _gethid.bat
F6.COM|lmod set HWID=[$1]>_gethid.bat
del f6.com
call _gethid.bat
del _gethid.bat
inifile a:\txtsetup.oem [Defaults] /remove
>>a:\txtsetup.oem echo [Defaults]
>>a:\txtsetup.oem if not "%F6DEF%"=="" echo scsi=%F6DEF%
inifile a:\txtsetup.oem [HardwareIds.scsi.%F6DEF%]>f6.tmp
tfind /c "%HWID%" f6.tmp > f6.PCI
del f6.tmp
inifile a:\txtsetup.oem [HardwareIds.scsi.%F6DEF%] /remove
>>a:\txtsetup.oem echo [HardwareIds.scsi.%F6DEF%]
<F6.PCI lmod set F6DEF="[$3]","[$4]" >F6.BAT
del F6.PCI
call f6.bat
del f6.bat
>>a:\txtsetup.oem echo id = %F6DEF%

:exit

single.bat
>a:\txtsetup.oem echo [Disks]
>>a:\txtsetup.oem echo %1="AHCI&RAID DRIVER",\DEFAULTS,\
>>a:\txtsetup.oem echo [scsi]
>>a:\txtsetup.oem echo %1="%1 Disk Driver"
>>a:\txtsetup.oem echo [Files.scsi.%1]
>>a:\txtsetup.oem echo driver=%1,%1.sys,%1
>>a:\txtsetup.oem echo inf=%1,%1.inf
>>a:\txtsetup.oem echo [HardwareIds.scsi.%1]
pciscan -v|tfind "Disk"|tfind /v "IDE"|lmod /l* id="PCI\VEN_[$5][~38]DEV_[$6]","%1">>a:\txtsetup.oem
pciscan -v|tfind "Disk"|tfind /v "IDE"|lmod /l* id="PCI\VEN_[$5][~38]DEV_[$6]","%1"
set F6DEF=%1
>nul xcp /y c:\KERNEL\inf.txt a:\%1.inf
pciscan -v|tfind "Disk"|tfind /v "IDE"|lmod /l* "SCSI Adapter"=Inst,PCI\VEN_[$5][~38]DEV_[$6]>>a:\%1.inf
回复

使用道具 举报

4#
发表于 2010-2-28 14:37:12 | 只看该作者
新潮机器安装系统,F6太重要了,盼LZ整个模板出来。。。。
回复

使用道具 举报

5#
 楼主| 发表于 2010-2-28 14:55:32 | 只看该作者
其他的F6模板都已经成熟,包括.SIF的、SRSID.TXT的,需要的文件可以参考ftp2中ZZHSH\test\kernel.img,查看SRS_F6.BAT,里面有处理各种驱动的程序,应该全包括了SIF、srsid.txt,单文件SYS、原厂OEM
回复

使用道具 举报

6#
发表于 2010-2-28 14:56:30 | 只看该作者
MS的F6功能太麻烦啦。。。
回复

使用道具 举报

7#
发表于 2010-2-28 14:59:09 | 只看该作者
用没有朋友知道ramdisk启动必须要ISO文件跟winnt.sif在同一个分区这个问题,怎么解决好?
回复

使用道具 举报

8#
 楼主| 发表于 2010-2-28 15:04:57 | 只看该作者
原帖由 zhhsh 于 2010-2-28 14:59 发表
用没有朋友知道ramdisk启动必须要ISO文件跟winnt.sif在同一个分区这个问题,怎么解决好?


你是想用ramos来安装系统吗?
回复

使用道具 举报

9#
发表于 2010-2-28 15:09:27 | 只看该作者

回复 #8 zhaohj 的帖子

不是,
可以看看这:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=32602
fujianabc为我们提供一点帮助
回复

使用道具 举报

10#
发表于 2010-2-28 15:17:05 | 只看该作者
改驱动不行,宁愿手动

不是都会改驱动,但打包会
回复

使用道具 举报

11#
发表于 2010-2-28 15:18:52 | 只看该作者

回复 #5 zhaohj 的帖子

论坛上有很多上好的模板,但操作都 有点麻烦,我等笨笨,最好有傻瓜点的(如一键什么什么的)
回复

使用道具 举报

12#
 楼主| 发表于 2010-2-28 15:45:19 | 只看该作者
原帖由 dvd008 于 2010-2-28 15:17 发表
改驱动不行,宁愿手动

不是都会改驱动,但打包会


没让你改驱动啊,你只要打包就行了。
回复

使用道具 举报

13#
发表于 2010-2-28 15:47:31 | 只看该作者
顶,希望哪位大侠能制作出一个‘全外置’的SRS_F6驱动库来,就象FIRADISK.IMG一样可以自由选择加载与否。
回复

使用道具 举报

14#
发表于 2010-2-28 21:30:48 | 只看该作者
我顶,我再顶,希望大侠能制作出一个圆满成功的。
回复

使用道具 举报

15#
发表于 2010-2-28 22:07:11 | 只看该作者
希望楼主早日出可用模板,菜单中只要选择是否加载OEM驱动,就能免按F6,不再出现其他复杂选单,一路NEXT就能安装完毕,就完美了,期待啊
回复

使用道具 举报

16#
发表于 2010-2-28 22:20:26 | 只看该作者
这里面存在一个可能被触发的问题,如果待安装的机子存在多个磁盘控制器hwid的情况,如果被Default的hwid不属于启动设备的那个磁盘控制器(我们目前还没有比较好的方法判定启动硬盘到底挂在哪个hwid的控制器下面),那么0x0000007B蓝屏就无法避免。
回复

使用道具 举报

17#
发表于 2010-2-28 22:32:32 | 只看该作者
原帖由 coolg 于 2010-2-28 15:18 发表
论坛上有很多上好的模板,但操作都 有点麻烦,我等笨笨,最好有傻瓜点的(如一键什么什么的)


嗯嗯,严重同意,,,对我等笨笨来说:

最好可以把内核中 SYSTEM32\DRIVERS文件夹移到外面,启动时,按一个回车,“铛”的下,就自动识别磁盘驱动器,驱动进入PE

也就是说,完全把磁盘驱动变为外置,,,就象加载网络支持的.CAB一样进行安装

[ 本帖最后由 网虫2008 于 2010-2-28 22:34 编辑 ]
回复

使用道具 举报

18#
发表于 2010-2-28 23:02:17 | 只看该作者
原帖由 网虫2008 于 2010-2-28 22:32 发表


嗯嗯,严重同意,,,对我等笨笨来说:

最好可以把内核中 SYSTEM32\DRIVERS文件夹移到外面,启动时,按一个回车,“铛”的下,就自动识别磁盘驱动器,驱动进入PE

也就是说,完全把磁盘驱动变为外置,, ...



等N版的chkacpi出来以后,也许就可以这样了。。。。
回复

使用道具 举报

19#
发表于 2010-2-28 23:15:50 | 只看该作者
原帖由 zhhsh 于 2010-2-28 14:59 发表
用没有朋友知道ramdisk启动必须要ISO文件跟winnt.sif在同一个分区这个问题,怎么解决好?

你是指setupldr.bin加载ramdisk镜像时所用的winnt.sif,还是指自动安装所用的winnt.sif?

如果是前者,用arc路径来加载其他分区中的iso的
  1. OsLoadOptions = "/noguiboot /fastdetect /rdexportascd /rdpath=multi(0)disk(0)rdisk(0)partition(2)\cmdcons.iso"
复制代码
如果是后者,字符安装阶段会自动读取软盘根目录的winnt.sif文件的。
可以把winnt.sif放到F6软驱镜像,并配合firadisk驱动,从而可以在字符安装阶段利用虚拟软驱中的winnt.sif
回复

使用道具 举报

20#
发表于 2010-3-1 00:25:33 | 只看该作者
希望这个技术攻关能成功,那就方便不少,我这样的菜菜不懂这一些驱动及相关深层次的东西,只能在旁给各位专业认识摇旗呐喊了。
回复

使用道具 举报

21#
 楼主| 发表于 2010-3-1 08:12:22 | 只看该作者
原帖由 chenall 于 2010-2-28 23:02 发表



等N版的chkacpi出来以后,也许就可以这样了。。。。


C大回来了,N版的chkacpi不知什么时候能放出,久等了...
问C大,http://bbs.wuyou.net/forum.php?mod=viewthread&tid=121168&extra=page%3D7&page=161问题怎么解决?

[ 本帖最后由 zhaohj 于 2010-3-1 08:17 编辑 ]
回复

使用道具 举报

22#
 楼主| 发表于 2010-3-18 09:24:06 | 只看该作者
修正一下,当为IDE硬盘或默认为空及非本机OEM驱动的情况:
:OEM
str a:\txtsetup.oem 0 0 /r /mix:\09= /asc:= /a >nul
str a:\txtsetup.oem 0 0 /r /mix:\09= /asc:= /a >nul
inifile a:\txtsetup.oem [scsi]|lmod /l* inifile a:\txtsetup.oem [[HardwareIds.scsi.[$2]][~124]lmod /l* $[[$3]=[$2][~62][~62]F6.tmp>_gethid.bat
call _gethid.bat
del _gethid.bat
<F6.tmp sort /*-2>F6.pci
del F6.tmp
if not exist F6.pci goto F6end
cd|lmod $[~255][-]>>F6.pci
>nul copy /Y CHKPCI.BIN /B + F6.pci /B F6.com
del F6.pci
F6.COM|lmod set F6DEF=[$2]>_gethid.bat
call _gethid.bat
F6.COM|lmod set HWID=[$1]>_gethid.bat
del f6.com
call _gethid.bat
del _gethid.bat
inifile a:\txtsetup.oem [Defaults] /remove
>>a:\txtsetup.oem echo [Defaults]
if  "%F6DEF%"==""  goto :END
>>a:\txtsetup.oem  echo scsi=%F6DEF%
inifile a:\txtsetup.oem [HardwareIds.scsi.%F6DEF%]>f6.tmp
tfind /c "%HWID%" f6.tmp > f6.PCI
del f6.tmp
inifile a:\txtsetup.oem [HardwareIds.scsi.%F6DEF%] /remove
>>a:\txtsetup.oem echo [HardwareIds.scsi.%F6DEF%]
<F6.PCI lmod set F6DEF="[$3]","[$4]" >F6.BAT
del F6.PCI
call f6.bat
del f6.bat
>>a:\txtsetup.oem if not "%F6DEF%"=="" echo id = %F6DEF%
:END
回复

使用道具 举报

23#
发表于 2010-3-18 11:30:19 | 只看该作者
楼主有不少重要发现。0PEv1.0.8将免按F6。

0PE的BUFXP.GZ+KERNEL.ZIP可作为独立通用F6模块,用法参见:参数化菜单功能调用

0PEv1.0.8支持单个.sys/.sy_驱动文件不打包直接使用,参见:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=151165&page=2#pid1910595
回复

使用道具 举报

24#
 楼主| 发表于 2010-3-18 12:49:30 | 只看该作者
呵呵,向P大学习,从你那里学到了好多知识!
问一下这个地址http://bbs.wuyou.net/forum.php?m ... p;page=2#pid1910595会定位到某个具体页面的楼层,怎么来的?
回复

使用道具 举报

25#
发表于 2010-3-18 13:23:51 | 只看该作者

回复 #24 zhaohj 的帖子

每楼右上角有楼层编号显示,点一下。
回复

使用道具 举报

26#
 楼主| 发表于 2010-3-18 13:30:16 | 只看该作者
原帖由 pseudo 于 2010-3-18 13:23 发表
每楼右上角有楼层编号显示,点一下。


学习了。1.08何时放出?
回复

使用道具 举报

27#
发表于 2010-3-18 13:46:28 | 只看该作者
原帖由 zhaohj 于 2010-3-18 12:49 发表
呵呵,向P大学习,从你那里学到了好多知识!
问一下这个地址http://bbs.wuyou.net/forum.php?mod=viewthread&tid=151165&;page=2#pid1910595会定位到某个具体页面的楼层,怎么来的?

P大的东东这么好.为啥总不易找到明白址地而要人再来问?原因应在P大身上? 呵呵

[ 本帖最后由 xpxpxp1 于 2010-3-18 13:47 编辑 ]
回复

使用道具 举报

28#
发表于 2010-3-18 13:49:41 | 只看该作者
楼主真是强啊,我也是宁波的,呵呵
回复

使用道具 举报

29#
发表于 2010-3-19 20:33:53 | 只看该作者

回复 #1 zhaohj 的帖子

经常装机,就是想有能避免0x000007b的软件。
回复

使用道具 举报

30#
发表于 2010-3-19 22:17:38 | 只看该作者
原帖由 网虫2008 于 2010-2-28 22:32 发表


嗯嗯,严重同意,,,对我等笨笨来说:

最好可以把内核中 SYSTEM32\DRIVERS文件夹移到外面,启动时,按一个回车,“铛”的下,就自动识别磁盘驱动器,驱动进入PE

也就是说,完全把磁盘驱动变为外置,, ...

网虫大大也自称笨笨,实在让我这种真的笨笨无地自容了
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-16 23:01

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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