无忧启动论坛

标题: paragon ifs driver加载grub问题 [打印本页]

作者: xjn147    时间: 2008-5-29 17:52
标题: paragon ifs driver加载grub问题
paragon ifs driver加载grub后为什么不能正常引导进xp系统
加载grub后还没引导进xp就死机,网上实在是找不到同类问题,不得以只好来无忧解惑,望各位前辈指教一二,小弟在此先行谢谢
作者: xypcmac    时间: 2008-5-30 00:29
1. 尽量用新版的 Grub4DOS 程序
2. 加载 Grub4DOS 前要先卸载 paragon ifs driver
3. 如果加载了其它修改DOS中断的程序也卸载,我记得TW好像也要卸载。
4. 加载 Grub4DOS前尽量不要加载太多其它程序
作者: Climbing    时间: 2008-5-30 09:08
基本上grub4dos中的grub.exe,启动时要求是纯DOS环境(DOS启动时按F5,此时跳过config.sys和autoexec.bat,不加载任何驱动程序),随着grub4dos的进步,现在在加载himem.sys和emm386.exe的情况下也不会死掉,但尽量避免加载任何其它的内存驻留程序,凡是修改DOS中断入口的程序都在禁止之列。

grub4dos启动时并不需要ifs,所以,不要加载它。建议楼主先在纯DOS环境下加载grub.exe,看能不能正常启动。
作者: xjn147    时间: 2008-5-30 14:07
在纯dos中加载grub引导进xp当然没问题,看来我的问题还是paragon ifs driver
1.有没什么方法能完全退出paragon ifs driver,回到纯dos
2.有没比paragon ifs driver更好的软件能代替
3.有没其他的方法,让我在dos下进入ntfs分区操作,完成操作后加载grub引导进xp系统
作者: xypcmac    时间: 2008-5-30 20:53
不知你用的是什么版本的 IFS 驱动,可以用 “xmsman -c” 来卸载。我做的DOS工具箱就是包括 Grub4dos 程序的,也包括TW(天汇中文平台)。启动时默认启动 TW 等光驱驱动和程序,有时接着也加载 IFS 驱动,这时,如果需要启动 GRUB.exe 程序,就会先卸载IFS(自动检测,有则卸载),再运行 "TW/Q|Grub"(退出TW,然后加载Grub.exe)。
作者: xjn147    时间: 2008-5-30 23:07
经仔细观察grub引导死机时的现象,和本人反复实验终于发现问题原因所在
xmsman -c 不能完全退出ifs回到dos,退不出的是中文支持文件 936.cpi
如果不需要中文操作的可以把加载936.cpi的参数删去,这样就可以用grub引导进xp(引导时有一个停顿,但是不影响系统引导)
作者: xypcmac    时间: 2008-5-31 10:04
起码在我两台机是没有问题的。
作者: 不点    时间: 2008-5-31 23:32
谢谢诸位,谢谢 Climbing,

我再补充一句。即使存在设备驱动以及 TSR,通常也是可以运行 grub.exe 的。到目前为止,确认无法支持的是天汇汉字系统。当然可能还有一些 TSR 不支持,不过还没人报告。遇到问题的人,请写一个详细的报告,发到时空论坛。

那些不支持的 TSR,通常是那些采用了反跟踪手段的 TSR。我们的 GRUB 在探测中断向量时,需要跟踪执行 DOS 下的中断服务程序。而那些反跟踪的 TSR 程序则把我们引入死胡同,导致死机或者重启。

请尽量使用不带反跟踪的正常的 TSR 程序作为替代品,避免使用那些反跟踪的 TSR 程序。

如果你不知道某个程序是否采取了反跟踪的手段,你可以根据 grub 执行时的出错现象完整地制作一个报告提交到sysoft时空论坛,我们会给出一个解决方案的。请记住一定用 http://grub4dos.jot.com/ 上的最新测试版作为 bug 报告的基础。
作者: netwinxp    时间: 2008-5-31 23:47
原帖由 不点 于 2008-5-31 23:32 发表
谢谢诸位,谢谢 Climbing,

我再补充一句。即使存在设备驱动以及 TSR,通常也是可以运行 grub.exe 的。到目前为止,确认无法支持的是天汇汉字系统。当然可能还有一些 TSR 不支持,不过还没人报告。遇到问题的 ...

反跟踪TSR导致TSR无法正确卸载?能否考虑抢在TSR之前先保存中断向量表,并且不使用DOS的内存分配功能(如果原来使用的话)?GRUB后面通常是跟操作系统的初始化,所以即使DOS的内存分配链断裂也应该不会导致当机。
作者: 不点    时间: 2008-6-1 01:49
反跟踪TSR导致TSR无法正确卸载?


grub.exe 并不尝试卸载 TSR;卸载 TSR 是其它软件的任务。我们的 grub.exe 不卸载 TSR,但是要跟踪执行每个中断,直到进入 ROM 的一刹那结束跟踪,此时记录 ROM 的入口地址,把它作为被跟踪的中断向量的原始地址(它应该就是通电自检后 BIOS 所赋予的中断向量值)。这就是中断向量的探测恢复过程。一般情况下,如果 TSR 不采用反跟踪手段,我们都是可以顺利完成探测的。目前只发现天汇汉字系统是采用反跟踪手段。除了天汇之外,其它软件都有可能通过探测。只要软件的反跟踪手段不太激烈,我们都有可能尝试去努力支持它(需要一个详细的 bug 报告才行)。

能否考虑抢在TSR之前先保存中断向量表?


这是其它专门用来卸载 TSR 的那些软件的任务。




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