无忧启动论坛

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

(已解决)请各位大大看看新版SRS_F6真机测试无法启动控制台问题

[复制链接]
跳转到指定楼层
1#
发表于 2010-3-20 19:01:56 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
(已解决)请各位大大看看新版SRS_F6真机测试无法启动控制台问题

请各位大大看看新版SRS_F6真机测试无法启动控制台问题

最近做了两个控制台(xp/03),在FTP://60.190.190108/ZZHSH/20100320正式版下

================

虚拟机测试,用SRS_F6启动,全部正常。
真机测试,用SRS_F6启动,光盘、U盘、移动硬盘测试都没有问题,但PXE启动运行这两个控制台,都死机或重启。
以前版本的XP控制台也同样存在相同问题。
我的PXE运行其他PE都正常,OPE进入我的两个控制台也正常。

=============

真机测试,手动运行控制台(IDE硬盘下)
map --mem /SRS_F6/XPCMDCON (0xff) 或 map --mem /SRS_F6/2K3CONS.ISO (0xff)
map --hook
chainloader (0xff)
boot
也正常,说明这两个控制台没有错。

===============

找不到问题所在,特请各位高手帮忙解决。

C大、P大都来看看。

======================

问题解决,总结一下:

不点大人说“ 菜单中使用了 pxe keep 命令,则当 boot 命令执行时就不会执行 pxe unload 的动作了”。
正是这个pxe keep导致在chainloader /IO.SYS时,TSR驻留内存产生冲突。
0PE、CSPE等驱动外置的PE,千万不要使用pxe keep;如果使用,要在chainloader /IO.SYS前pxe unload,不然必死无疑


======================

[ 本帖最后由 zhaohj 于 2010-3-25 15:23 编辑 ]
39#
 楼主| 发表于 2010-5-21 12:27:07 | 只看该作者
原帖由 longwang 于 2010-5-21 12:22 发表
20100518测试版2003控制台蓝屏
via芯片组IDE硬盘
hwid:PCI\VEN_1106&DEV_0571
看了一下内部txtsetup.sif有驱动加载项,不知怎么回事。


还有啊,可能没有清理干净。我再看看。
回复

使用道具 举报

38#
发表于 2010-5-21 12:22:37 | 只看该作者
20100518测试版2003控制台蓝屏
via芯片组IDE硬盘
hwid:PCI\VEN_1106&DEV_0571
看了一下内部txtsetup.sif有驱动加载项,不知怎么回事。
回复

使用道具 举报

37#
发表于 2010-3-26 09:00:54 | 只看该作者
原帖由 zhaohj 于 2010-3-25 14:11 发表
今天证实了一下不点结论:“如果在菜单中使用了 pxe keep 命令,则当 boot 命令执行时就不会执行 pxe unload 的动作了。”

以前在测试0PE时,总菜单上(menu.lst\default)是没有pxe keep语句的。
而我在测 ...


好多情况下不执行pxe keep命令,是无法正常网启的
回复

使用道具 举报

36#
 楼主| 发表于 2010-3-26 08:52:08 | 只看该作者
PXE 的 BIOS 会占用 100多KB 的大量常规内存,由于pxe keep ,boot IO.SYS导致与100多KB 的大量常规内存发生冲突。
我曾经看到过这个过程,是说TSR rom的代码一大串变化,可惜当时没有截图。
这个过程可以重现,那些速度较慢的机器会显示这个过程。

有空我把这个过程截个图,以便于分析。
回复

使用道具 举报

35#
发表于 2010-3-26 06:39:05 | 只看该作者
做技术的,就应该把技术尽量弄清楚。实验固然重要,但是,理论也很重要。

试问,当你遇到那些执行 pxe unload 立即死机(或者重启)的机器,你又该怎么办?是你的软件淘汰掉那些机器,还是它们淘汰掉你的软件?

我认为,目前来讲,很要紧的一件事就是,把 pxe keep 之后究竟会出现什么问题彻底搞清楚。如果出现的问题表明,微软的系统无法运行(直接与微软发生冲突),那么你没办法,只好把那些机器淘汰掉。但是,如果不是微软的系统出问题了,而是其他工具出现了问题,那么,你还是有希望把兼容性做得更好,更上一层楼的。在这种情况下,需要找个替代品,或者是你自己重写一个替代软件。

总之,弄清原因是最重要的。究竟在技术上,什么地方发生了冲突(与谁发生了冲突),这应该弄清楚,而且也能够弄清楚。只要分析失败的过程,就可以弄清楚,这并不特别困难。

弄清楚原因之后,即便你仍然不想改进兼容性,也比没弄清原因要好,因为你掌握了深层的技术内幕。这有助于你预见其他问题的出现,并且一旦出现了问题,由于你知道其原因,因此能够轻松加以解决。

---------

因为 PXE 的 BIOS 会占用 100多KB 的大量常规内存,这有可能导致微软的启动程序在启动的某个环节上崩溃。如果确实是这样的,那么就放弃算了,因为微软的代码是封闭的,很难弄清楚。但是,如果不是这样的,那么总有改进的可能性。
回复

使用道具 举报

34#
 楼主| 发表于 2010-3-25 14:11:11 | 只看该作者
今天证实了一下不点结论:“如果在菜单中使用了 pxe keep 命令,则当 boot 命令执行时就不会执行 pxe unload 的动作了。”

以前在测试0PE时,总菜单上(menu.lst\default)是没有pxe keep语句的。
而我在测试SRS_F6时,总菜单上加了pxe keep语句。
后经测试,总菜单上加了pxe keep语句,0PE也死机。

以后, pxe keep语句不要乱用了。能不用尽量不用。切记!!!
回复

使用道具 举报

33#
 楼主| 发表于 2010-3-24 23:17:36 | 只看该作者
说到点子上了。“如果在菜单中使用了 pxe keep 命令,则当 boot 命令执行时就不会执行 pxe unload 的动作了。”

明天再证实一下结论。

不点大人说得对,DOS外部命令会造成GRLDR基本内存的破坏,这就是说不要轻易使用不熟悉的DOS下程序。
回复

使用道具 举报

32#
发表于 2010-3-24 20:26:31 | 只看该作者
原帖由 pseudo 于 2010-3-24 19:49 发表
有点不解的是,据zhaohj测试,0PE的F6模块在pxe场合也没出问题。而且一向没有用pxe unload。
所以本帖问题似乎还没解决。


这就更能说明问题了。不要轻易使用 pxe unload,而应该使用 pxe keep 来阻止默认的 pxe unload 动作。

如果事先没有执行 pxe keep 命令,则 boot 命令在执行的时候会顺便把 pxe unload 也执行了,然后才把控制权交给操作系统的引导代码。

zhaohj 的问题,他已经弄明白了,是 DOS 以后出的问题。这是完全可以理解的。DOS 程序与 PXE BIOS 发生了冲突。

因此,应该着力把不兼容的 DOS 程序找出来,这才是最要紧的。为了迎合硬件,我们只能淘汰掉不兼容的软件,这没得商量。

----------

看看我们以往曾经发生的事情。我们的 grub4dos 的磁盘仿真代码要占据 12KB 的常规内存。有些主板(板卡)的PXE要占据100多KB的常规内存。两者加起来就可能超过 128KB 了。这就成了一个潜在的问题。当启动 memtest 的时候,问题终于爆发了。memtest 使用的是很老的 Linux 内核格式,这种 Linux 内核格式对内存的使用也是很死板的,它使用固定的内存地址,不能避开 128KB 的冲突。这样的话,我们就只好放弃对于 memtest 的支持了。当然了,memtest 自己的开发人员也在寻求解决办法,他们会采用较新的 Linux 内核格式,这样就可以避免冲突了。

这一事例说明了一个道理:不能与硬件共存的,即便它是 Linux 也不行,也得改变它自己,而不是要求硬件去改变。
回复

使用道具 举报

31#
发表于 2010-3-24 19:58:54 | 只看该作者
原帖由 33445566 于 2010-3-24 16:36 发表


祝贺,等待新版

祝贺,等待新版.........
回复

使用道具 举报

30#
发表于 2010-3-24 19:49:45 | 只看该作者
有点不解的是,据zhaohj测试,0PE的F6模块在pxe场合也没出问题。而且一向没有用pxe unload。
所以本帖问题似乎还没解决。
回复

使用道具 举报

29#
发表于 2010-3-24 19:38:11 | 只看该作者
pxe 的情况非常复杂,处理起来必须十分小心。

有些机器,执行 pxe unload 就死掉了。所以,不可以假定 pxe unload 在所有的机器上都能顺利执行。

pxe unload 的执行过程实际上需要 PXE BIOS 的支持。如果主板不支持,则可能死掉。

如果在菜单中使用了 pxe keep 命令,则当 boot 命令执行时就不会执行 pxe unload 的动作了。建议为了保险起见(万无一失),请事先执行 pxe keep 命令,这样可以阻止 boot 命令的 pxe unload 的动作。

至于说 某个 DOS 程序与 PXE BIOS 不兼容,那就只好放弃那个 DOS 程序了。你总不可能放弃你的主板(板卡)吧?即便主板(板卡)有1000个毛病,你都得迁就它,对吧?你总不可能把主板(板卡)扔了。

但是,那些不兼容的 DOS 程序,你总是可以研究的,你可以找到一些替代品。这些属于软件层面,是可以改变的。但是主板(板卡)可是你的硬件,想改变也难,除非你刷新你的主板(板卡) BIOS,但前提是厂家提供了 BIOS 升级程序。

当 PXE BIOS 占据大约 100KB 的常规内存之后,有些 DOS 程序就要与其发生冲突而死机(或者重启)了。建议把这些不兼容的 DOS 程序找出来,淘汰掉,换成兼容性良好的替代品。
回复

使用道具 举报

28#
发表于 2010-3-24 16:36:24 | 只看该作者
原帖由 zhaohj 于 2010-3-24 14:49 发表
问题找到了!自己庆祝一下^__^

pxe卸载问题,在chainloader /io.sys前判断是不是PXE启动,如果是退出PXE

具体语句在SRS_F6.IMG中的MENUSRS.LST中
checkrange 1 read 0x60064 && pxe unload (说明,这个 ...


祝贺,等待新版
回复

使用道具 举报

27#
 楼主| 发表于 2010-3-24 14:49:02 | 只看该作者
问题找到了!自己庆祝一下^__^

pxe卸载问题,在chainloader /io.sys前判断是不是PXE启动,如果是退出PXE

具体语句在SRS_F6.IMG中的MENUSRS.LST中
checkrange 1 read 0x60064 && pxe unload (说明,这个启动时已经定义)
rootnoverify (hd0,0) && chainloader ()/io.sys

不点、chenall 两位l大大看一下chainloader命令的代码,有空完善一下。

实际上我早应该想到PXE退出问题,这个以前也遇到过,单位的一台升技主板PXE启动死活进不了DOS镜像。
回复

使用道具 举报

26#
发表于 2010-3-24 14:30:01 | 只看该作者
@elai

sratlf 已经答复了你的问题:


原帖由 sratlf 于 2010-3-21 00:46 发表
elai 虚拟机测试出错是因为SRS_F6菜单写错了  部分iso文件名是小写的  特别是find中的iso文件名  

修改后在虚拟机中可以启动


你之所以失败,是因为在你的菜单中,iso 三个字母是小写的,因此 find 命令找不到文件,于是执行 rootnoverify (pd) 就出错了。

改成大写的就没问题了。

---------------

@zhaohj

DOS 中的有些 TSR 是无法与 grub.exe 兼容的。微软的 HIMEM 和 EMM386 似乎都兼容,但其他厂家生产的软件则可能不兼容。例如 天汇汉字系统就不兼容。另外已知微软的 doskey 也不兼容。执行 grub.exe 之前,请首先卸载 doskey 等不兼容的 TSR 程序。
回复

使用道具 举报

25#
 楼主| 发表于 2010-3-23 23:17:14 | 只看该作者
现在范围可以缩小了,PXE->grldr->dos->grub.exe
问题出在DOS阶段。有一次输入了错误的DOS命令,反而启动了。
config.sys配置不知有没有问题,那个HIMEM.SYS。
一定得解决这个难题,是哪个DOS命令(外部命令)捣鬼。
回复

使用道具 举报

24#
 楼主| 发表于 2010-3-23 18:42:21 | 只看该作者
可能想到的都测试了,控制台用硬盘镜像(压缩与不压缩)都测试了,最后用chainloader (hd0,0)/setupldr.bin,我单位的真机都死机。
也测试了另一种情况,先拷贝到kernel.img生成的硬盘(hd10),DOS处理完后再从(hd10)中映射控制台,真机测试也失败。

我无解了。上面的测试,光盘、U盘、虚拟机测试都正常。就PXE测试不正常。
回复

使用道具 举报

23#
发表于 2010-3-21 23:49:15 | 只看该作者
原帖由 elai 于 2010-3-21 23:13 发表
硬盘安装试了,把XPCMDCON.ISO或2K3CONS.ISO改名为WIN$.ISO,用OPE的SETUP /WIN$.ISO,
确实能正常进入控制台 !
硬盘安装我是将SRS_F6文件夹及GRLDR放在C盘,用GRLDR引导,不会也安装错误吧?

是我直接把SRS_F6.ISO改名WIN$.ISO调用时出现的错误提示“ERROR 23:  。。。”
图不是直接在0PE截的,是借用的。。。

明白了。

把SRS_F6.ISO改名WIN$.ISO,调用时出现错误提示,并不表示0PE错了。

那是0PE成功调用SRS_F6.ISO(改名WIN$.ISO),SRS_F6.ISO运行起来后,它自己在运行过程中报的错。

你试试把0PE.ISO改名WIN$.ISO,调用时报不报错就清楚了。

控制台的iso、老毛桃911的iso都可以拿来试。
回复

使用道具 举报

22#
发表于 2010-3-21 23:13:01 | 只看该作者
原帖由 zhaohj 于 2010-3-21 22:10 发表
17楼的方法不对,不应该把SRS_F6.ISO调用,而应该把XPCMDCON.ISO或2K3CONS.ISO改名为WIN$.ISO调用,用OPE的SETUP /WIN$.ISO
我已测试没问题。


硬盘安装试了,把XPCMDCON.ISO或2K3CONS.ISO改名为WIN$.ISO,用OPE的SETUP /WIN$.ISO,
确实能正常进入控制台 !
硬盘安装我是将SRS_F6文件夹及GRLDR放在C盘,用GRLDR引导,不会也安装错误吧?

原帖由 pseudo 于 2010-3-21 22:40 发表
[quote]原帖由 elai 于 2010-3-21 19:52 发表
今天下载FTP上最新的试了,放硬盘上启动时运行到SRS.ZIP则提示 file not found !
量产ISO启动,XP及2K3都能进入控 ...


是我直接把SRS_F6.ISO改名WIN$.ISO调用时出现的错误提示“ERROR 23:  。。。”
图不是直接在0PE截的,是借用的。。。

[ 本帖最后由 elai 于 2010-3-21 23:16 编辑 ]
回复

使用道具 举报

21#
发表于 2010-3-21 22:40:51 | 只看该作者
[quote]原帖由 elai 于 2010-3-21 19:52 发表
今天下载FTP上最新的试了,放硬盘上启动时运行到SRS.ZIP则提示 file not found !
量产ISO启动,XP及2K3都能进入控制台!
把控制台改成WIN$.ISO放在根目录,运行0PE (setup /WIN$.ISO)运行,出错如图:
....[quote]
此图看来不是在运行0PE,似乎搞混了....
回复

使用道具 举报

20#
 楼主| 发表于 2010-3-21 22:19:56 | 只看该作者
突然想起DOS下的CONFIG.SYS文件,配置不当会造成重启...
PXE --grldr--DOS--GRUB
回复

使用道具 举报

19#
 楼主| 发表于 2010-3-21 22:10:14 | 只看该作者
17楼的方法不对,不应该把SRS_F6.ISO调用,而应该把XPCMDCON.ISO或2K3CONS.ISO改名为WIN$.ISO调用,用OPE的SETUP /WIN$.ISO
我已测试没问题。
回复

使用道具 举报

18#
发表于 2010-3-21 20:38:03 | 只看该作者
原帖由 sratlf 于 2010-3-21 00:46 发表
elai 虚拟机测试出错是因为SRS_F6菜单写错了  部分iso文件名是小写的  特别是find中的iso文件名  

修改后在虚拟机中可以启动  2k3的启动没问题  xp的启动失败  老问题了  sys无法加载

实机没详细测试  用 ...


grub4dos很奇怪滴,莫名其妙的问题很多,新版反倒恢复了旧版的前一版的BUG。。。


1.先保证 引导定位的路径和文件名完全的一一对应,包括大小写

2.把菜单内置试试
回复

使用道具 举报

17#
发表于 2010-3-21 19:52:11 | 只看该作者
原帖由 zhaohj 于 2010-3-21 14:31 发表
光盘、U盘、硬盘测试都正常,就PXE启动不正常,看来是PXE问题。我无解了。

今天下载FTP上最新的试了,放硬盘上启动时运行到SRS.ZIP则提示 file not found !
量产ISO启动,XP及2K3都能进入控制台!
把控制台改成WIN$.ISO放在根目录,运行0PE (setup /WIN$.ISO)运行,出错如图:


[ 本帖最后由 elai 于 2010-3-21 20:16 编辑 ]
回复

使用道具 举报

16#
 楼主| 发表于 2010-3-21 14:31:58 | 只看该作者
光盘、U盘、硬盘测试都正常,就PXE启动不正常,看来是PXE问题。我无解了。
回复

使用道具 举报

15#
发表于 2010-3-21 11:35:04 | 只看该作者
关注一下,辛苦了.....
回复

使用道具 举报

14#
发表于 2010-3-21 11:21:30 | 只看该作者
哈哈~~又在折腾这个工具啊! 这个工具写的不错。我就是喜欢这里面的一个驱动注入功能~~ 先观望各位进一步修改。
回复

使用道具 举报

13#
 楼主| 发表于 2010-3-21 11:18:10 | 只看该作者
原帖由 pseudo 于 2010-3-21 00:57 发表
下载这个

0PEv1.0.7参数化菜单功能调用举例.rar
它就是独立通用F6模块。

已经有控制台菜单项(自己加菜单项也可以),把控制台的iso加入即可测试。

目前未发现G4D有问题。如果0PE的F6模块也有问题再说。


把我的控制台改成WIN$.ISO放在根目录,运行0PE (setup /WIN$.ISO)能顺利运行。
0PE技术就是先进。
但SRS_F6原理一样,看不出问题所在啊。
道理都明白,加载镜像,提供驱动,自动加载驱动运行之。
回复

使用道具 举报

12#
发表于 2010-3-21 00:57:49 | 只看该作者

回复 #10 zhaohj 的帖子

下载这个

0PEv1.0.7参数化菜单功能调用举例.rar
它就是独立通用F6模块。

已经有控制台菜单项(自己加菜单项也可以),把控制台的iso加入即可测试。

目前未发现G4D有问题。如果0PE的F6模块也有问题再说。
回复

使用道具 举报

11#
发表于 2010-3-21 00:46:11 | 只看该作者

回复 #10 zhaohj 的帖子

elai 虚拟机测试出错是因为SRS_F6菜单写错了  部分iso文件名是小写的  特别是find中的iso文件名  

修改后在虚拟机中可以启动  2k3的启动没问题  xp的启动失败  老问题了  sys无法加载

实机没详细测试  用usb-hdd启动失败  可以map iso  但加载SRS.ZIP时提示file not found  

直接放硬盘上启动时也这样  file not found

iso的没测试   明晚有时间话详细测试下
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-16 03:49

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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