无忧启动论坛

标题: grub4dos在老机器上启动有严重问题 [打印本页]

作者: ekaromay    时间: 2012-3-1 17:45
标题: grub4dos在老机器上启动有严重问题
这台机器比较老了,是sis630芯片组的,p3时代的机器,主要症状是用任何情况下进入dos然后运行grub.exe来引导硬盘引导扇区,或者硬盘上的任意ldr(grldr,ntldr)文件时都必然死机(dos下完全没有加载任何驱动和tsr,himem和emm386都没有加载,仅仅是纯dos),但硬盘并非不可读,进入grub.exe后用ls可以列出文件列表,find也可以列出所有分区

而只要不进入dos的情况下,例如硬盘直接引导ntldr然后再引导grldr这样的操作循环数次都依然能继续引导,但只要中途一进纯dos环境,例如引导一个纯dos的软盘镜像或者引导硬盘上的io.sys进入纯dos,之后再运行grub.exe来继续下步引导就必定死机

请问这样的问题该如何解决呢?当然这台机器老了一点,也许bios可能有严重的bug,希望grub4dos的开发者能来解决一下,如果太忙的话,就不麻烦了,我就是想老机器能发挥下余热而已
作者: pseudo    时间: 2012-3-1 18:30
原帖由 ekaromay 于 2012-3-1 17:45 发表
这台机器比较老了,是sis630芯片组的,p3时代的机器,主要症状是用任何情况下进入dos然后运行grub.exe来引导硬盘引导扇区,或者硬盘上的任意ldr(grldr,ntldr)文件时都必然死机(dos下完全没有加载任何驱动和t ...

版本?操作?

先试试能否启动这个PE吧:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=203655&extra=page%3D4

如果不支持U盘启动,就修改boot.ini,加入
c:\grldr="PE"
并把所提供的grldr和iso两个文件放入c:盘根目录。

启动时有3秒读秒提示,回车、不回车两种情形都试一下。基本上就有结论了。
作者: ekaromay    时间: 2012-3-1 19:17
这机器不支持u盘启动,我也试过用0pe,很好用,我其他机器都可以用0pe来启动,但这台老机器一样死在进入0pe前的最后一步引导setupldr.bin上
作者: pseudo    时间: 2012-3-1 19:50
标题: 回复 #3 ekaromay 的帖子
回车、不回车两种情形都试了?
我给出链接的版本,其中一种应该没问题。
作者: ekaromay    时间: 2012-3-1 21:35
都不行,主要是最后一步引导setupldr.bin准备进入pe的时候一定死机,似乎不是某个pe的问题,而是所有pe都存在这样的问题,就是在引导各类ldr文件之前只要进入过dos,就一定死机,非常怪异的问题
你的0pe是在进入pe前有创建过内存盘并且进入过dos的吧?那就肯定死掉了

现在我的机器只能老老实实地在运行硬盘的xp,或者运行一些不进入dos的pe,没有什么好的方法了
作者: pseudo    时间: 2012-3-1 22:16
标题: 回复 #5 ekaromay 的帖子
回车情形没经过dos。

你也可以删除dos.gz组件,那样不管是否回车,都无dos影子了。
如果这样仍不行,那要么pe有bug(可换台机器看看),要么你一楼说法不成立。
作者: ekaromay    时间: 2012-3-2 13:00
还是不行啊,已经删除了dos.gz,看起来似乎都没经过dos.gz处理过的,但依然死机,不过我发现死机的现象基本上与进入dos后运行grub.exe再引导有关,但现在也照样死机,那我就不清楚为何死机了,不过我的机器内存是240m(有16m是集成显卡占用了),不知道这是否有关
作者: 不点    时间: 2012-3-2 15:26
没有 DOS 照样死机,证明了此故障与 DOS 无关。非常好的证明。赞。

那么,是不是与仿真磁盘有关呢?这种情况也很常见,有些新型的电脑,不适应仿真磁盘。不过你那台是旧电脑,就不得而知了。还是你自己先尝试定位问题、缩小范围吧。
作者: 星语风    时间: 2012-3-2 15:44
曾经同样的SIS630主板,是华硕的TUSI-M,用fbinsttools 1.605制作的启动盘,能成功启动UD区的GRUB4DOS(0.45C 20120202,好象是这个版),但找不到放在可见区的menu.lst。

ls dev 只看到有 fd ud rd hd,列一下目录,都不是U盘可见分区

由于机器较老,没去继续折腾了,用光盘启动了事,呵呵
作者: ekaromay    时间: 2012-3-2 16:19
但问题是否不是dos的问题倒也说不定,用map --mem加载纯dos的镜像后运行grub.exe引导硬盘启动扇区(硬盘启动扇区是引导ntldr的)和所有ldr文件都死机,但刚刚试过chainloader /io.sys却能进入硬盘上的dos,硬盘上也就只有这个文件能引导,而且进入硬盘dos后再运行grub.exe重复chainloader /io.sys同样操作数次一样不死机,操作数次后如果还想用grub.exe引导硬盘ldr文件那就必死了,似乎这台机器一进入过dos就无法从dos里跳出来似的
我试过老毛桃的pe,将整个iso map到内存上启动都没问题,但当然那时没进dos,就是直接硬盘引导到grldr来操作了,就是内存少点而已,但不死机啊,不像是仿真磁盘有问题
作者: 不点    时间: 2012-3-2 17:03
怎么解释 0pe 不涉及 DOS 的启动仍旧死机?此问题属于 “ 边缘科学 ”,有待进一步论证。
作者: ekaromay    时间: 2012-3-2 18:55
刚才再次测试,发现当io.sys是131100字节的ms dos 7.1标准版时,用该io.sys做dos核心运行grub.exe后chainloader硬盘上的grldr出现Invalid or unsupported executable format错误,看来似乎是内存被破坏了,然后用125960字节的那个修改版io.sys则ntldr和grldr都能显示Will boot XXLDR from...的信息,但boot后照样死机,dos绝对是纯的,没加载任何驱动tsr,实在极其怪异的问题,该从何入手?或许这台机器的bios太多bug了?
作者: pseudo    时间: 2012-3-2 20:01
chainloader调用grldr时,加了--force参数吗?
作者: 不点    时间: 2012-3-2 20:12
win98 原版的 dos 怎么样?freedos 怎么样?
作者: 2011hwo1    时间: 2012-3-3 08:39
io.sys是131100字节的
和125960字节的那个修改版io.sys 都是修改版的
作者: 2011hwo1    时间: 2012-3-3 08:40
只有200多k的是原版
作者: 2011hwo1    时间: 2012-3-3 08:42
修改版的io.sys有的不能在硬盘上运行,有的不能在软盘是运行
作者: ekaromay    时间: 2012-3-3 12:13
win98原版io.sys(224150字节)与msdos 7.1标准版(131100字节)都是一样的错误Invalid or unsupported executable format
freedos尚未测试过,通常我是希望用msdos而已
125960字节的io.sys能检测出ldr文件,难道是这文件小一点,有多些内存空间可用?
我用calc *0x413查看可用常规内存为627k,命令行上显示为639k,中间相差12k,这是为什么呢?或许有某些代码在干扰?
也许是我不太懂的原因,calc *0x413这个命令也是找了一些贴子后试试的,这是否有关我也不知道。。。
怎样才能获取引导时更详细的数据资料呢?我也没什么时间去测试了,机器都是老机,能解决就解决,不能就算了



还有125960字节那个修改版io.sys不能从硬盘引导,我是在软盘镜像里放进去然后map --mem引导的,也不知道是否有关,但总之微软系统版本的io.sys都是不能chainloader ldr文件的

[ 本帖最后由 ekaromay 于 2012-3-3 12:23 编辑 ]
作者: mahuniu    时间: 2012-3-3 17:28
楼主的dos是grub4dos的仿真启动盘吧?你不要用grub4dos进dos而是直接启动c盘的dos,而后grub.exe,应该可以呀——好象在仿真环境中再次仿真会有问题的
作者: 不点    时间: 2012-3-4 11:13
我在等 freedos 的测试结果。




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3