问题标签 [grub]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 如何在多引导头文件中正确使用 QEMU
我正在学习操作系统制作的基础知识。我制作了一个多引导头兼容的 .asm 文件和一个 .c 文件。.asm 文件中的代码调用了 .c 文件的 main 函数。
问题是 QEMU 无法从 .asm 和 .c 文件编译链接后生成的文件启动。
它只是说它找不到可启动设备。
虽然,我可以从一个简单的 .asm 文件启动,例如:-
还有什么我必须做的吗?
assembly - 使用 GRUB 或其他程序集引导加载程序连接内核
我一直在关注这个内核(http://www.cs.vu.nl/~herbertb/misc/writingkernels.txt)并且已经深入到它与 grub 链接的部分。但是,我在 /boot/grub/ (Linux mint x64) 中没有 stage1 和 stage2。此外,当我写“mpartition -I c:”时,我收到错误:“mpartition: init: open: No such file or directory”。因此,最好获得指向 stage1 和 stage2 的链接,其中包含所有必要的文件或一些代码到将加载此内核的程序集引导加载程序。额外说明:由于我的系统,我使用了“elf64”而不是“elf”。
elf - GRUB 可以加载没有多重引导标头的 ELF 文件吗?
我一直认为情况并非如此,但是,我最近阅读的教程的常见问题解答暗示它是:
为什么是多重引导标头?GRUB 不能加载纯 ELF 文件吗?
GRUB 能够加载多种格式。但是,在本教程中,我们将创建一个兼容 Multiboot 的内核,该内核可以由任何其他兼容的引导加载程序加载。为此,多重引导标头是强制性的。
我试图立即谷歌它,没有任何有用的结果。那么:GRUB 是否支持加载没有多重引导标头的 ELF 文件?
makefile - GRUB2 生成文件 (Makefile.core.def)
在 grub2/grub-core 的 Makefile.core.def 中,
ldadd 是做什么的?libgnulib.a 在哪里?我试图在 grub 目录中搜索 libgnulib.a 但我找不到它。我也尝试在网上搜索,但找不到任何信息。
谢谢,马特
grub - 使用 efi 的“grub_efi_get_variable”函数构建 GRUB2 模块时出错
这是在我的 Makefile.core.def: ... ... module = { name = mymod; 共同=净/mymod.c;}; ……
当我尝试构建时,我得到: mv syminfo.lst.new syminfo.lst cat syminfo.lst | 排序 | gawk -f /build/boot_project/src/grub/grub2/grub-core/genmoddep.awk > moddep.lst || (rm -f moddep.lst; 退出 1) mymod 中的 grub_efi_get_variable 未定义 make[5]: *** [moddep.lst] 错误 1
有人可以阐明错误以及如何解决吗?
谢谢,
PS 我在 /build/boot_project/src/grub/grub2/grub-core/ 中编辑了 Makefile.core.def 和 Makefile.core.am 以包含我的模块并在 /build/boot_project/src/grub/ 中运行 autogen.sh 到重新生成 Makefile.in,然后我在 /build/boot_project/src/grub/ 中运行 dmake
c++ - 如何使用 GRUB 查询 BIOS?
我正在尝试为 80386 处理器制作一个小内核,主要用于学习目的,并希望获得可用 RAM 的完整内存映射。
我已经读过,在 GRUB 的帮助下这样做是可能的,而且比直接查询 BIOS 更好。
谁能告诉我该怎么做?
特别是,为了在实模式下使用 bios 功能,我们使用 bios 中断并在某些寄存器中获取所需的值,当我们想要使用 GRUB 提供的功能时,实际等效的方式是什么?
linux - 向 Grub2 添加命令
因此,我尝试通过应用以下补丁向 Grub2 添加“apple_set_os”命令:
http://lists.gnu.org/archive/html/grub-devel/2013-12/msg00442.html
Grub 编译良好,“applesetos.model”和“applesetos.mod”文件出现在 /usr/lib/grub/x86_64-efi/ 中。但是 grub2 说找不到这个命令。向 Grub 添加命令是否有额外的步骤?
linux - 肮脏的致命错误:无法找到合适的模板
yum -y update kernel
因此,我在 AWS EC2 基础映像上升级了内核,得到以下信息:
以下是 /boot/grub/grub.conf 的内容:
所以 grub.conf 没有更新,因为我已经安装了 kernel-2.6.32-504.1.3.el6.x86_64,所以我上次更新内核时 grub 也没有更新。我尝试手动添加内核:
然后 /boot/grub/grub.conf 看起来像这样:
但是,/vmlinuz-2.6.32-504.3.3.el6.x86_64
不是我输入的内核。所以我删除了它并再次尝试:
结果是:
此时,我手动编辑 /boot/grub/grub.confdefault=0
并重新启动,我的 EC2 无法启动。所以我尝试了一个新的实例副本并得到了所有这些相同的错误,所以我将现有设置复制到一个新条目:
并重新启动,它再次无法启动。又一次尝试,我重复了上述操作,但使用root=/dev/xvda3
, 并且也无法启动。所以在这一点上,我根本没有办法升级我的内核。我该怎么办?
更新:我想出了 /boot/boot/ 的东西,我的 /boot/grub/grub.conf 现在看起来像这样:
而且我可以成功启动我的系统,但是关于这一切的一切仍然正确:安装新内核仍然会导致“肮脏的致命错误:无法找到合适的模板”,并且grubby --default-kernel
仍然没有输出。我必须手动编辑我的 /boot/grub/grub.conf 以进行任何内核更新。
linux - 未记录的内核启动参数?
Linux 内核似乎有一个cryptopts=...
引导参数,允许指定一个加密的根分区。谷歌搜索返回了许多它的使用示例,但是我无法找到实际的文档。例如,man bootparam
不提它。我想知道这是否是一个未记录的功能,或者可能已被弃用?或者它对某些发行版来说是特殊的?我什至尝试了grep
该字符串的Linux内核源代码,cryptopts
但一无所获...请帮助我解开这个谜团!
archlinux - 安装 Arch 后重新添加分区到 GRUB
在按照https://wiki.archlinux.org/index.php/Beginners%27_Guide上的初学者指南安装 Arch Linux 时,我安装了 GRUB 作为我的引导加载程序。但是,在重新启动时,我发现我之前的 Ubuntu 选项消失了,我只剩下 Arch。
我想知道如何将其他磁盘分区重新添加到 GRUB,因为我在其他任何地方都找不到可理解的教程。谢谢。