问题标签 [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.
grub2 - 如何使用带有 UEFI 的 GRUB2 来安全启动 Ubuntu?
我有一块微型计算机板,例如 BeagleBone black。如何使用 Grub2 和 UEFI 在其中安全启动 Ubuntu?
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 文件(抱歉不能粘贴到这里)。
如果需要更多信息,请随时询问。那个你。
c - 从 GRUB2 获取 ELF 符号很热
我正在为我的内核使用 multiboot2,我正在尝试从 GRUB2 获取 ELF 符号,但我不知道该怎么做。
我已经.long MULTIBOOT_TAG_TYPE_ELF_SECTIONS
在 boot.s 中设置了,我还从 grub2 获得了 elf 类型、大小、num、entsize 和 shndx。
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 变量而失败
关于我需要做什么才能使其正常工作的任何建议?
谢谢
电社
ubuntu-18.04 - GRUB2 如何找到 erubenv 文件的位置
我从事一些编程项目,当时我正在寻找有关以下内容的信息:GRUB2 如何使用文件 /boot/grub/grubenv ?特别是 GRUB 如何在加载文件内容之前找到文件的起始 LBA?
TIA。
assembly - GRUB2 和自定义文件系统
从零开始编写操作系统实验并对 Grub2 和我的 FS 感到好奇
我还没有尝试过很多,至少在实践中没有。我一直在阅读有关 GRUB2 以及如何设置它的信息,但我有点迷失了。抱歉,我目前没有任何源代码可以提供给您。我只是想知道如何设置 GRUB2 以使用我自己从头开始编写的文件系统。
ubuntu - 禁用 Ubuntu 14.04 的图形模式
我创建了虚拟机来调试内核,它的操作系统是 ubuntu 14.04 服务器版。
我想在文本模式下使用这个虚拟机,这样我就可以在 qemu 中以 curses 模式或 nographic 模式使用这个虚拟机。
我已经通过修改 /etc/default/grub 来修改引导选项,如下所示。
在 nographic 模式下启动完成之前一切顺利。
但是,当它完成启动时,显示有问题。
它不起作用并在消息下方打印。
我已经搜索过这个问题,我看到了一些使用 systemctl 命令的解决方案。
但是,在我的 ubuntu 上,不支持该命令。
我怎么解决这个问题?
谢谢你。
ubuntu - Debian/Ubuntu:grub-customizer 无法启动
grub-customizer
最近被添加到主要的 Debian 存储库中,这很酷。
但是,当我尝试从应用程序菜单启动它时,输入密码后没有任何反应。
尝试从命令行启动它会导致错误:
我怎样才能grub-customizer
启动?
uefi - GRUB 黑屏
我在 USB 密钥中“刻录”了最后一个 Lubuntu ISO,我可以进入 GRUB,但如果我选择一个选项,屏幕将永远变黑
我的电脑完全是 UEFI(我猜)并且 nomodeset 没有任何改变
grub.cfg 就是这样
USB 密钥已打开 (hd0,msdos1)。我试过没有/cdrom
和有(hd0,msdos1)
和相同
一些环境变量
如果我不使用linux
initramfs 要求我先加载内核,如果我不使用initrd
,我会得到一个Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
我不知道我该如何走得更远,所以我只会写我所做的
set
我在启动之前、之后echo
和sleep 3
之后插入了一个回声,在启动之后,我在键盘上输入了胡言乱语,然后出现了 lubuntu 启动屏幕,但他在 2 秒后消失了,以便放置内核日志set
linux
initrd
echo
从这里我可以 CTRL + ALT + Fi 进入 ttyi 并使用默认 Lubuntu 帐户登录
我真的不明白发生了什么,但我比以前更进一步。但我无法重现它
如果我只是重写linux
和initrd
第二次底部并且我混合 Ctrl + Alt + Fi ,它也可以工作
简而言之,如果我以任何可能的方式干扰linux
+的正常执行,它很少起作用initrd
比我可以去 ttyi 并启动 X 和工作
但在正常情况下,我的问题仍然存在
我发现第二种方法是可重现的
windows - GRUB 2 设置期间的冲突类型
我目前在 Windows 10 上,正在尝试在 cygwin64 上安装 GRUB2。我已经设法进行引导和配置。当我运行 make 我得到下面的错误。我查看了 windows/hostdisk.c 和 hostdisk.c 但无法立即找到导致冲突类型错误的原因。