AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[grub2](unix)

Martin Hope
Auspex
Asked: 2025-04-28 11:32:15 +0800 CST

Grub2 无法从新驱动器启动

  • 5

我已将我的 ext4 根文件系统(在 上/dev/nvme0n1p6)复制到 上的新 btrfs 文件系统/dev/nvme1n1p2。

很多指南都教我如何 chroot 到新的文件系统,并让 grub 认为它是主分区,但这对我来说简直是一个巨大的挑战!我想确保我当前的配置能够正常工作,直到我确定可以启动到新的文件系统为止。

我想保留旧文件系统作为主启动项,并将新文件系统设为辅助启动项。由于我之前已经成功让这个 grub 能够启动两个不同的 Linux 分区和两个 Windows 分区,所以这个操作似乎无法撤销。

如果我运行update-grub(安装了新的文件系统),它会在 grub.cfg 中为我提供新系统的启动项,但这显然是错误的:

        menuentry 'Linux Mint 22 Xfce (on /dev/nvme1n1p2)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-6.8.0-58-generic--0d9f074e-f0b5-4418-8831-a6b1d96479b1' {
                insmod part_gpt
                insmod btrfs
                search --no-floppy --fs-uuid --set=root 0d9f074e-f0b5-4418-8831-a6b1d96479b1
                linux /boot/vmlinuz-6.8.0-58-generic root=UUID=42be809f-0321-4fee-bc70-b3ac34ef0adc ro quiet splash
                initrd /boot/initrd.img-6.8.0-58-generic
        }

0d9f074e-f0b5-4418-8831-a6b1d96479b1是分区的正确 UUID。42be809f-0321-4fee-bc70-b3ac34ef0adc是原始分区(我当前正在运行的分区)的 UUID。

我(几乎)确信 Grub 确实可以启动到 BTRFS 分区(我见过 SE 建议 /boot 应该是一个单独的分区,但这些建议都不是最近 5 年内提出的),但让我吃惊的是,该配置没有给出任何有关具有我的根 fs 的 btrfs 子卷的指示。

btrfs grub.cfg 的正确格式是什么?

grub2
  • 1 个回答
  • 21 Views
Martin Hope
Ruslan Vostro
Asked: 2025-02-27 21:03:23 +0800 CST

安装 Fedora 41 后的 GRUB 救援

  • 5

我刚刚安装了 Fedora 41,但是 GRUB 无法启动并显示以下错误消息:

error: no such device: <GUID>
error: unknown filesystem.
Entering rescue mode...
grub rescue>

GRUB2 救援

这是我在安装时设置的分区方案:

  • /boot/efi- FAT32,未加密;
  • /boot- ext4,未加密;

使用 LUKS2 加密的 LVM 分区,具有以下子分区:

  • /- ext4,加密;
  • /home- ext4,加密;
  • /var- ext4,加密;
  • swap- 加密;

我一直在启用安全启动的情况下安装 Fedora,但当我尝试启动系统时,安全启动服务打印出检测到无效签名。因此,我禁用了安全启动,并获得了 GRUB 救援(见屏幕)。我现在不知道该怎么做。我也尝试寻找类似的问题,并找到了类似的主题,但问题是/boot分区已加密,而我的情况并非如此。

grub2
  • 2 个回答
  • 60 Views
Martin Hope
Gabriel
Asked: 2025-01-21 03:55:26 +0800 CST

启动可用的 Linux 映像 UEFI/PXE/GRUB

  • 6

我正在尝试设置一个服务器,以在 UEFI 环境和 GRUB2 上通过 PXE 启动 opensuse-15.5。我发现这个适用于 Suse 的教程效果很好。我有一个客户端获取 IP 地址,从同一台机器上的 TFTP 下载一些文件,并且我还设置了一个 NFS 服务器。

问题是,我发现的每个教程似乎都专注于在客户端安装新操作系统,而这不是我所需要的。我真正需要的是加载一个非常基本的、极简的操作系统,以便能够从终端运行一些命令。没有别的。我不需要加载 Live 映像或运行安装程序。

按照教程中的说明,我遇到了客户端无法连接到存储库以开始安装操作系统的情况。之后,我所做的是将initrd和linux映像替换为从尝试启动的同一客户端中的操作系统安装中获得的映像。此外,我在客户端(同一安装)中创建了根文件系统的映像并将其放置在服务器中,以便可以通过 NFS 访问它。在此之后,结果是客户端加载了initrd,然后是linux,但它在完成之前就停止了,因为它(可能)正在尝试设置显卡。该行提到了drm 和 i915(抱歉,我现在没有客户端,但我明天会更新正确的消息)。

我甚至不确定我必须加载哪个 Linux 映像以及我必须传递给 GRUB 的参数才能使一切正常工作。我一直试图从 GRUB 手册和其他来源中了解,但我的问题多于确定性。有人能告诉我……:我应该将哪些命令添加到grub.cfg(以及我应该删除哪些命令)?我应该使用哪个 Linux 映像?以及可能想到的任何信息来源?

非常感谢您抽出时间。

加布斯。

编辑:崩溃点与 graphics/drm/i915 无关。显示的最后一条消息(大约一分钟)将显示graphics/drm/i915,但问题实际上紧接着出现,在dracut initqueue hook处。据我所知,在使用dd制作根分区映像时,它会以某种方式开始寻找已安装并包含在fstab中的内存条。

重新制作图像后(这次通过 NFS 将其发送到服务器),我可以看到问题已解决(见图)在此处输入图片描述

现在的问题(如下图所示)处于切换根阶段。我真的不知道这是什么意思,但我会做一些研究。 在此处输入图片描述

下一张图片是net/grub.cfg。我编辑了这个文件,删除了install和instsys命令,因为我认为它们是无关紧要的(因为我不是要安装操作系统)。我还尝试了这个grub.cfg,没有root和nfsroot命令(根据我的理解),这两个命令将使用硬盘中的文件系统,而不是服务器中的文件系统,整个设置似乎可以正常工作。只有当它需要从 NFS 服务器获取根文件系统时,我才会收到第二张图片中的错误。抱歉,第三张图片很模糊。 在此处输入图片描述

此时,我猜想文件系统有问题。我用dd制作了映像,将其移动到服务器,然后使用mount -o loop /image /srv/tftpboot/openSUSE-XXX/rootfs挂载它。我读到对分区进行映像与对整个磁盘进行映像是不一样的。此外,btrfs在映像方面有些特殊。是否有特定的方法可以做到这一点?抱歉更新延迟。再次感谢您的帮助和评论时间。

grub2
  • 2 个回答
  • 71 Views
Martin Hope
8192K
Asked: 2024-07-25 23:55:03 +0800 CST

四启动系统上的 Debian 只能找到 Windows 10(找到 Win XP,找到 Win 98)

  • 4

因此,我设法让我已有 17 年历史的 Intel Core2 Quad 在 Windows 98、XP、10 和 Debian 12 上运行。

我首先安装了 Windows 98,然后安装了 Windows XP。这导致出现 XP 启动菜单,其中提供了 XP 或 98。然后我安装了 Windows 10,这导致出现启动菜单,其中提供了 Windows 10 或“其他版本的 Windows”。如果我选​​择“其他版本”,我将获得 XP 引导加载程序。

然后,我在第四个也是最后一个主分区(无 UEFI)上安装了 Debian,该分区安装了 Grub2,并为我提供了条目 Debian 和“Windows 10(在 /dev/sda1 上)”。在 Grub2 中选择“Windows 10”会让我获得 Win10 引导加载程序等。但是,sda1 是 Win98,因此 Win10 必须自行安装在那里。但是,Grub2 又将自己安装到了哪里呢?

我实际上想要实现的是让所有四个条目都包含在 Grub2 中。我该怎么做才能实现这一点?os-prober 仅找到 Win10。

我可以毫无问题地查看和安装所有 Windows 分区。

grub2
  • 1 个回答
  • 36 Views
Martin Hope
SuperDialga
Asked: 2024-05-25 03:56:58 +0800 CST

GRUB 密码似乎没什么用,那为什么还要麻烦呢?

  • 5

我的系统除了 /boot 之外都有全盘加密。我按照这篇文章设置了 GRUB 密码,但随后可以通过启动 Kali Live 并运行来禁用它:

mkdir /mnt/dev/sda2
sudo mount /dev/sda2 /mnt/dev/sda2
sudo vim /mnt/dev/sda2/grub/grub.cfg

3 个命令。十分简单。

如果用户可以物理访问计算机,则只会看到 GRUB 菜单或被要求输入 GRUB 密码(对吗?)。如果他们有物理访问权限,他们可以禁用 GRUB。如果用户无权访问 GRUB(即他们通过 ssh 连接或者这是一个虚拟机(因为 ssh 仅在 GRUB 完成后才启动,对吧?)),那么他们永远不会被它阻止。

因此,似乎在唯一使用 GRUB 密码的情况下,它也很容易被绕过。如果 GRUB 密码阻止了某人,他们可以禁用它。

那么,有什么意义呢? GRUB密码真如我想的那样没用吗?他们是否以其他方式提高安全性?如果我们将 /boot 加密加入其中会怎样?这会改善情况吗?

谢谢你!

grub2
  • 1 个回答
  • 34 Views
Martin Hope
SuperDialga
Asked: 2024-05-24 03:39:55 +0800 CST

避免每次启动时受到 Grub2 密码保护的更好方法? --unrestricted 被覆盖

  • 4

我读过这篇文章,内容是当您尝试编辑 GRUB 设置时仅需要 GRUB 密码,但仍然允许在没有密码的情况下启动操作系统。我找到的唯一解决方案是编辑/etc/grub.d/10_linux.问题是,正如本 wiki第 6.1 节中所述,/etc/grub.d/10_linuxgrub 更新时将被覆盖,这将破坏这一点。但是,他们不提供替代方案。那么......我们该怎么办呢?有什么更好的方法可以避免 grub 更新时出现这种情况?

grub2
  • 1 个回答
  • 26 Views
Martin Hope
jabaa
Asked: 2024-05-10 08:31:03 +0800 CST

Grub 中的 cryptomount 在哪里创建解密磁盘

  • 6

该文档包含:

成功解密的磁盘被命名为 (cryptoX),并且每个新解密的磁盘都有递增的编号后缀。如果加密磁盘托管某种更高级别的抽象(例如 LVM2 或 MDRAID),除了 cryptodisk 命名空间之外,还将在单独的设备命名空间下创建它。

文档

我的grub.cfg包含命令cryptomount -a。当我启动时,我收到一个密码请求和一条消息,表明相应的插槽已成功打开,但找不到分区并且系统无法启动。我已经打开 Grub 命令行并手动调用cryptomount -a. 命令成功,但我在 下找不到任何新设备/dev。加密的分区包含 LVM PV,我既看不到解密的设备,也看不到 LV。在哪里可以找到解密的磁盘?

当我使用 解密 initramfs 中的加密设备时cryptsetup,一切都按预期工作,我可以启动系统。

grub2
  • 1 个回答
  • 36 Views
Martin Hope
Steve H
Asked: 2024-04-05 09:38:26 +0800 CST

移动 /boot,如何更新 grub 以找到新位置 /boot/grub2/i386-pc/{core,boot}.img

  • 6

Grub2 系统硬编码 stage2 文件的位置。此信息存储在引导加载程序分区中。我知道 grub-install 会写这个以及更多。

我的问题是 grub2-install 如何确定 /boot 目录(它自己的分区)所在的位置。grub-mkconfig 可以解决这个问题,但是,grub-install 似乎没有调用 grub-mkconfig。

我真的很想深入解释这是如何解决的。

底线问题是:“当 /boot 的位置发生更改时,更新 mbr/bios-boot 分区中的引导加载程序代码的正确方法是什么”?

官方文档或维基百科的指针将不胜感激。

grub2
  • 1 个回答
  • 24 Views
Martin Hope
devreklim
Asked: 2024-03-18 15:43:13 +0800 CST

BadRAM Range:无法设置正确的范围

  • 6

我认为我的带有焊接 RAM 的 MacBook 有 RAM 问题。使用 memtest86+,我找出了我拥有的 BadRAM 模式,但我无法正确解释结果。我应该如何读取范围以在 GRUB 中设置正确的排除?

这是我的内存测试结果:

BadRAM Patterns
---------------
badram=0x0000000058cb4000,0xfffffffffffffc00,
       0x0000000058cb4400,0xfffffffffffffc00,
       0x0000000058cb4800,0xfffffffffffffc00,
       0x0000000058cb4c00,0xfffffffffffffc00,
       0x0000000058cb5000,0xfffffffffffff800,
       0x0000000058cb5800,0xfffffffffffff800,
       0x0000000058cb6000,0xfffffffffffff800,
       0x0000000058cb6800,0xfffffffffffff800,
       0x0000000058cb7000,0xfffffffffffff800,
       0x0000000058cb7800,0xfffffffffffff800

    [从此图像手动转录。]

会memmap=64K$0x58cb0000是正确的吗?

grub2
  • 1 个回答
  • 36 Views
Martin Hope
Sur Khosh
Asked: 2023-11-24 00:56:56 +0800 CST

键盘在 GRUB 中不起作用

  • 5

我有一台 MSI 一体机,运行 Windows 10 和 ubuntu。通常我会启动它并进入 ubuntu 启动页面,并且我已经对其进行了配置,这样如果我在 3 秒后没有选择任何选项,它将启动第一个选项,即 Win 10。但是在更新到 ubuntu 23 后我的键盘在启动页面上不再起作用,而且第一个选项已更改为内存测试(蓝屏),所以现在我无法选择任何操作系统。我应该怎么办?两个 USB 插槽上的板载或外部键盘均不起作用。快速启动也打开了,我无法进入BIOS设置。 在此输入图像描述

grub2
  • 1 个回答
  • 41 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve