无忧启动论坛

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

[原创] 抛砖引玉,一个动态生成SRS软盘的简单脚本(2011-09-27)

[复制链接]
121#
发表于 2011-8-22 16:39:17 | 只看该作者
我调试的时候为啥有的时候会出
filename must beeither an absolute pathname or blocklist
但有的时候不会出呢?
dpms.bat里面都是相对路径啊。
回复

使用道具 举报

122#
发表于 2011-8-22 16:54:23 | 只看该作者
原帖由 chenall 于 2011-8-22 15:55 发表
只要把firadisk驱动放到(fd1)里面再加补上INF/DLL等文件就可以用于安装系统了.

单个驱动不需要FIRADISK驱动就可以,要同时加载多个驱动就需要.

这些先放着吧,事实上,正常情况装系统使用一个SRS驱动就 ...


我测试了下安装系统。
虚拟出(fd0)之后,
cdrom --init
map --hook
chainloader (cd0)
boot

运行光驱,开始安装系统,可以格式化硬盘,说明是加载上驱动了。
但是格式化开始复制文件的时候,提示,请将标为 DPMS INSTALLATION DISK BY CHENAL的磁盘插入驱动器A:
回复

使用道具 举报

123#
 楼主| 发表于 2011-8-22 17:42:01 | 只看该作者

回复 #121 21212121 的帖子

需要更详细的信息,否则没有办法确定问题..

#122
这是正常的,目前不适用于安装系统.要用于安装系统还需要进行其它的处理.
回复

使用道具 举报

124#
发表于 2011-8-22 17:51:08 | 只看该作者
用老毛桃0911试了一下,按F6选中驱动后,还是找不到硬盘。
dpms.bat找到的驱动是N6,fd0里的文件有nvgts6.sys、txtsetup.oem。
看驱动也是对的,有点奇怪。

z11111111111111111111111.gif (10.21 KB, 下载次数: 138)

z11111111111111111111111.gif
回复

使用道具 举报

125#
 楼主| 发表于 2011-8-22 20:19:42 | 只看该作者

回复 #124 adef 的帖子

终于碰到一个使用NV版的了....

NV的不能正常使用是意料之中.因为NV的比较复杂.

如果有条件的话麻烦帮忙测试一下.直接使用NV原版的F6软盘,直接映射到(fd0)
不按F6看看能不能找到磁盘.

如果不能找到,再试试按F6的情况,说明一下具体的过程.也许有办法解决,否则无解.

我找不到NV的版来测试.
回复

使用道具 举报

126#
发表于 2011-8-22 21:30:16 | 只看该作者
将N6下面的全部文件做成img,映射为fd0,启动老毛桃0911,按F6指定驱动可以找到硬盘,不按F6找不到硬盘。
N6下面的文件,比官方驱动多了DPS_info.txt和nvgts6.sys(由nvgts.sys改名而来)两个文件,其他文件都和官方驱动一模一样。
dpms生成的fd0里面,有nvgts6.sys和txtsetup.oem,没有nvgts.sys。而txtsetup.oem中貌似没有指定nvgts6.sys,只指定了nvgts.sys?
不过下午我曾把txtsetup.oem中的nvgts.sys替换成nvgts6.sys,还是没找到硬盘。
回复

使用道具 举报

127#
 楼主| 发表于 2011-8-22 21:51:25 | 只看该作者
看了一下,这个驱动应该是正常的才对呀.也许还需要一个DLL文件?

麻烦再做几个测试
1.在你上面做好的IMG中删除所有DLL文件除了nvraidco.dll,(同时删除TXTSETUP.OEM里面对应的DLL行)
 在TXTSETUP.OEM中的[Defaults]添加一行SCSI=BUSDRV
 启动时不需要按F6(因为有加了DEFAULTS),这个测试,可能会成功也有可能失败.

2.如果上面的成功了,继续删除剩余的DLL文件,看看是否还是成功的.

3.如果1成功,2失败,那就是DLL文件的问题.如果两个都成功.那就和DLL无关,可以继续第4个测试

4.打开DRIVEPACK.INI,查找[N6]

ms_1_sysFile="nvgts6.sys"
改成
ms_1_sysFile="nvgts.sys"
保存再用DPMS来测试.

注: 如果第一个测试不按F6和按F6都失败,那后面的就不用测试了,和DLL文件有关.这个NV驱动只是单驱动的,还算比较简单如果是RAID的就比较麻烦了,要同时加载两个驱动.

[ 本帖最后由 chenall 于 2011-8-22 21:52 编辑 ]
回复

使用道具 举报

128#
发表于 2011-8-22 22:54:53 | 只看该作者

回复 #127 chenall 的帖子

1.成功
2.成功
4.失败
回复

使用道具 举报

129#
 楼主| 发表于 2011-8-22 23:38:09 | 只看该作者

回复 #128 adef 的帖子

难道和DLL文件没有关系?
到第二步完成时IMG里面的SYS文件应该只有nvgts.sys,没有DLL文件.

麻烦你再确认一下.

把[N6]里面的两个nvgts6全部改成nvgts再试试.
回复

使用道具 举报

130#
发表于 2011-8-23 07:12:47 | 只看该作者

回复 #129 chenall 的帖子

貌似和dll文件没关系,这是第二步中使用的img文件,能找到硬盘。


把N6中的ms_1_tag="nvgts6" ms_1_sysFile="nvgts6.sys"里面的nvgts6.sys都换成nvgts.sys,找不到硬盘。

0.gif (2.67 KB, 下载次数: 152)

0.gif
回复

使用道具 举报

131#
发表于 2011-8-23 07:43:39 | 只看该作者
说明[N6]中的txtsetup.oem也不完整,竟然没有默认scsi
但还需要找raid的NV版,需同时加载两个驱动。
回复

使用道具 举报

132#
发表于 2011-8-23 10:11:06 | 只看该作者
启动PE,txtsetup.oem我测试没有512字节限制。
回复

使用道具 举报

133#
发表于 2011-8-23 11:13:57 | 只看该作者
原帖由 adef 于 2011-8-23 07:12 发表
貌似和dll文件没关系,这是第二步中使用的img文件,能找到硬盘。


把N6中的ms_1_tag="nvgts6" ms_1_sysFile="nvgts6.sys"里面的nvgts6.sys都换成nvgts.sys,找不到硬盘。


哥们 你这个怎么截屏的?
实体机在DOS下除了照相还真不知道用啥截屏呢
回复

使用道具 举报

134#
 楼主| 发表于 2011-8-23 11:41:33 | 只看该作者

回复 #132 zhaohj 的帖子

我的测试只要TXTSETUP.OEM文件小于512字节就会出错。。
回复

使用道具 举报

135#
 楼主| 发表于 2011-8-23 11:43:51 | 只看该作者

回复 #130 adef 的帖子

现在比较大的区别就只有以下两点了
1.可启动的里面有两个SYS文件。
2.TXTSETUP.OEM

你可以继续测试进一步排查看看是哪一个地方的原因。

可以先删除可以用的IMG里面的NVGTS6.SYS文件。

再删除TXTSETUP.OEM里面的CONFIG段。
回复

使用道具 举报

136#
发表于 2011-8-23 11:44:27 | 只看该作者
又试了一下.
把[N6]中的nvgts6.sys替换成nvgts.sys,运行dpms.bat。启动zhaohj的ftp上的无驱动_完整PE.iso,按F6,能找到硬盘。启动老毛桃0911,按F6,找不到硬盘.
回复

使用道具 举报

137#
发表于 2011-8-23 11:46:09 | 只看该作者

回复 #133 21212121 的帖子

不是实机截屏。。。。。
回复

使用道具 举报

138#
 楼主| 发表于 2011-8-23 11:53:18 | 只看该作者

回复 #136 adef 的帖子

只要能加载那就算正常的,和PE也有关系。

有一些PE里面已经有这些驱动的注册表项目,会造成冲突。

具体你可以不加SRS驱动,驱动到PE,打开注册表
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
里面找一下NVGTS?的项目。

如果#136在无驱动PE下可以用,在911PE中不能用,那用原版的应该也是不行的。如果可以的话就比较奇怪了,需要查找区别在哪里。
回复

使用道具 举报

139#
发表于 2011-8-23 12:24:46 | 只看该作者

回复 #138 chenall 的帖子

dpms.bat生成的fd0可能和0911pe中的nvgts冲突了,看了一下0911pe中的nvgts版本为10.1.0.12,有点老了,0911pe注册表中nvgts部分为:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvgts]
"ImagePath"="nvgts.sy_"
"Type"=dword:00000001
"Start"=dword:00000003

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvgts\Enum]
"0"="PCI\\VEN_10DE&DEV_044D&SUBSYS_CB8410DE&REV_A3\\3&2411e6fe&0&50"
"Count"=dword:00000001
"NextInstance"=dword:00000001
"INITSTARTFAILED"=dword:00000001

不过把驱动做成img(只包含nvgts.sys和txtsetup.oem两个文件)映射为fd0,按F6后0911pe还是能找到硬盘。
回复

使用道具 举报

140#
发表于 2011-8-23 14:56:48 | 只看该作者
F6与PE中的注册表有冲突比较麻烦,只能改造PE了。
目前测试下来,F6的话PE中需要注册表Services纯净或至少不冲突。而txtsetup.sif的方式又必须写入注册表(需要注册的话)。
回复

使用道具 举报

141#
 楼主| 发表于 2011-8-23 15:50:59 | 只看该作者

回复 #139 adef 的帖子

用DPMS生成驱动再按F6能找到吗?

呵呵,我提倡使用纯净PE,呵呵

我的硬盘工具箱里面的NTXPPE(基于NATIVE),就是已经去掉了所有SRS驱动的,包括注册表也清理了.

用这个测试应该都可以正常使用.
回复

使用道具 举报

142#
发表于 2011-8-24 14:48:19 | 只看该作者
N版的继续测试啊。其他人有测试环境一起加油啊
回复

使用道具 举报

143#
 楼主| 发表于 2011-8-25 00:44:12 | 只看该作者
新上传一个测试版,现在如果有两个以上的驱动则自动使用(fd0),(fd1)存放驱动,这样就不需要按F6了.

(fd0) (fd1)的内容除了TXTSETUP.OEM文件里面的DEFAULTS不一样之外,其它的完全一样,所以

如果有多于2个的驱动可以按F6进行选择.

尝试解决NVRAID的驱动问题,有条件的可以试试.

碰到NVRAID类型的驱动,把到作为两个驱动(fd0),(fd1)


注: 必须使用2011-08-23以上的GRUB4DOS版本才可以使用..因为使用到了一些高级功能.

这个也是用于演示新增功能的用法(懂C语言的人可以尝试使用一下).

[ 本帖最后由 chenall 于 2011-8-25 14:31 编辑 ]
回复

使用道具 举报

144#
发表于 2011-8-25 08:14:20 | 只看该作者
原帖由 chenall 于 2011-8-25 00:44 发表
新上传一个测试版,现在如果有两个以上的驱动则自动使用(fd0),(fd1)存放驱动,这样就不需要按F6了.

(fd0) (fd1)的内容除了TXTSETUP.OEM文件里面的DEFAULTS不一样之外,其它的完全一样,所以

如果有多于2个的驱 ...

为啥引入F6.img呢?没看懂啥意思
回复

使用道具 举报

145#
 楼主| 发表于 2011-8-25 11:12:04 | 只看该作者

回复 #144 21212121 的帖子

因为使用FAT命令行成的软盘有问题,所以暂时使用F6.GZ来代替。
回复

使用道具 举报

146#
发表于 2011-8-25 11:18:42 | 只看该作者
C大用一个临时盘符(9)来存放驱动,确实方法简单。
PE启动如果按F6的话,因为[Disks]下面只有一个d1=...,那只有一个磁盘驱动
我认为这里要改一下(一改动全身)。

新功能能否详解?!
回复

使用道具 举报

147#
 楼主| 发表于 2011-8-25 11:29:36 | 只看该作者

回复 #146 zhaohj 的帖子

只有一个D1就行了,没有必要改动。

按F6一样可以驱动。

关于新的功能,自己看更新记录。我是为了方便调试,所以才想加上这个功能。

测试后发现这个有时还是挺有用的。

懂得写外部命令的看到更新记录自然就懂得用。不明白的不建议使用。因为有可能会调用到写盘的函数,由于参数错误导致写入错误的数据。
回复

使用道具 举报

148#
发表于 2011-8-25 12:07:16 | 只看该作者
哦,确实只要一个d1就行了。
F6阶段显示的是所有SCSI段落内容。
回复

使用道具 举报

149#
发表于 2011-8-25 12:56:29 | 只看该作者
原帖由 zhaohj 于 2011-8-25 11:18 发表
C大用一个临时盘符(9)来存放驱动,确实方法简单。
PE启动如果按F6的话,因为[Disks]下面只有一个d1=...,那只有一个磁盘驱动
我认为这里要改一下(一改动全身)。

新功能能否详解?!

F6可以看到所有的驱动,1个软驱里面有所有的驱动
我测试了下。双磁盘和单磁盘进PE  都没问题

如果C大能改进到安装系统,估计我会用你的单文件的就少了。哈哈,这个不用压缩啊 解包啊,并且可以使用现成的磁盘驱动。自己添加也很简单

[ 本帖最后由 21212121 于 2011-8-25 13:08 编辑 ]
回复

使用道具 举报

150#
发表于 2011-8-25 14:04:47 | 只看该作者
下载了最新的0823GRUB不能运行……提示版本不对,ECHO XXXXXXXXXXXXXXXXXXXXXX08-23
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-26 20:22

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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