标签: grub2

为什么仍然使用驱动器/分区号?

很多时候,尤其是在使用引导加载程序时,我会看到使用的数字驱动器和分区号。例如,在我的/boot/grub/grub.cfgI see 中set root='hd0,gpt2',我的 UEFI 引导条目通常引用驱动器/分区编号,并且它似乎出现在几乎所有涉及引导加载程序的上下文中。

现在我们有了 UUID 和 PARTUUID,以这种方式寻址分区似乎非常不稳定(afaik,不能保证驱动器总是以相同的顺序安装,用户可能会移动插入其主板的驱动器的顺序,等等)

因此,我的问题是双重的:

  1. 这个寻址方案是否像我上面概述的那样不稳定?我是否遗漏了标准中的某些内容,这意味着该方案比我预期的要可靠得多,还是因为您的驱动器只是在不同的顺序或将它们插入主板上的不同插槽?

  2. 如果上述问题的答案是肯定的,那么为什么还要继续使用这种寻址方案?对所有内容使用 UUID 或 PARTUUID 会不会更加稳定和一致?

partition boot-loader grub2 uuid disk

14
推荐指数
3
解决办法
2295
查看次数

如何在 GRUB 上设置背景图像?

在互联网上环顾四周,我发现了一些带有背景图像集的自定义 GRUB 安装的屏幕截图,这可能吗?我怎样才能做到这一点?

grub2 images

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

GRUB2:如何记住 grub 最后的选择

我目前正在尝试各种发行版,所以当我启动我的笔记本电脑时,我有几个操作系统可供选择。通常,所有这些发行版都安装grub2并位于列表顶部,因此它们是安装完成后启动的默认发行版。

但 Manjaro 做了一些不同的事情。它安装了一些版本,grub2它会记住我上次启动的发行版并继续启动那个发行版(重新启动时),直到我选择另一个发行版(然后它会启动那个发行版等等)。

这是我想象的吗?Manjaro 真的会这样做吗?如果是这样,我怎么能安装该版本grub到我的系统?干杯。


这是我的/etc/grub.d/40_custom文件:

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
Run Code Online (Sandbox Code Playgroud)

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

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full …
Run Code Online (Sandbox Code Playgroud)

dual-boot boot arch-linux grub2

13
推荐指数
1
解决办法
2万
查看次数

grub2-install 错误:modinfo.sh 丢失 - 尝试常见解决方案

我知道这是一个非常常见的问题,但我尝试了很多常见的答案(下面列举),但都无济于事。

基本设置:我正在设置 Fedora 31 / Ubuntu 18.04 双引导,每个分区都有一个单独的加密 / 和非加密 /boot 分区,以及一个 /boot/efi 分区,总共 5 个。首先安装了 Fedora,然后是Ubuntu。一切都很顺利,我可以从 efi 启动菜单启动到其中一个。我想锁定 efi 启动顺序并在 grub 中进行启动选择,而当前的 Ubuntu grub 选项错过了 Fedora。所以我启动到 Fedora 并尝试grub2-install /dev/sda将 MBR 重置为 Fedora 的 grub 配置并添加 Ubuntu。相反,我得到了 oh-too-common grub2-install: error: /usr/lib/grub/x86_64-efi/modinfo.sh doesn't exist. Please specify --target or --directory

尽管如此,我在我的/usr/lib/grub目录中可以找到的只是arm64-efiandi386-pc但没有x86_64-efi。我对 bootmgr 的东西有点不了解(我的经验一直延伸到解决这些问题,直到每次我有新安装时它们都能工作)。

有人猜测问题是什么或在其他地方寻找答案吗?

fedora dual-boot ubuntu grub2 uefi

13
推荐指数
3
解决办法
5万
查看次数

Debian 安装程序是否默认将 Grub 安装到 RAID 阵列的所有 MBR?

如果我使用 Debian Stable (Squeeze) 安装程序安装 Debian,从一对 RAID1 驱动器启动,它是否会将 grub 写入两个驱动器的 MBR - 如果没有,我应该如何最好地防止驱动器故障 - 如果我只是克隆MBR 不会仍然指向发生故障的设备吗?

software-raid debian grub2

12
推荐指数
1
解决办法
2万
查看次数

如何重新创建 EFI 启动分区?

我已经在我的机器上安装了 Fedora,带有用于 EFI 引导的/分区、swap分区和ESP分区。

现在,我正在安装 Elementary OS 而不是 Fedora。

  1. 我已经格式化了/分区 (/dev/sda3)
  2. 格式化交换分区 (/dev/sda4)
  3. 但是没有格式化EFI引导分区(/dev/sda1)

现在,当我启动时,我得到了 Fedora 安装的旧 grub 菜单。我只能通过以下方式启动到 Elementary OS:

  1. 进入启动菜单。
  2. 选择从 EFI 文件启动
  3. 浏览/dev/sda1/, 以获取elementary包含grubx64.efi文件的目录。这是/boot/efi/EFI/elementary/grubx64.efi.

我该如何解决?我想过格式化引导分区/dev/sda1/fat16然后在其上重新安装 grub。

/dev/sda1现在包含这个:

root@rafael:/home/rafael# ls /boot/efi/
EFI  mach_kernel  System

root@rafael:/home/rafael# ls /boot/efi/EFI/
BOOT/       elementary/ fedora/     

root@rafael:/home/rafael# ls /boot/efi/EFI/fedora/
BOOT.CSV  fonts  gcdx64.efi  grub.cfg  grubx64.efi  MokManager.efi  shim.efi  shim-fedora.efi

root@rafael:/home/rafael# ls /boot/efi/EFI/elementary/ …
Run Code Online (Sandbox Code Playgroud)

linux boot grub2 uefi

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

除非按下 shift,否则如何隐藏 grub 启动菜单?

我已经阅读了论坛,但似乎我的 grub 启动菜单不遵循配置文件的形式。

我希望菜单不出现,除非Shift被按下。

我的 grub 菜单在每次启动时都会出现并一直保留到您选择菜单项为止。

我的当前/etc/default/grub是:

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

(我已经试过true's 带引号和不带引号,它没有区别)

我也做过update-grubupdate-grub2

谁能告诉我为什么当我的系统启动时,它只是位于 Grub 菜单中?这是一个无头系统,不好,因为我必须添加一个键盘才能让它重新启动。

这不是双引导系统。

grub2

12
推荐指数
1
解决办法
7777
查看次数

安装 Debian 时,GRUB 和 LILO 都无法安装到 NVMe 硬盘

我正在尝试在 Lenovo Thinkpad 上安装 64 位 Debian 稳定版。当我进入安装引导加载程序的安装步骤时,我收到以下消息:

安装步骤失败。您可以尝试从菜单中再次运行失败的项目,或者跳过它并选择其他内容。失败的步骤是:在硬盘上安装 GRUB 引导加载程序

返回菜单并选择 LILO 给了我同样的错误。安装日志说

May  1 13:24:23 main-menu[188]: WARNING **: Configuring 'grub-installer' failed with error code 1
May  1 13:24:23 main-menu[188]: WARNING **: Menu item 'grub-installer' failed.
May  1 13:24:28 main-menu[188]: INFO: Menu item 'lilo-installer' selected
May  1 13:24:28 main-menu[188]: WARNING **: Unable to set title for fdisk-udeb.
May  1 13:24:28 main-menu[188]: WARNING **: Configuring 'lilo-installer' failed with error code 1
May  1 13:24:28 main-menu[188]: WARNING **: Menu item 'lilo-installer' …
Run Code Online (Sandbox Code Playgroud)

debian grub2 hard-disk system-installation lilo

12
推荐指数
1
解决办法
3万
查看次数

如何从 grub 中的 videotest 退出?

我正在使用videotestvbetest程序检查 grub 菜单中不同的视频分辨率,并且grub在使用此程序后无法返回命令行。系统没有响应 - 就像挂了一样。只有 Virtualbox 的“关闭机器”有帮助。

问题:如何退出这种模式?可能是我使用这个程序的错误方式?

我的行动:

  1. 启动时进入 grub 菜单,然后进入命令模式。
  2. videotest 800x600

    项目清单

  3. 看一下新的分辨率示例

    项目清单

  4. 然后,按任意键后,系统停止响应,我无法返回 grub 菜单。得到这个画面:

    在此处输入图片说明

grub2 virtualbox

12
推荐指数
1
解决办法
1910
查看次数

警告:不再支持在设置 GRUB_HIDDEN_TIMEOUT 时将 GRUB_TIMEOUT 设置为非零值

我注意到从前段时间开始,在更新 grub 时会出现以下警告消息:

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)
cat /etc/default/grub
Run Code Online (Sandbox Code Playgroud)

列出了以下选项:

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 nomdmonddf nomdmonisw fsck.mode=force"
GRUB_CMDLINE_LINUX=""
Run Code Online (Sandbox Code Playgroud)

假设如下:

  • 我不使用 grub 菜单。

  • 我希望引导过程不会因某些 grub 超时而减慢。

对我来说有效的选项是什么?

删除线:

GRUB_TIMEOUT=10
Run Code Online (Sandbox Code Playgroud)

或者是其他东西?

操作系统:Linux Mint 18.2 Cinnamon 64 位。

grub2

12
推荐指数
1
解决办法
2万
查看次数