Ubuntu 无法在 HPE Proliant ML30 Gen9 上启动的问题

Ubuntu 无法在 HPE Proliant ML30 Gen9 上启动的问题

我们用于数据库备份程序的一台服务器出现问题,我束手无策。在某个时候,它完全冻结了,因此被强制重启。之后,机器再也无法启动到操作系统。

该机器在 HPE Proliant ML30 Gen9 上运行 Ubuntu 18.04.3 LTS,经过仔细检查,我发现 ubuntu 启动选项不见了。

HPE Proliant 配置了智能阵列、禁用安全启动和 UEFI。

经过一番研究,我尝试修改 UEFI Shell,但无济于事,因为操作系统没有列为文件系统,但显示了存储设备。

UEFI SHELL 映射命令

然后我尝试运行 HPE Embedded Smart Storage Administrator,在 HPE SSA 加载时,我短暂地看到了 GRUB 2 界面。在 HPE SSA 加载完成后,我按下c并能够进入 GRUB 的 cli。

HPE 环境中的 GRUB cli

在这里我能够浏览硬盘并最终发现所有数据都正常,没有数据丢失,但不知何故引导加载程序在 UEFI 环境中丢失了。

Ubuntu 的硬盘

/boot/efi目录是空的,但/boot/grub目录中有一些文件和文件夹。

然后我尝试启动 Ubuntu,结果如下:

Ubuntu 启动

此时,我已经没有主意了,也无法继续寻找答案,因为问题变得太具体了。

我甚至回到 UEFI Shell 尝试进入该BLK3设备(因为它看起来像是那个分区)但我无法导航到该/boot文件夹​​,所以我无法使用该bfcg命令。

我不知道还能做些什么来恢复 Ubuntu 的引导加载程序。任何建议或帮助都将不胜感激。

PS:服务器以前是图形界面的,团队用TeamViewer监控服务器,检查备份过程。

PS2:insmod all_video没有用。" file not found"即使设置了根变量后,grub 仍然提示错误。

PS3:我尝试插入一些 USB 闪存驱动器。我尝试了分区为 GPT 的 Ubuntu 18.04.3、分区为 GPT 的 Ubuntu 20.04.3 和分区为 MBR 的 Ubuntu 20.04.3。HPE Proliant(Legacy 和 UEFI)都没有检测到它们,它们也没有出现在 UEFI Shell 中,我也不知道如何从 GRUB 界面挂载它们。

PS4:作为最后的手段,我可​​以使用 HPE Embedded Intelligent Provisioning 工具安装 RHEL。

PS5:这是我第一次使用 HPE Proliant 系统。

编辑: (hd2)(hd3)以及(hd4)它们相关的分区都是在我使用 HPE 工具时创建的。重新启动后,这些分区及其关联的文件系统将从 UEFI Shell 和启动选项中消失。

答案1

找到了解决该问题的方法。

正如所料,/boot分区不见了,因为所有分区都重新排列了,其中一些分区丢失了。更新 HPE Proliant 固件后,我能够从外部 USB 驱动器启动。此时,我使用 Ubuntu live USB 来处理分区并重新排列它们,确保将分区设置/boot为驱动器的第一个分区和扇区。

完成此操作后,我可以启动 GRUB shell 并避免出现No bootable devices were detected. Please attach a UEFI bootable device...。Ubuntu 仍然未出现在列表中,因此我不得不进行完全干净的安装。我在安装前删除了所有分区,安装完成后我终于能够启动 Ubuntu。

我尝试使用启动修复,但无济于事。

相关内容