无忧启动论坛

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

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

[复制链接]
181#
发表于 2011-8-26 23:47:21 | 只看该作者
回复

使用道具 举报

182#
发表于 2011-8-27 10:25:12 | 只看该作者
休眠功能不错:
call #73 秒数
如休眠5秒:
call #73 5
回复

使用道具 举报

183#
发表于 2011-8-27 10:42:48 | 只看该作者
原帖由 zhaohj 于 2011-8-27 10:25 发表
休眠功能不错:
call #73 秒数
如休眠5秒:
call #73 5

呵呵 是不错 我试了一下  相当于DOS的ping 延迟几秒吧?
回复

使用道具 举报

184#
发表于 2011-8-30 14:12:41 | 只看该作者
C大继续完善 呵呵 我等着新程序呢
回复

使用道具 举报

185#
发表于 2011-8-30 14:42:09 | 只看该作者
原帖由 chenall 于 2011-8-26 23:11 发表

目前所有GRUB4DOS的接口函数都可以直接在命令行下使用

call #n 的方式来调用,关键是参数要正确,有些函数还需要自己组装参数.


这可能就是不点行内注释补丁出错的原因了,“ #”已经被挪作他用了,看来行内注释只能使用“ ;”了。

[ 本帖最后由 2011_dihuo0 于 2011-8-30 14:44 编辑 ]
回复

使用道具 举报

186#
 楼主| 发表于 2011-8-30 15:34:48 | 只看该作者
内行注释补丁出错? 是怎么出错了.
回复

使用道具 举报

187#
发表于 2011-8-31 15:08:04 | 只看该作者
今天整一个IBM的服务器,有没加载上硬盘驱动,我用的板载的raid做的raid1,
进PE之后没有发现硬盘,用DPMS.BAT,发现硬盘驱动2个,
PCI\VEN_8086&DEV_2822&SUBSYS_03CE1014&CC_010400&REV_05
PCI\VEN_1000&DEV_0058&SUBSYS_03961014&CC_010000&REV_08
我用别的PE 进去之后发现硬盘控制器为IDE,不需要驱动的,不知道为啥这个没有发现
回复

使用道具 举报

188#
发表于 2011-8-31 15:53:29 | 只看该作者
可用这个:
0PEv1.3.1(2011-08-30)XP中文版67MB.zip

试试几种情形:
1. 使用默认自动选的驱动
2. 手选/0PE/SRS/1.ZIP
3. 手选/0PE/SRS/IASTOR.SY_(8.9.6版)
4. 手选/0PE/SRS/FREQUENT/IASTOR.SY_(10.x版)

进PE后用DiskGenius350.exe查看硬盘。
回复

使用道具 举报

189#
 楼主| 发表于 2011-8-31 16:02:16 | 只看该作者

回复 #187 21212121 的帖子

如果DPMS可以检测得到,有可能为如下原因.

1.和原PE内置的驱动起冲突了.
2.DPMS生成的驱动有问题.

你可以启动时按F6手工加载试试.
回复

使用道具 举报

190#
发表于 2011-8-31 20:52:23 | 只看该作者
我手动加载了 IASTOR8.sy  还是不行。有可能时候驱动冲突造成的,明天 我用了ftp上的无驱PE 试试
回复

使用道具 举报

191#
发表于 2011-8-31 20:56:05 | 只看该作者
原帖由 pseudo 于 2011-8-31 15:53 发表
可用这个:
0PEv1.3.1(2011-08-30)XP中文版67MB.zip

试试几种情形:
1. 使用默认自动选的驱动
2. 手选/0PE/SRS/1.ZIP
3. 手选/0PE/SRS/IASTOR.SY_(8.9.6版)
4. 手选/0PE/SRS/FREQUENT/IASTOR.SY_(1 ...

我用WIN7PE和其他很多PE 都能找到硬盘,我喜欢C大的这个开源的程序,所以有情况我会测试的  呵呵
0PE是不错,但是我看不懂也不会改,搞的有点复杂。嘻嘻 抱歉
回复

使用道具 举报

192#
发表于 2011-9-2 16:36:06 | 只看该作者

回复 #169 chenall 的帖子

这种方式附加文件后的批处理不能再gz压缩,否则会出错。
回复

使用道具 举报

193#
发表于 2011-9-2 16:40:43 | 只看该作者
原帖由 zxw 于 2011-9-2 16:36 发表
这种方式附加文件后的批处理不能再gz压缩,否则会出错。

所以我不建议使用附加,多一个文件也没啥不好的
回复

使用道具 举报

194#
 楼主| 发表于 2011-9-3 09:49:32 | 只看该作者
原帖由 zxw 于 2011-9-2 16:36 发表
这种方式附加文件后的批处理不能再gz压缩,否则会出错。



看来必须使用终级杀手锏了...

新的版本,没有任何限制,即使是用insmod的批处理也可以提取,这个是附加单文件版的.有兴趣可以改成多文件的...目前来说单文件就足够了.

::echo %@time% $[0107]Loading inline file $[0102]F6.GZ......
::从0x1400000处开始查找
set b=0x1400000
:check_next_addr
set /A b=%b%+0x40
::查找正在运行的批处理文件地址位置.在0x1400000 - 0x1600000 之间查找
cat --locate=!BAT --number=1 --locate-align=0x10 --skip=%b% (md)+0xB000 | set a=
if not exist a && exit
::找到了
set /A b=0x%a%
::确定是否需要的.
::以下两句,大家可以不必理会,真想弄明白为什么,需要研究一下GRUB4DOS的程序运行机制.
::就是在PSP中查找执行的命令行.
set /A a=%b%-0x10
set /A a=%b%-*%a%
::调用函数strcmp比较,如果成功返回0,代表找到的就是目前正在运行的批处理.
::如果是直接运行的批处理,正常情况下第一次就可以找到了.由几个批处理调用的就需要找几次.
call Fn.15 %a% "%0" && goto :check_next_addr
::把rd-base设置上面找到的批处理
map --rd-base=%b%
::设置rd-size长度为本批处理文件的大小.
set /a b=%b%-20
set /a b=*%b%
map --rd-size=%b%
cat --locate=\x1F\x8B --number=1 (rd)+1 | set a=
if not exist a exit
calc *0x82d0=*0x82d0+0x%a%
calc *0x82d8=*0x82d8-0x%a%
::echo %@time% $[0107]map inline file $[0102]F6.GZ $[0107]at $[0102]%b% $[0107]to driver $[0102](rd)!
回复

使用道具 举报

195#
发表于 2011-9-3 12:15:18 | 只看该作者
用vm虚拟机做了两个不同的SCSI,启动无内置SRS的PE,完全识别两种不同SCSI硬盘。

[ 本帖最后由 zhaohj 于 2011-9-3 12:37 编辑 ]

Snap1.jpg (89.48 KB, 下载次数: 181)

Snap1.jpg

Snap2.jpg (75.87 KB, 下载次数: 186)

Snap2.jpg
回复

使用道具 举报

196#
发表于 2011-9-3 12:45:42 | 只看该作者
但改成下面出错了,很奇怪!

Snap3.jpg (80.77 KB, 下载次数: 185)

Snap3.jpg

Snap4.jpg (17.51 KB, 下载次数: 188)

Snap4.jpg
回复

使用道具 举报

197#
发表于 2011-9-3 13:01:20 | 只看该作者
经过分析,
PCI\VEN_1000&DEV_0030
PCI\VEN_1000&DEV_0054应该属于同一种驱动。
下面的测试,有点矛盾:

Snap5.jpg (139.4 KB, 下载次数: 180)

Snap5.jpg
回复

使用道具 举报

198#
发表于 2011-9-3 13:23:10 | 只看该作者

我的昨出现这个报错?

title 开始     PE
/myff/dpms/dpms.bat
echo $[1106] loading fengfanpe, please wait ...
map /myff/fengfanpe.iso (0xff) || find --set-root /myff/fengfanpe.iso && map /myff/fengfanpe.iso (0xff)
map --hook
chainloader (0xff)

0002.jpg (35.87 KB, 下载次数: 133)

0002.jpg
回复

使用道具 举报

199#
发表于 2011-9-3 13:35:41 | 只看该作者
这是因为内存中没清理干净引起的。
下面这句:
fat mkfile size=4096 (9)/chkpci.pci
改成:
if not exist (9)/chkpci.pci fat mkfile size=4096 (9)/chkpci.pci

注意用notepad2修改。

目前测试,chkpci 还需要修正。

[ 本帖最后由 zhaohj 于 2011-9-3 13:38 编辑 ]
回复

使用道具 举报

200#
 楼主| 发表于 2011-9-3 14:15:14 | 只看该作者

回复 #199 zhaohj 的帖子

CHKPCI的问题是因为我偷懒引起的..

稍后我再研究一下看看怎么改才好.
回复

使用道具 举报

201#
 楼主| 发表于 2011-9-3 15:59:12 | 只看该作者
试试新的CHKPCI.

chkpci-2011-09-03.zip

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

回复

使用道具 举报

202#
发表于 2011-9-3 16:11:04 | 只看该作者
一次性解决!牛啊

[ 本帖最后由 zhaohj 于 2011-9-3 16:27 编辑 ]

Snap1.jpg (60.93 KB, 下载次数: 195)

Snap1.jpg

Snap2.jpg (92.65 KB, 下载次数: 177)

Snap2.jpg

Snap3.jpg (38.56 KB, 下载次数: 204)

Snap3.jpg
回复

使用道具 举报

203#
发表于 2011-9-3 17:24:52 | 只看该作者
回复

使用道具 举报

204#
发表于 2011-9-3 18:33:42 | 只看该作者

这个报错,何解?

这个报错,何解?

0005.jpg (32.11 KB, 下载次数: 156)

0005.jpg
回复

使用道具 举报

205#
发表于 2011-9-3 18:47:20 | 只看该作者

回复 #204 2011newscat 的帖子

不是说了要最新版(grub4dos-0.4.5b-2011-09-03.7z)
回复

使用道具 举报

206#
发表于 2011-9-3 20:03:24 | 只看该作者

没问题就是最新版。

没问题就是最新版。

0006.jpg (10.12 KB, 下载次数: 147)

0006.jpg
回复

使用道具 举报

207#
 楼主| 发表于 2011-9-3 20:34:32 | 只看该作者

回复 #204 2011newscat 的帖子

DPMS.BAT和GRUB4DOS版本不配对。

最新版的DPMS.BAT必须配合最新版的GRUB4DOS。
旧版的只能用老板的。

请到一楼下载最新版本。
回复

使用道具 举报

208#
发表于 2011-9-3 21:09:31 | 只看该作者

一次也未成功过,现在又是这个提示

一次也未成功过,现在又是这个提示

0007.jpg (25.94 KB, 下载次数: 155)

0007.jpg
回复

使用道具 举报

209#
 楼主| 发表于 2011-9-3 21:55:55 | 只看该作者

回复 #208 2011newscat 的帖子

可能你的启动环境比较复杂。

你可以试试在启动之初不加载任何内容就直接执行DPMS看看。

这个目前还只是测试版,如果可以的话你可以提供更详细的信息,以帮助解决问题。

比如先
debug 3
然后再执行dpms.bat

把出错的地方记录下来。

[ 本帖最后由 chenall 于 2011-9-3 22:01 编辑 ]
回复

使用道具 举报

210#
发表于 2011-9-3 22:14:40 | 只看该作者

加了你说的debug 3 后进入单步执行模式:

加了你说的debug 3 后进入单步执行模式:

0008.jpg (40.61 KB, 下载次数: 147)

0008.jpg
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-17 12:24

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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