2

是时候在这里问我的第一个问题了。

在过去的某个时候,我曾经使用 GRUB2 让我的内核 Just Work (TM);它仍然适用于 GRUB Legacy,但我想要 [VBE] 帧缓冲区图形。

我注意到的第一个问题是

grub-mkrescue -o cd.iso cdimg/

构建虚假的、无法启动的图像。如果我将内核复制到图像源目录的根目录并将其命名为 efi.img(否则,xorriso 由于缺少 efi.img 而失败),我尝试过的最新版本会构建一个正常的文本模式图像。

我想这里真正的问题是 GRUB2 是否应该与非 EFI 系统一起工作?:( 据我所知,我的帧缓冲区初始化和用白色填充屏幕与之前用于使用某些早期版本的 GRUB2 的代码完全相同。

提前致谢,

文杜

PS FWIW,操作系统项目位于https://github.com/vendu/OS-Zero/

PPS 我希望这不是太模糊...... :)

4

2 回答 2

1

我是 xorriso 的开发人员(但对 GRUB2 的参与不多)。

这里真正的问题是 GRUB2 是否应该与非 EFI 系统一起工作?:(

我自己的测试系统具有带 BIOS 的 AMD 64 位,而不是 EFI。它从 CD/DVD 和 U 盘引导 grub-mkrescue 映像。

您的启动时是否使用没有有效负载的 grub-mkrescue 映像?

grub-mkrescue -o cd.iso

(然后你应该得到一个 GRUB2 引导提示)

从 CD/DVD 为我启动的基于 GRUB2 的 GNU/Linux 映像是流行病-4.1-b1-1-amd64.iso。(它无法从 U 盘引导,因为它的 initrd 存在缺陷。这不是 GRUB2 的错。)不过,它的 GRUB2 不是最新的。

构建虚假的、无法启动的图像。

可以发一下结果吗

xorriso -indev cd.iso -toc

它应该报告从 CD 和 DVD 引导时 BIOS 和 UEFI 使用的 El Torito 引导信息。(当然,有趣的只是无法正常启动的图像。)

如果到目前为止看起来不错,那么您应该将问题报告给发行版的维护者(如果您自己不是该角色)或 grub-devel 邮件列表。

PPS 我希望这不是太模糊...... :)

您必须至少给出拒绝启动的确切描述:您有什么 BIOS?你用的是什么版本的 GRUB2?你看到什么消息?它发生在多台机器上吗?...任何异常情况...?

祝你今天过得愉快 :)

托马斯

于 2013-12-13T09:05:58.440 回答
1

今天在 Debian Jessie 上点击这个。要修复grub-mkrescue -o boot.iso缺少的失败,/efi.img只需安装mtools包。Grub 依赖于 mtools(可选),如果它不存在,它会静默失败。

在 Debianapt-get install mtools上为我解决了这个问题。希望能帮助到你。

于 2015-10-19T20:24:33.413 回答