GRUB 在 net_dhcp 之后无法启动内核

GRUB 在 net_dhcp 之后无法启动内核

我最初尝试使用 MAAS 重新部署机器时遇到了这个问题,但我只能使用已安装的操作系统和 GRUB 以及 Ubuntu 20.04 重现它。该机器设置为 UEFI 启动。

复制(但见下文):

  1. 启动机器并获取 GRUB 菜单。
  2. 按“c”获取命令行,运行net_dhcp efinet1(或仅net_dhcp;efinet1 是该机器的主要网络接口)。
  3. 按 Esc 键返回书籍菜单,选择 Ubuntu 并按 Enter。
  4. 出现空白屏幕,没有任何反应。

通过添加,set debug=linux我收到一条消息loader/efi/linux.c:96: kernel_addr: 0x3c7d1000 handover_offset: 0x190 params: 0x3ffff000,表明它已经到了启动内核的地步,但是内核没有启动输出。

奇怪的地方就在这里:我们有 8 台几乎相同的机器,而这台是唯一一台表现出这种行为的机器。据我所知,这台机器的唯一区别是它有一个 ConnectX-5 EN NIC 而不是 ConnectX-6 Dx(但这不是主接口,即不参与 DHCP),并且有一个不同的 GPU(尽管它们都是 RTX 30xx)。BIOS 是同一版本(最新版本),BIOS 设置都相同,BMC 设置都相同。我查看了 DHCP 提供的内容,除了 IP 地址外,它们似乎都相同。由于当 MAAS 进行 PXE 启动时也会发生这种情况,因此我认为这不太可能是硬盘上的任何问题造成的。

有什么想法可以缩小原因范围或找出这台机器的不同之处?

编辑:我也用 重现了该行为net_dhcp efinet2,并且该接口甚至没有插入电缆。因此,我认为这排除了 DHCP 提供是罪魁祸首的可能性,这让我比以往更加困惑。

答案1

之前将 ConnectX-5 EN NIC 换成 ConnectX-6 Dx 似乎可以解决问题,但问题又出现了。这似乎与 ConnectX NIC 有关,因为移除 NIC 解决了问题。

不过,切换到 GRUB 2.12-rc1 似乎已经解决了这个问题。从 UEFI 启动切换到传统启动似乎也能解决这个问题。

相关内容