由于磁盘太多而导致 grub“内存不足”错误?

由于磁盘太多而导致 grub“内存不足”错误?

我在一台配备 24 个磁盘和 256 GB RAM 的新 Dell PowerEdge R760xd2 服务器上运行 Debian Stable(Debian 12、Bookworm)。初始安装(包括重新启动到新安装的操作系统)工作正常,但现在 grub 无法启动。

error: no such device: [some UUID].
Loading Linux 6.1.0-17-amd64
error: out of memory.
Loading initial ramdisk ...
error: you need to load the kernel first.

正如您所看到的,grub 无法加载内核,这与可能的 ramdisk (initrd) 问题无关。

我还观察到:

  • “欢迎来到 GRUB!”大约需要一分钟
  • 当我在发生这种情况时取出(虚拟)可启动 CD 时,我会看到与多个磁盘相关的错误消息
  • ls (hd22,gpt1)/给出out of memory(在恢复控制台中)
  • 启用/禁用安全启动不会改变任何这些
  • 使用虚拟 CD 驱动器中的可引导映像 (grml),从设备读取数据,同时显示“欢迎使用 GRUB!”显示:大小为 493 MB 的图像为 297 MB。当 CD 可用时,“欢迎使用 GRUB!”阶段需要更长的时间

我正在使用 UEFI 并添加了 500 MB UEFI 分区(使用 Debian 的安装程序)。引导设备是使用两个磁盘的硬件 RAID1。

在上次成功重新启动和失败之间,我在 24 个磁盘中的 22 个上配置了 ZFS。此外,引导 RAID1 的剩余存储现在也用作第二个 zpool (ZFS)。我认为 22 个磁盘中的每一个都有两个(GPT?)分区,但我不知道为什么,因为我将整个磁盘用于 ZFS。

我的直觉是 grub 会扫描所有磁盘,并且对磁盘/分区的绝对数量有点不知所措。

如何让系统重新启动?

答案1

我成功了。

  1. 将启动更改为“BIOS”(而不是 UEFI)
  2. 引导 grml(或其他类型的恢复磁盘),这对于 UEFI 来说是不可能的,因为我无法弄清楚如何更改引导顺序。
  3. 添加--hint hd22,gpt2grub.cfgUEFI分区上
  4. 重启并改回 UEFI

除了不抛出错误之外,grub 的速度也快得多。这让我相信寻找 UUID 就是问题所在,并提供解决该问题的提示。但这听起来不像是一个长期解决方案。

相关内容