标签: grub2

如何编辑我的 Grub 引导加载程序条目(隐藏、重命名、删除)?

所以基本上我有一个相当泛滥的 Grub 引导加载程序,带有较旧的 linux 版本、3 个操作系统和 memtests。我想要的是只离开操作系统。我需要知道如何手动完成,并且我需要有人告诉我在发布新内核时我应该注意什么。提前致谢。

grub2

53
推荐指数
5
解决办法
28万
查看次数

如何修复 grub 启动错误:“找不到符号‘grub_calloc’

刚刚在 20.04 (Xubuntu) 上运行了最新一批更新,现在我收到了 GRUB 错误:

symbol 'grub_calloc' not found
Run Code Online (Sandbox Code Playgroud)

我进入了“grub 救援”外壳,但不知道在那里做什么可能有用。对我来说,“找不到符号”意味着 grub 包存在某种构建错误,但我真的不知道 grub 是如何工作的。我注意到此更新还包括“固件”,不确定这是否相关。我最好的选择是从 live CD 启动,看看我是否可以以某种方式将更新回滚到 grub?

编辑添加:

好的,感谢很多人!这就是我认为我现在理解的内容。

  1. 在“非 UEFI”系统上,grub 安装在两个独立的部分。第一个也是最基本的部分是在启动时启动的部分。但是对于它的大部分功能,它需要第二部分。这些部分必须对齐 - 任何部分都不需要其他部分的任何功能,而实际上并不存在。

    当这些部分没有对齐并且没有提供函数 grub_calloc 时,就会出现可见的运行时问题。我不是 100% 清楚 grub_calloc 是属于第二个、更大的部分还是第一个。我会期待第二个,但 grub 构建系统是一件相当艺术的作品,所以我不知道:)。

  2. 问题的根本原因是grub更新并没有保证部分都更新了。理想情况下,如果不这样做会导致 grub 安装失败,并且系统应该恢复到安全状态。这不会发生。

    这实际上对我来说仍然有点神秘。默认情况下,更新需要做的就是将每个部分放在当前部分所在的位置,因为显然这有效。如果安装位置/驱动器是配置驱动的,并且无法到达这些位置之一,那么不知何故,配置数据和现实之间就会出现不匹配。只要部件之间没有引入新的依赖关系,这可能不会显示为问题。

所有解决方案都涉及重新安装 grub 以确保两个部分对齐。实际上没有必要返回到以前的版本(尽管这会起作用),因为损坏的并不是 grub 运行时本身。有多种方法可以实现这一点,具体取决于您的环境,但运行引导修复实时磁盘对我有用。

为了避免将来出现这种错位,确保系统上的 grub 安装程序配置为安装到正确的设备可能很有用。

此更新解决了一些重要的错误(请参阅 Ubuntu 安全通知 4432)。如果您已恢复 grub 来解决此问题,请注意您会遇到这些问题。

boot grub2

53
推荐指数
5
解决办法
8万
查看次数

如何知道GRUB的版本

如何找到在特定版本的 Ubuntu 中运行的 GRUB 版本?我想要一个告诉我的终端命令。

command-line grub2

52
推荐指数
4
解决办法
11万
查看次数

错误:找不到文件“/grub/i386-pc/normal.mod”

error: file '/grub/i386-pc/normal.mod' not found.
grub rescue>
Run Code Online (Sandbox Code Playgroud)

我能做什么?我只是坐着盯着它看。

我找到了我大约四年没有使用过的旧上网本 (Dell Inspiron 1010)。我用 Ubuntu 12.10 替换了 Windows XP。我使用了可启动的 USB 驱动器。我安装并重新启动。我收到了normal.mod未找到的消息。

我该怎么办?键入exit, reboot, 或quit? 我应该重新安装吗?

boot grub2

52
推荐指数
2
解决办法
46万
查看次数

Ubuntu 16.04 慢速启动 (apt-daily.service)

我的启动非常慢,我不知道为什么。

$ systemd-analyze 
Startup finished in 10.975s (kernel) + 49.732s (userspace) = 1min 708ms
$ systemd-analyze blame 
         34.971s apt-daily.service
         20.590s snapd.refresh.service
         17.113s grub-common.service
         16.033s apport.service
         16.027s networking.service
         15.894s ondemand.service
         15.860s irqbalance.service
         15.655s speech-dispatcher.service
         11.695s ModemManager.service
          9.772s accounts-daemon.service
          8.626s NetworkManager-wait-online.service
          8.058s systemd-logind.service
          8.053s bluetooth.service
          7.944s gpu-manager.service
          7.896s alsa-restore.service
          7.892s pppd-dns.service
          7.882s rsyslog.service
          7.860s avahi-daemon.service
          7.844s dev-sda1.device
          7.842s systemd-user-sessions.service
          7.648s lightdm.service
          7.610s teamviewerd.service
          6.445s apparmor.service
Run Code Online (Sandbox Code Playgroud)

此外,在启动过程中,我看到一条消息,内容如下:

device descriptor read/all, error -62
ata1 softreset failed (device not ready) #most of the times
error …
Run Code Online (Sandbox Code Playgroud)

apt boot grub2 mate 16.04

51
推荐指数
3
解决办法
4万
查看次数

将 Windows 10 添加到 GRUB 操作系统列表

我最近从学校得到了一台电脑。它安装了 Windows 8.1。然后,我安装了另一个 Windows 8.1 副本(因此它将使用内置的 Windows Pro 许可证)并将其升级到 Windows 10。然后我将 Ubuntu 与 Windows 8 和 10 一起安装。

请注意,我为 /boot 创建了一个单独的 255MB ext2 分区。

现在,当我启动计算机时,我首先看到一个带有 Windows 8 和 Ubuntu 选项的 GRUB 提示(我已经取消隐藏 grub 提示,因为我喜欢那样)。但是,没有 Windows 10 选项。如果我选择 Ubuntu,计算机将启动到 Ubuntu。但是,如果我选择 Windows 8 选项,然后我会被发送到 Windows 引导加载程序,然后它会为我提供引导 Windows 8 或 Windows 10 的选项。(但是,此时,计算机已经加载了内核和所有. 显然,微软误解了引导加载程序的概念,并认为这意味着“在实际显示引导加载程序之前几乎启动整个系统”。典型的微软。)

如何禁用 Windows 引导加载程序并向 GRUB 添加 Windows 10 选项?

编辑:有人回答告诉我禁用 Windows 引导加载程序。但是,我仍然不知道如何将 Windows 添加到 GRUB OS 列表中。有人能帮忙吗?

编辑 2:使用 EasyBCD 从 Windows 引导加载程序中删除 Windows 10 后,似乎在几次重新启动后,它会不断取消隐藏自己,并且 …

boot grub2 dual-boot

49
推荐指数
5
解决办法
33万
查看次数

如何将 Memtest86+ 选项添加回 Grub 菜单?

如果使用 UEFI 请参阅这个问题,“如果我使用 UEFI,我可以启动 memtest86+ 吗?”

在我的 Lenovo B570 上安装了 64 位版本的 Ubuntu 12.04 后,我遇到了在使用 Grub 安装 11.10 时遇到的相同问题,但在 uEFI 系统上无法正常运行。我使用与上次相同的技术来解决问题(使用 Super Grub Disc LiveCD 会话修复 Grub)并且我的系统在 Ubuntu 和 Windows 7 之间愉快地双启动

但是现在当我启动 Grub 菜单时只显示

  • Ubuntu,使用 Linux 3.2.0-24-generic
  • Ubuntu,使用 Linux 3.2.0-24-generic(恢复模式)
  • 以前的 Linux 版本
  • Windows 7(加载程序)(在 /dev/sda1 上)
  • Windows 恢复环境(加载程序)(在 /dev/sda4 上)

我不再看到以前存在的使用 Memtest86+ 的选项,在 Ubuntu 软件中心检查后,我可以看到该软件包已安装,但是如何使再次运行它的选项出现在 Grub 菜单中?

我试过了:

sudo update-grub 
Run Code Online (Sandbox Code Playgroud)

这没有任何区别。

sudo chmod +x /etc/grub.d/20_memtest86+ 
Run Code Online (Sandbox Code Playgroud)

结果是:

chmod: cannot access /etc/grub.d/20_memtest86+': No such file or directory

并进入

ls …
Run Code Online (Sandbox Code Playgroud)

grub2 memtest

45
推荐指数
4
解决办法
9万
查看次数

安装 Ubuntu 后无法启动到 Windows,如何解决?

我在我的电脑上安装了 Windows,然后安装了 Ubuntu。但是,现在我无法启动到我的 Windows 安装。

我能做些什么来解决这个问题?

boot grub2 windows

44
推荐指数
6
解决办法
21万
查看次数

Ubuntu 14.04 中的 Grub 更新警告

我试图更新 Grub 所以我运行:

sudo update-grub

Generating grub configuration file ...
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Run Code Online (Sandbox Code Playgroud)

这个警告究竟想改变什么?(我之前从 12.04 升级到 14.04)

这是我的/etc/default/grub文件:

GRUB_DEFAULT="0"
GRUB_HIDDEN_TIMEOUT="0"
GRUB_HIDDEN_TIMEOUT_QUIET="true"
GRUB_TIMEOUT="10"
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
Run Code Online (Sandbox Code Playgroud)

grub2

44
推荐指数
2
解决办法
3万
查看次数

如何更改grub中的紫色背景颜色?

如何手动执行此操作,而不安装任何工具?

grub2 customization

43
推荐指数
3
解决办法
7万
查看次数

标签 统计

grub2 ×10

boot ×5

16.04 ×1

apt ×1

command-line ×1

customization ×1

dual-boot ×1

mate ×1

memtest ×1

windows ×1