问题标签 [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.
linker - 未找到 GRUB Multiboot 标头
在阅读了这个问题及其主要答案后,我在内核上运行了 readelf,并注意到我的 .text 部分位于 0x00101000 而不是 0x00100000。我还注意到上面的部分 .not.gnu.build-i 位于 .text 部分应该在的位置。有没有办法让我的 .text 部分位于正确的位置?我已经习惯align 4
将其设置为1M。
performance - 如何加快opensuse studio的启动并显示启动信息
我想创建一个图像,它将:
- 在引导期间显示尽可能多的信息(用于引导步骤的粗略分析)
- 尽可能快地引导到 shell 提示符
注意:引导加载程序是 grub2,但我无法创建相应的标签,所以我使用了最接近的可用标签:“grub”。
linux - Centos 7紧急模式无限错误
由于 /etc/fstab 的代码行错误,我无法启动我的 linux 机器。目前我的机器将尝试启动并无限循环消息“欢迎进入紧急模式!...”。我无法进入控制台或登录。
在启动屏幕上点击逃生并进入救援模式也不起作用。使用 grub2 我可以通过 cat (lvm/centos-root)/etc/fstab 查看我的 fstab 文件。
如何编辑此文件并删除错误的代码行?
c - 在 C 函数调用中传递 char 字符串时,Bochs (2.4.6)/GRUB (0.97) “错误 13 无效或不受支持的可执行格式”
我正在尝试遵循“关于操作系统开发的小书”并做一个我正在启动的小型操作系统。
但是我遇到了一个我无法解决或解释的问题。简而言之,当传递一个 char 字符串(在 C 中)时,内核启动正常并且在执行时工作;
但是当我尝试直接调用函数时,使用函数调用中定义的 char 字符串,GRUB 不会启动我的内核;
然后我得到
编译和链接似乎很顺利,没有任何警告或错误。
我错过了什么?或者我做错了什么?
主程序
加载器.s
链接.ld
bochsrc.txt
生成文件
grub - 通过 UUID 在磁盘驱动器上安装 grub
有一种方法可以指示 grub 通过 UUID 而不是使用 /dev/sdX 安装在设备 MBR 上?我正在使用 NixOS 设置一个外部 eSATA 硬盘,显然,硬盘不会总是相同的 /dev/sd X设备?
我看到我可以用 配置它boot.loader.grub.device = "/dev/sdX"
,但可以将它设置为"/dev/disk/by-uuid/...."
??
bootloader - 使用 GRUB2 loopback 命令挂载 VHD
我需要在 grub2 命令提示符下挂载一个 VHD 文件。
我尝试使用“loopback”命令,如下所示:
我尝试了“静态”和“动态”vhd,两个 VHD 文件都有 ntfs 分区数据。
我猜 VHD 文件有一些头数据,这使得文件系统在“环回”挂载后无法识别。我能够使用相同的命令集安装和访问“iso”文件。
我的猜测正确吗?如果是这样,有没有办法克服这个问题?
c - 错误 13:使用字符串文字在 grub 中引导简单内核时可执行文件无效或不受支持
我编写了一个简单的内核,试图将两个字符写入帧缓冲区。
如果我在内核中定义一个字符串文字,我会在它启动时得到以下输出:
否则,如果我定义两个字符,我会得到以下信息(注意输出开头的“ab”):
装载机
我在汇编中编写了加载程序:
内核是用c编写的
外部标头
有两个外部标题。一个用于 IO 端口,称为 io.h,另一个用于写入帧缓冲区,称为 fb.h
这是 io.h 和实现 io.s
io.h:
IOS:
FB.h
脸书
建造它
我有一个名为 link.ld 的链接器脚本和一个 Makefile。我正在为 i386-elf 使用 gcc 交叉编译器,我使用本指南(http://wiki.osdev.org/GCC_Cross-Compiler)编译。
这是我的makefile
运行
makefile 从名为 iso 的目录的内容中构建一个 iso。该文件夹包含我在此处获得的 grub 的预配置版本(https://github.com/littleosbook/littleosbook/blob/master/files/stage2_eltorito)和 grub 的 menu.lst 文件
菜单.lst:
iso目录的内容:
iso 映像以 bochs 启动。这是我的 bochsrc.txt 文件
有谁知道为什么当我尝试启动 iso 时内核文件中的字符串文字会产生错误?
scripting - 在提示用户输入密码进行加密的脚本中使用 `grub-md5-crypt`
正如您已经从标题中知道的那样,我想为 grub 配置一个加密密码/etc/grub.conf
。我想使用一个脚本,我将在其中使用grub-md5-crypt
,输入我要加密的密码,然后sed
在/etc/grub.conf
. 第二部分对我来说很好。但是如何处理脚本中的密码提示:
如何自动将加密密码保存在变量中或以某种方式管理它,以便在我的脚本的下一行中我可以sed
这样:
请帮忙
ubuntu - 更新到 Ubuntu 12.0.4 后,重启后屏幕不工作
我们将基本映像安装到我们的机器上,以确保每个机器的设置都相同。最近,我们更新了基础镜像以使用 Ubuntu 12.0.4 而不是 Ubuntu 9.04。
我们有一个奇怪的问题,如果我们在打开机器后打开屏幕,那么屏幕就会进入睡眠模式 - 就好像它根本没有插入一样。重新启动机器工作。我可以更改 Xorg.conf 文件或 grub 设置来解决此问题吗?在包含版本 9.04 的旧基础映像中,它不用于执行此操作。
linux - 重置默认 Grub 引导
我有一个在单个硬盘驱动器上安装了多个 Red Hat 的系统。我想在运行时自动选择默认安装启动。Red Hat 执行此操作的方式(与 Grub 文档略有不同)是进入 grub shell 并说
保存到指定的。
我使用链式加载,所以磁盘上有几个 grub.conf 文件。我只想更改与 /boot 中与 MBR 相关联的 stage2 文件,而不是与安装本身相关联的单个文件。在 grub 中,如果我说
或者
我返回了所涉及的分区和文件的完整路径名的有效列表。在前一种情况下,类似
而在后者
我想改变的是后一种情况。但是,如果我接着说
根 (hd0,0)
或变体,如
或类似的,我得到
我隐约怀疑我没有正确安装分区,并且它可能是我做事的只读方式,但我所做的似乎没有改变正确的 stage2 文件。请注意,如果我只是说
或完全关闭“--stage2=...”选项,该命令会成功,但会更改当前运行的操作系统从其引导的分区上的 stage2 文件 - 而不是与实际控制的 MBR grub.conf 关联的文件初始启动。
我在这里想念什么?