问题标签 [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.

0 投票
1 回答
4662 浏览

bootloader - 从闪存驱动器安装 Windows 时,如何添加“按任意键从 USB 启动”?(Grub4dos 问题/如何删除引导加载程序)

我一直在努力解决这个问题,最后决定寻求帮助。让我先解释一下该应用程序的主要目的是什么:提供一种非常易于使用的备份文件的方式,然后我格式化驱动器并启动 Windows 7 安装程序。

我通过启动 WinPE 来做到这一点,WinPE 运行一个脚本来检测 Windows 安装,然后打开一个文件浏览器。文件浏览器关闭后,脚本继续并格式化包含 Windows 安装的驱动器,并启动无人参与的 Windows 7 安装。现在问题来了:

当您从 DVD 启动 Windows 安装程序或 WinPE 时,您会得到一个不错的选项,即“按任意键从 DVD 启动”。这是为了防止计算机在安装的第一阶段完成并且计算机重新启动时启动 DVD。但是,从闪存驱动器启动时,Windows 不提供此选项:它只是在每次重新启动时启动闪存驱动器。

为了复制“按任意键”功能,我安装了 Grub4Dos,效果很好。它提供了一个小菜单,第一个标准项是“继续安装”,第二个是“开始安装”。经过相当多的调整,我得到了一切工作:开始安装启动 WinPE,然后启动 Windows 安装。第一次重新启动时,Grub4Dos 菜单出现,计数 5 秒并启动安装的第二阶段。在这里,我遇到了错误:

“Windows 安装程序无法将 Windows 配置为在这台计算机的硬件上运行。”

当我以正常方式启动 WinPE(将 bootmgr 放在棒根上)并在第一次重启后将我的 bios 更改为从主硬盘启动时,我没有收到此错误。

我一直在环顾四周,唯一能找到的是 BIOS 自动将引导设备命名为 hd0,而 Windows 只能运行/安装到 hd 0。我不确定这是否是问题所在。我阅读了有关重新映射以解决此问题的信息,但要做到这一点,您必须知道硬盘驱动器和分区的物理位置,例如 hd(0,1)。我希望这个闪存驱动器可以在任何 PC 上工作,无论操作系统安装在哪里,所以这实际上是不可能的。

我想到的一个可能的解决方法是在 WinPE 中时从闪存驱动器中删除引导加载程序。这样,当电脑重新启动时,BIOS 将不会将闪存驱动器视为启动驱动器,而是启动主硬盘。我还没有找到一种方法来做到这一点。

感谢您阅读我的问题,如果您有任何建议,请提出。

0 投票
3 回答
5893 浏览

linux - GRUB 是否切换到保护模式?

我想问一下是GRUB在启动期间将CPU切换到保护模式还是Linux内核做到了。我还想问一下——内核本身(vmlinuz)是 ELF 还是纯二进制格式?谢谢。

0 投票
3 回答
6779 浏览

bootloader - 隐藏 Grub2 启动菜单?

我正在寻找一些程序来隐藏 grub2 上的菜单。我还尝试设置 /etc/default/grub 配置

  • GRUB_TIMEOUT
  • GRUB_HIDDEN_TIMEOUT
  • GRUB_HIDDEN_TIMEOUT_QUIET

没有成功的选择。
谢谢你的帮助

0 投票
1 回答
1185 浏览

assembly - 在软盘映像文件中使用 grub 在 bochs 中启动您自己的内核

基本上我已经按照这里的说明http://sig9.com/bochs-grub创建了一个裸映像文件,它什么都不做,只是让 BIOS 启动 GRUB。

问题是:

  • 我正在编写的内核将是 32 位的,首先使用http://www.jamesmolloy.co.uk/tutorial_html/index.html,但我的主机(物理)机器是 x86_64,bochs 配置如下:

    ./configure --prefix=/usr --enable-vbe --without-wx --enable-cpu-level=6 \ --enable-fpu \ --enable-plugins --enable-x86-64 --enable -smp \ --enable-long-phy-address --enable-debugger --enable-disasm --enable-debugger-gui \ --enable-raw-serial --enable-vmx --enable-x86-debugger - -启用-iodebug

所以我不确定这是否可行,即使在解决了下一个问题之后:

  • 当我启动 bochs 时,grub shell 不会启动。

我得到的是:

有谁知道我做错了什么?

我怀疑按照http://sig9.com/bochs-grub的说明将主机的 64 位 grub 二进制文件复制到应该是 32 位仿真系统的 floppy.img 上。

0 投票
0 回答
1197 浏览

video - VESA BIOS 扩展:如何更改分辨率?

我刚刚完成了一个小型引导加载程序和内核,它切换到保护模式并设置了一个基本的物理和虚拟内存管理器:

目前,我通过写入0xB8000内存中的视频地址在屏幕上显示文本。但是,我想像 GRUB 那样增加 TTY 分辨率(我认为是通过GRUB_GFXMODE标志)。

如何在保护模式下提高屏幕分辨率?

我试过查看 GRUB 源代码(关于与 VBE 和 相关的部分vbeinfo);但是,我不明白它实际上是如何工作的。网上有没有关于如何做到这一点的指南?(我在 OSDev.org 上的搜索结果并不多,但我可能错过了。)

0 投票
1 回答
397 浏览

c - 使用 C 语言更改 GRUB 的变量

我想知道是否有任何方法可以让我编写一个 C 程序来更改 GRUB 变量的值。

我需要编写一个可以在另一个操作系统上重新启动计算机的程序,例如:

  • 我在 Suse disk1

程序更改 GRUB 的变量并自动重新启动。

  • 我在 Suse disk2

我想访问以下变量:title、root、kernel、initrd。但无需编辑 /boot/grub/menu.lst 或 grub.conf 文件。

有 GRUB 的 API 吗?

0 投票
3 回答
1381 浏览

windows - 为 WinXP 和 Kubuntu 11 之间的双启动配置 GRUB 时出现问题

我是 Windows 用户,最近在同一个磁盘上安装了 Kubuntu 11.04。运行 Kubuntu 时我没有配置任何东西,现在我需要设置 GRUB 以进行双引导。问题是:只有 Windows 正在启动,我无法启动新安装的 Kubuntu。我所拥有的只是用于安装的闪存驱动器。

那么,如何配置 GRUB 以使用 live Ubuntu 进行双重引导?

谢谢!

0 投票
2 回答
8775 浏览

linux - 一次启动到只读?

我正在尝试启动到只读模式以测试某些软件。我不想在启动后重新安装驱动器,因为这不符合测试在启动时检查文件系统的软件的要求。

有没有办法在不编辑 grub.conf 的情况下做到这一点?最好在中断启动时通过 grub UI 添加一些东西?

如果我编辑 grub.conf 以只读方式启动,我应该如何编辑它?


我知道内核将 root 挂载为 RO,但稍后在引导过程中将其重新挂载为 RW。

0 投票
1 回答
570 浏览

kernel - 在 Boot-Grub 菜单 Linux 上看不到内核映像

我正在尝试通过修补 Xenomai 框架来制作实时内核:Xenomai 2.6.0 和 Kernel 2.6.38.8

我修补成功了。并且能够构建内核:

在目录make install中创建和图像之后/boot。但是当我尝试时sudo update-grub,进程被锁定,电脑死机,当我重新启动计算机时,我再也看不到那个内核映像了。

没有错误或警告,但我在 grub 菜单上看不到我的编译器图像。

PS:我看不到内部grub.cfg,进程冻结!

0 投票
2 回答
1700 浏览

linux-kernel - Grub 运行在哪种模式下?

我了解到,当计算机启动时,它处于实模式。
内核负责将模式从真实模式切换到保护模式。
好的,我的问题是 Grub 引导加载程序是在实模式下运行还是在保护模式下运行?