Grub2 重新启动后以命令行启动,找不到 /boot 或 /grub

Grub2 重新启动后以命令行启动,找不到 /boot 或 /grub

笔记:在将问题标记为重复之前先阅读问题。他们有区别。我在任何地方都找不到这个问题的答案。

我预装了 Windows 10 并使用 ubuntu 18.04 双重启动。我需要增加 Windows 10 中 C 盘的空间。所以我按照以下链接中给出的过程进行操作 https://www.diskpart.com/articles/increase-c-drive-space-5740.html

最后它需要我的笔记本电脑重新启动。重新启动后,它会显示 grub 屏幕。看起来很正常的问题。事实上,我在 unix.stackexchange.com 和 askubuntu.com 中找到了很多答案。我遵循了这个过程,但我夹在中间。

重启后GRUB在命令行中启动

正如给定的答案和许多其他我需要找到 grub/ 或 boot/ 我无法找到它。我无法通过以下过程找到 vmlinuz-4.4.0-38-generic 或 initrd.img-4.4.0-38-generic 以及相应版本

我也关注了https://www.linux.com/training-tutorials/how-rescue-non-booting-grub-2-linux/这也提供了很好的信息

看来我的系统位于(hd0,gpt1)。

grub 中向我显示的目录结构如下

(hd0,gpt1)/efi
Boot/ Microsoft/ ubutnu/

Boot/
bootx64.efi fbx64.efi

ubuntu/
grubx64.efi grub.cfg shimx64.efi mmx64.efi bootx64.csv

所以我看不到大多数答案所要求的 grub/ 或 boot/ 而我看到的是不同的

Edit1:cat (hd0,gpt1)/efi/ubuntu/grub.cfg 和 ls 的输出(hd0 如下所示 在此输入图像描述

编辑2:感谢telcoM。我准备了Ubuntu安装USB并尝试了Ubuntu功能。我也安装了testdisk。但它只显示了我的 USB 32 GB 的一个硬盘分区。 在此输入图像描述

答案1

不幸的是,您可能在使用傲梅分区助手时损坏了您的 Ubuntu 根文件系统。也许它无法识别 Linux 分区,并将其显示为未知/空分区,没有驱动器号。

事实上,grub.cfgESP 上的 Debian 风格的 mini 表示前缀设置是

set prefix=($root)'/boot/grub'

表明/boot不是一个单独的文件系统;如果是,则前缀将被设置为$(root)'/grub'

在修改分区之前,此时 GRUB 已经能够找到具有迷你grub.cfg文件中指定的 UUID 的文件系统。由于现在找不到它,我担心文件系统可能被覆盖或以其他方式损坏。

您现有的分区似乎是:

  • (hd0,gpt1)- 这是用于加载 GRUB 的 EFI 系统分区。
  • (hd0,gpt2)- 从大小(只有16M)来看,这似乎是Windows 10通常生成的“微软保留”分区。
  • (hd0,gpt3)- 大小约为 67 GB / 64 GiB,根据您的评论,您的 Windows C: 驱动器
  • (hd0,gpt4)- 大小约为 200GB / 191 GiB,根据您的评论,您的 Windows D: 驱动器
  • (hd0,gpt5)- 大小约870M,内容未知。也许是 Windows 恢复分区?

(hd0,gpt3)根据分区大小和起始位置,和之间存在约 220 GiB 的间隙(hd0,gpt4)。这可能是 Linux 分区曾经所在的位置。

所以Linux分区好像丢失了。您应该为自己找到一张包含分区恢复实用程序(如 )的 Linux Live CD(或其他合适的启动介质)testdisk,并查看是否可以恢复 Linux 分区或其任何部分。

以下是 Live CD 列表的链接,其中包含testdiskhttps://www.cgsecurity.org/wiki/TestDisk_Livecd


您应该能够通过在 GRUB 提示符中输入以下内容来进入 Windows:

chainloader /efi/Microsoft/boot/bootmgfw.efi

但如果您需要从 Linux 分区中拯救任何文件,你现在不应该这样做。事实上,您应该避免任何可能写入磁盘的操作,直到您成功从丢失的 Linux 分区中挽救所有重要文件,或者确信进一步的挽救尝试不值得付出努力。

如果您想放弃尝试恢复 Linux,请转至 BIOS 设置并将“Windows 启动管理器”移至启动顺序中的第一位,这样也能永久恢复启动 Windows 的能力(仅)。


您应该使用另一台计算机准备可启动的 Live CD(或其他实时启动媒体,例如随身碟)testdisk或其他可用的救援实用程序。

如果您熟悉 Ubuntu,您可以使用 Ubuntu Live 功能 - 您可能准备一个Ubuntu安装U盘并使用其“尝试 Ubuntu”功能,然后只需使用常用的包管理工具即可自动下载并安装testdisk到基于 RAM 的安装中。在这种情况下,您需要在每次从 USB 启动时再次执行此操作才能使用该工具。

或者你可能会使用较长的过程来设置具有持久性的实时 USB或者完成基于 USB 的 Ubuntu 安装;这两个选项都应该允许您使用标准包管理工具testdisk向 USB 添加和/或其他恢复工具,然后再回到具有损坏的 Linux 分区的计算机,从 U 盘启动并尝试恢复。

您还需要第二个随身碟或其他媒体,可用于保存任何恢复的文件;尽管您也许能够挂载 Windows D: 驱动器并使用它来存储恢复的文件,因为它似乎不与丢失的分区重叠。

一旦您可以从随身碟启动计算机并testdisk在计算机的 HDD 上运行(例如,sudo testdisk /dev/sda无论 HDD 的设备名称是什么),接下来的步骤取决于它将报告的内容。在最好的情况下,它可能能够简单地撤消傲梅所做的事情并恢复丢失的分区。

傲梅分区助手似乎只针对Windows用户,因为它似乎不支持任何非Windows分区类型。将来,您可能希望使用gparted而不是修改任何安装了 Linux 的计算机的分区。

相关内容