问题标签 [grub2]

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.

0 投票
1 回答
71 浏览

grub2 - 如何使用带有 UEFI 的 GRUB2 来安全启动 Ubuntu?

我有一块微型计算机板,例如 BeagleBone black。如何使用 Grub2 和 UEFI 在其中安全启动 Ubuntu?

0 投票
1 回答
751 浏览

linux - 如何通过 grub2 以与发行版无关的方式从作为根设备加载的 cpio 存档中获取 initrd?

我正在虚拟机中构建 LFS(Linux From Scratch)系统,到目前为止,我已经设法获得了一个可行的桌面系统,从已知设备启动,在我的例子中是 /dev/sda1。我现在正在尝试制作一个从 ISO 映像引导的实时系统。而不是使用我已经建立的 /dev/sr0 作为根是可能的(而且,因为它更有可能从 USB 记忆棒中使用而不是实际的 CD-ROM,所以太不灵活了)我已经下定决心在将其引导到 initrd 根目录时。这个想法是使用它作为系统的根而不是用它作为临时根来加载“真正的”根,并且由于它已经在内存中,它省去了设置 tmpfs 根的麻烦,复制所有文件,并切换到它。

我之前一直在尝试使用 squashfs 图像,因为我看到 Ubuntu 似乎使用它并且具有我需要的东西:一个小型根,加载速度更快,使用更少的内存,并且速度很快(xz 是 SSLLOOWW 提取和gzip 加载缓慢)。起初我无法启动它,所以我切换到基于 cpio 的 initrd。由于存档中的文件丢失导致一些初始麻烦后,我确实设法启动了它。

我暂时(大约一个月前)将其放在一边,以便在系统上执行其他任务。我丢失了原始的 GRUB2 设置和内核配置,所以又重新做了一次,但我遇到了障碍。我希望这里的人可能知道我错过了什么。

当我启动时,我从来没有看到任何有关加载 initrd 文件的消息,它直接进入内核的加载、解压缩和启动。这最终导致内核恐慌并显示消息

没有显示分区,然后是“内核恐慌”消息,只是重复第一行。如果我使用“rootfstype=ramfs”,我会得到:

本质上,它将 EMPTY ramfs 文件系统挂载为 root,因此挂载 devtmpfs 失败,因为 /dev 条目不存在。但可以肯定的是,我以前使用过该引导选项。

这是我的 GRUB 2 配置:

是的,/boot/kernel/initrd/目录项存在,linux是内核(编译内核产生的bzimage文件),root.cpio.gz是我压缩的initrd根cpio归档。

这是我内核的 .config 文件(抱歉不能粘贴到这里)。

如果需要更多信息,请随时询问。那个你。

0 投票
1 回答
128 浏览

c - 从 GRUB2 获取 ELF 符号很热

我正在为我的内核使用 multiboot2,我正在尝试从 GRUB2 获取 ELF 符号,但我不知道该怎么做。

我已经.long MULTIBOOT_TAG_TYPE_ELF_SECTIONS在 boot.s 中设置了,我还从 grub2 获得了 elf 类型、大小、num、entsize 和 shndx。

0 投票
0 回答
860 浏览

ubuntu - Ubuntu Preseed i386 UEFI PC 无法尝试安装 64 位 -> grub-efi-amd64-signed

我正在尝试将 i386 Ubuntu 18.04.2 预置到具有 64 UEFI 位的 PC 上。

安装失败,安装程序尝试安装 grub-efi-amd64-signed。

如何预先配置 GRUB 以从 64 位 GRUB 引导 32 位操作系统。

从系统日志中,我看到了以下 grub 引用。

我在预种子期间创建了一个 EFI 文件系统

在 preseed 环境中安装了以下软件包。

在预种子 chroot 中,如果我手动尝试安装 GRUB,它会因不支持 EFI 变量而失败

关于我需要做什么才能使其正常工作的任何建议?

谢谢

电社

0 投票
1 回答
15 浏览

ubuntu-18.04 - GRUB2 如何找到 erubenv 文件的位置

我从事一些编程项目,当时我正在寻找有关以下内容的信息:GRUB2 如何使用文件 /boot/grub/grubenv ?特别是 GRUB 如何在加载文件内容之前找到文件的起始 LBA?

TIA。

0 投票
1 回答
664 浏览

assembly - GRUB2 和自定义文件系统

从零开始编写操作系统实验并对 Grub2 和我的 FS 感到好奇

我还没有尝试过很多,至少在实践中没有。我一直在阅读有关 GRUB2 以及如何设置它的信息,但我有点迷失了。抱歉,我目前没有任何源代码可以提供给您。我只是想知道如何设置 GRUB2 以使用我自己从头开始编写的文件系统。

0 投票
1 回答
97 浏览

ubuntu - 禁用 Ubuntu 14.04 的图形模式

我创建了虚拟机来调试内核,它的操作系统是 ubuntu 14.04 服务器版。

我想在文本模式下使用这个虚拟机,这样我就可以在 qemu 中以 curses 模式或 nographic 模式使用这个虚拟机。

我已经通过修改 /etc/default/grub 来修改引导选项,如下所示。

在 nographic 模式下启动完成之前一切顺利。

但是,当它完成启动时,显示有问题。

它不起作用并在消息下方打印。

我已经搜索过这个问题,我看到了一些使用 systemctl 命令的解决方案。

但是,在我的 ubuntu 上,不支持该命令。

我怎么解决这个问题?

谢谢你。

0 投票
1 回答
846 浏览

ubuntu - Debian/Ubuntu:grub-customizer 无法启动

grub-customizer最近被添加到主要的 Debian 存储库中,这很酷。

但是,当我尝试从应用程序菜单启动它时,输入密码后没有任何反应。

尝试从命令行启动它会导致错误:

我怎样才能grub-customizer启动?

0 投票
1 回答
678 浏览

uefi - GRUB 黑屏

我在 USB 密钥中“刻录”了最后一个 Lubuntu ISO,我可以进入 GRUB,但如果我选择一个选项,屏幕将永远变黑

我的电脑完全是 UEFI(我猜)并且 nomodeset 没有任何改变

grub.cfg 就是这样

USB 密钥已打开 (hd0,msdos1)。我试过没有/cdrom和有(hd0,msdos1)和相同

一些环境变量

如果我不使用linuxinitramfs 要求我先加载内核,如果我不使用initrd,我会得到一个Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)


我不知道我该如何走得更远,所以我只会写我所做的

set我在启动之前、之后echosleep 3之后插入了一个回声,在启动之后,我在键盘上输入了胡言乱语,然后出现了 lubuntu 启动屏幕,但他在 2 秒后消失了,以便放置内核日志setlinuxinitrdecho

从这里我可以 CTRL + ALT + Fi 进入 ttyi 并使用默认 Lubuntu 帐户登录

我真的不明白发生了什么,但我比以前更进一步。但我无法重现它

如果我只是重写linuxinitrd第二次底部并且我混合 Ctrl + Alt + Fi ,它也可以工作

简而言之,如果我以任何可能的方式干扰linux+的正常执行,它很少起作用initrd

比我可以去 ttyi 并启动 X 和工作

但在正常情况下,我的问题仍然存在


我发现第二种方法是可重现的

0 投票
0 回答
66 浏览

windows - GRUB 2 设置期间的冲突类型

我目前在 Windows 10 上,正在尝试在 cygwin64 上安装 GRUB2。我已经设法进行引导和配置。当我运行 make 我得到下面的错误。我查看了 windows/hostdisk.c 和 hostdisk.c 但无法立即找到导致冲突类型错误的原因。