中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-25 03:34
中国DOS联盟论坛 » GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区 » GRUB4DOS的一个疑惑!!! 查看 1,133 回复 3
楼 主 GRUB4DOS的一个疑惑!!! 发表于 2007-03-30 02:17 ·  中国 湖北 武汉 电信
新手上路
积分 8
发帖 3
注册 2007-03-30 01:57
19年会员
UID 83334
性别 男
状态 离线
尊敬的GRUB4DOS开发者:

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

我在fedora4下(内核版本:2.6.15)使用grub4dos。
过程:
1、kexec -l grub.exe;
2、kexec -e;
3、然后进入grub4dos的菜单选项后,我选择进入windowsxp。
我用不同版本的grub.exe进行尝试,结果有的能启动xp,但cpu利用率为100%;有的不能启动xp。
为什么呢???恳请您帮忙解决。非常感谢!!!
2 发表于 2007-03-30 05:42 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
积分 2,491
发帖 1,115
注册 2003-09-24 00:00
22年会员
UID 10292
性别 男
状态 离线
我不用 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 内核接管控制之前的状态(实模式)。
因为我们亲手创建,这个世界更加美丽。
3 发表于 2007-03-30 07:03 ·  中国 湖北 武汉 电信
新手上路
积分 8
发帖 3
注册 2007-03-30 01:57
19年会员
UID 83334
性别 男
状态 离线
1、kexec -l grub.exe;
2、kexec -e;
3、然后进入grub4dos的菜单选项后,我选择进入windowsxp。
如果linux改变硬件设置的话。
为什么我选择l进入linux,并没有发现任何问题啊,
但是选择winxp,就不行呢?
4 发表于 2007-03-30 11:18 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
积分 2,491
发帖 1,115
注册 2003-09-24 00:00
22年会员
UID 10292
性别 男
状态 离线
这正说明是 Linux 改变了硬件环境所造成的。Linux 改变了硬件环境之后,进入 LINUX 后,Linux 就感到很舒服。但是 WinXP 就不一定会感到舒服了。虽然它们都是保护模式的操作系统,但是,它们对硬件的处理是有很大差别的。经过了 LINUX 初始化的硬件,只能适应 LINUX 的运行。如果 WINXP 能够自己全面做好初始化,我估计 XP 也可以正常启动运行。但是 XP 是微软的,我们不能修改它,因此我们只能修改 GRUB 、KEXEC 以及 LINUX,来达到目的。这个工作不容易呀,需要研究 Linux 内核的硬件初始化过程。你不妨试试。
因为我们亲手创建,这个世界更加美丽。
论坛跳转: