0

我正在开发一个简单的 Grub 模块,它可以在启动过程的早期阶段启用一些额外的视频设置/初始化。我实际最好的想法是使用一些 VESA 调用来完成任务。

不幸的是,最近我发现 Grub 无法进行实模式调用。

但是 GRUB 可以执行非常复杂的操作,如果没有 BIOS 的帮助,这可能是无法想象的。

这怎么可能?我怎么能从 grub 调用 bios?

4

2 回答 2

1

您可以只使用 BIOS 扩展器。它们允许您从保护模式使用实模式中断!我自己没有使用过它们,尽管我听说它们确实有效。一个例子是SudoBIOS,它能够在保护模式下启动MikeOS,尽管我自己不能保证。

于 2015-06-11T18:30:08.520 回答
1

据我所知,grub 使用该函数grub_bios_interrupt调用 16 位中断。该函数在内部使用该prot_to_real函数切换到实模式并real_to_prot切换回。我猜你也应该能够使用这些函数,但也许你需要像 dos 一样将它们包装在一个函数grub_bios_interrupt中。

于 2015-06-14T07:31:21.917 回答