中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: GRUB4DOS的一个疑惑!!! 上一主题 | 下一主题
zhaojun1a
新手上路





积分 8
发帖 3
注册 2007-3-30
状态 离线
『楼 主』:  GRUB4DOS的一个疑惑!!!

尊敬的GRUB4DOS开发者:

    您好!
    我现在遇到这样一个问题,请你指教!

    我在fedora4下(内核版本:2.6.15)使用grub4dos。
过程:
    1、kexec -l grub.exe;
    2、kexec -e;
    3、然后进入grub4dos的菜单选项后,我选择进入windowsxp。
我用不同版本的grub.exe进行尝试,结果有的能启动xp,但cpu利用率为100%;有的不能启动xp。
    为什么呢???恳请您帮忙解决。非常感谢!!!

2007-3-30 02:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
不点
银牌会员

不甘寂寞的人


积分 2491
发帖 1115
注册 2003-9-24
状态 离线
『第 2 楼』:  

我不用 XP,但是我好像也遇到过类似的问题,我是在用 KEXEC 进入 GRUB 之后接着再启动 LINUX 时遇到启动过程缓慢的问题,但进入 LINUX 后正常。怀疑和 BIOS 有关。

另外,由于 LINUX 运行于 386 保护模式,它更改了系统硬件信息,比如它把可编程中断控制器进行了重新编程,让硬件中断所对应的软件中断号发生了变化。GRUB.EXE 对此进行了处理,所以,此处应当没有问题了。然而,LINUX 内核或许还更改了别的硬件,比如说 PCI 的信息。我不知道如何能够把经过 LINUX 改动过了的 PCI 信息还原到 BIOS 的初始状态,所以,这样就有可能造成启动某个操作系统出现不同的响应。

你也可以向 KEXEC 的作者反映这一问题,希望他能够在 KEXEC 中做好 PCI 设备的初始化工作,以便让 GRUB.EXE 能够获得一个可靠的实模式环境。

当然,LINUS 本人也比较容易做出这个改动。PCI 的初始化是 LINUS 作的,他应该知道如何还原 PCI 到 LINUX 内核接管控制之前的状态(实模式)。



因为我们亲手创建,这个世界更加美丽。
2007-3-30 05:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhaojun1a
新手上路





积分 8
发帖 3
注册 2007-3-30
状态 离线
『第 3 楼』:  

1、kexec -l grub.exe;
    2、kexec -e;
    3、然后进入grub4dos的菜单选项后,我选择进入windowsxp。
如果linux改变硬件设置的话。
为什么我选择l进入linux,并没有发现任何问题啊,
但是选择winxp,就不行呢?

2007-3-30 07:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
不点
银牌会员

不甘寂寞的人


积分 2491
发帖 1115
注册 2003-9-24
状态 离线
『第 4 楼』:  

这正说明是 Linux 改变了硬件环境所造成的。Linux 改变了硬件环境之后,进入 LINUX 后,Linux 就感到很舒服。但是 WinXP 就不一定会感到舒服了。虽然它们都是保护模式的操作系统,但是,它们对硬件的处理是有很大差别的。经过了 LINUX 初始化的硬件,只能适应 LINUX 的运行。如果 WINXP 能够自己全面做好初始化,我估计 XP 也可以正常启动运行。但是 XP 是微软的,我们不能修改它,因此我们只能修改 GRUB 、KEXEC 以及 LINUX,来达到目的。这个工作不容易呀,需要研究 Linux 内核的硬件初始化过程。你不妨试试。



因为我们亲手创建,这个世界更加美丽。
2007-3-30 11:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: