GRUB2 问题“未找到/boot/grub/grubenv”

GRUB2 问题“未找到/boot/grub/grubenv”

我无法启动Ubuntu,因为每次我单击grub,它都会将我引导到 shell 类型的命令提示符窗口。我不知道要输入哪些命令。但是,按下 时TAB,它会建议“ ”可以执行的命令列表grub2 shell。当我输入时,load_env它返回/boot/grub/grubenv not found。请帮忙。

答案1

详细的逐个文件调查可能可以精确地解决这个问题。但这需要大量的专业知识。运行启动信息脚本,将RESULTS.txt文件发布到pastebin 网站,并在此处发布文档的 URL 可帮助您开始此过程;然而,这将是一个繁琐的过程,并且不能保证您能找到解决方案。

我想到另外三个相对简单的选择:

  • 重新安装 Ubuntu,并希望造成问题的因素不会再次出现。如果这是全新安装,这是一个合理的操作方案;但是,如果您之前已经启动过,但突然失败,则您可能有个人数据文件,您不想以这种方式冒险。(重新安装可以不损坏您的个人文件,但有太多可能出错的方式,因此我无法轻率地建议您尝试。)
  • 跑过启动修复工具在您的计算机上。此工具会分析您的安装并尝试自动修复 Ubuntu 启动问题。它通常会成功,但成功率并非 100%。如果您现在根本无法启动,则不太可能让情况变得更糟;但如果您可以以某种方式启动另一个操作系统,则 Boot Repair 干扰该启动的可能性很小。
  • 您已添加 UEFI 标签。如果您通过 EFI 启动,或者即使您有 EFI 固件但以 BIOS/CSM/传统模式启动,您可以下载并准备 CD-R 或 USB 闪存驱动器版本的rEFInd 启动管理器。如果安全启动被禁用,那么您应该能够启动 rEFInd,并且它应该能够让您启动 Ubuntu。然后,您可以尝试修复 GRUB 安装(通过重新安装 GRUB 包、执行sudo update-grub或以其他方式分析和修复问题)或安装 rEFInd PPA 或 Debian 包以绕过 GRUB 及其当前问题并改用 rEFInd。这种方法不太可能产生新问题,因为它涉及在成功启动 Ubuntu 之前不对硬盘进行任何更改;但它仅适用于基于 EFI 的计算机,即使在那时,也有许多情况下它不起作用。

虽然这些方法都不能保证一定有效,但很有可能其中一种方法会对您有所帮助。

答案2

看起来你的 Linux 安装不完整或者有些损坏。

有可能您已经安装了除适当的启动命令之外的所有内容,在这种情况下,您可以尝试手动找到适当的vmlinuz-xxxinitrd-xxx文件,使用linuxinitrd命令将它们加载到内存中,然后使用 进行启动boot

作为参考,请查看以下可用命令http://www.gnu.org/software/grub/manual/grub.html#Commands并尝试使用 找到您的原始文件grub.cfgls然后使用命令查看它cat以找出您必须在文件名linux后附加到命令的选项vmlinuz-xxx

  • 提示:set pager=1帮助您使用cat长文本文件。
  • 提示2:其他分区上的文件可以引用为(hd0,msdos2)/dir/file,将0和更改2为适当的磁盘和分区号。选项卡扩展也很有用。

相关内容