尝试将 Ubuntu 重新安装到同一分区时按“后退”键后系统无法启动(grub:“没有这样的设备:<GUID>”+没有可启动分区)

kil*_*oot 5 partitioning boot grub2 dual-boot uefi

以前工作时的系统状态:UEFI

  • C盘:SSD,安装Windows 10作为主操作系统。
  • D盘:HDD,仅数据,一个分区占整个磁盘。
  • 磁盘X:SSD,1个分区(GPT)。
  • O盘:HDD,包含Windows 7。

(注意:我不记得磁盘的顺序,因此我将通过 Windows 中分配的驱动器标签来命名它们。)

  1. 我决定将 Ubuntu 安装在 X 盘上的一个单独分区上。我使用 Windows 磁盘管理器缩小了该分区,并验证了系统之后是否可以正常工作。然后我用 Ubuntu 20.04.1 创建了可启动 USB 并启动到它。
  2. 在 Ubuntu 安装程序中,我使用了“其他”选项,因为我不确定“与 Windows 一起安装”不会尝试在 C 盘上安装。在那里我创建了一个新的 ext4 分区并安装到 /。然后我指定这个相同的分区作为引导加载程序分区并完成安装。
  3. 重启后,我无法启动Ubuntu。即使我选择从 UEFI 中的磁盘 X 启动,Windows 也像往常一样正常启动,没有显示任何选项。然后我意识到我在步骤 2 中犯了一个错误,将安装 Ubuntu 的分区指定为引导加载程序分区。
  4. 我启动到 Ubuntu USB 安装程序并尝试再次安装。这次我选择了与步骤 2 相同的分区来安装 Ubuntu,并选择格式化该分区(安装程序显示警告后)。我选择sda作为引导加载程序分区(它对应于C盘)。安装正常完成,启动时出现 GRUB 启动菜单。Ubuntu 运行正常。注意:安装程序的分区表正确显示了 Windows 10 和 Windows 7 相应磁盘上的分区。
  5. 我弄乱了 Ubuntu 实例并想重新安装。我再次启动到安装程序 USB,然后再次选择相同的分区,选择格式化它,并再次选择 sda 作为引导加载程序分区。我基本上重复了我在步骤 4 中所做的事情。除了当我到达下一个安装程序屏幕时,我看到了一些警告(不记得是哪个),其中有一个“后退”按钮。我决定返回并检查是否在分区步骤中选择了正确的设置,因此我按了“返回”。--- 此时,安装程​​序显示错误消息,因此我决定重新启动并重试。
  6. 在安装程序中显示分区表的步骤中,我现在看不到检测到的 Windows 7 和 Windows 10 分区。分区数量及其大小似乎是正确的,但操作系统检测无法再找到它们。此外,现在没有提供“与 Windows 一起安装”选项。如果我尝试使用与步骤 4 相同的设置完成安装,我会收到一条警告,提示我需要指定 EFI 分区。由于我不知道应该是哪一个(sda?但我已经指定了 sda...),我决定不再继续安装并取消它。

现在系统处于无法引导至 GRUB 的状态。

以下是对当前状态的一些观察:

  1. 启动后,我看到这个:
error: no such device: <GUID>
error: unknown filesystem.
Entering rescue mode...
Run Code Online (Sandbox Code Playgroud)
  1. grub救援中的ls显示: (hd0) (hd1) (hd1,gpt3) (hd1,gpt2) (hd1,gpt1) (hd2) (hd3) (fd0)ls-ing 它们中的每一个都会产生“文件系统未知”,除了(hd1,gpt3)产生 ext2。ls-ing 该分区会产生lost+found. (它曾经也显示过/etc/media但经过下面描述的一些进一步步骤后,现在不再显示了。)
  2. 在 Ubuntu Live CD 中,我可以看到所有使用parted.
  3. 我已经创建了 Windows 10 恢复 USB 并加载到其中。它无法修复启动(使用“修复计算机”>“疑难解答”>“修复启动”)。相应的日志显示所有测试均成功,但看起来它甚至没有检测操作系统并检查恢复 USB 上的操作系统。然后我尝试了“高级选项”>“命令提示符”,diskpart我看到以下内容:
Disk ###  Status         Size     Free     Dyn  Gpt
--------  -------------  -------  -------  ---  ---
Disk 0    Online         55 GB    451 MB            
Disk 1    Online        465 GB     28 GB         * 
Disk 2    Online        372 GB       0 B
Disk 3    Online       1397 GB       0 B
Disk 5    No Media         0 B       0 B
Run Code Online (Sandbox Code Playgroud)

我发现令人担忧的是它没有显示*在磁盘 0 的 Gpt 列中,在我的术语中,磁盘 0 是磁盘 C。磁盘1是磁盘X(根据大小判断)。

请注意,select disk 0然后list partition显示分区:

Partition ###  Type          Size     Offset
-------------  ------------  -------  -------
Partition 1    Primary        100 MB  1024 KB
Partition 2    Primary         54 GB   101 MB
Partition 3    Recovery       522 MB    54 GB  
Run Code Online (Sandbox Code Playgroud)

我该如何进一步进行?看起来数据应该完好无损,所以如果可能的话我不想重新安装Windows。我不在乎Ubuntu的安装,无论如何我想重新安装它。我希望能够恢复 Windows 10(首要任务)和 Windows 7(非常理想)。

tot*_*oob 1

我遇到了类似的问题并通过启动修复修复了它。

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair
boot-repair
Run Code Online (Sandbox Code Playgroud)

只需尝试 GUI 中推荐的修复并重新启动