我担心我破坏了电脑上的分区

我担心我破坏了电脑上的分区

不久前我为 Ubuntu 做了一个分区,它运行良好。

我的问题是在尝试安装 burg 后出现的

我跟着 这个 YouTube 视频指南安装 burg,遇到一些问题后,我尝试了以下这篇博文中的说明然后 burg 在测试模式下启动正常,因此我重新启动了计算机以测试 BURG,但在到达 grub/burg 启动屏幕之前,我的计算机在启动过程中进入了硬件诊断模式(这是一台戴尔计算机)。

几次尝试启动电脑失败后,我决定使用 live-usb 重新安装 Ubuntu。重新安装 Ubuntu 时,我决定覆盖现有的 Ubuntu。

安装完成后,我尝试重新启动计算机,出现 GRUB 屏幕,其中只有一个启动 Ubuntu 的选项。

我进入了基本启动菜单,但没找到 Windows。我找不到 Windows 分区。

我扫描了我的分区以了解发生了什么:

我的计算机分区看起来就像那样。

我使用了启动修复 - 以下是报告: https://pastebin.com/wh2mPuJX

目前我的 Ubuntu 分区运行良好,但是我的 Windows 分区却无处可寻。

我需要帮助修复我的分区。

编辑:根据用户的回答,我尝试重新启动计算机,然后出现了以下 grub 菜单:

所显示的 efi 文件均未指向 Windows。

答案1

我的诊断

我不能 100% 确定,但我认为发生的事情是这样的:

  1. 您的计算机出厂时配置为从 GPT 磁盘以 EFI/UEFI 模式启动 Windows (10?)。您的启动修复输出与此类设置非常一致。
  2. 您安装了 Ubuntu。根据您的描述,这可能是成功的,我猜是在 EFI 模式下完成的。
  3. 您决定安装 BURG。不幸的是,据我所知,BURG 是一个仅限 BIOS 的引导加载程序。让 BIOS 模式和 EFI 模式安装在现代基于 EFI 的计算机上共存是可能的,但很棘手,而且很少值得付出努力。您的描述清楚地表明您在此步骤遇到了问题,很可能是因为您不了解这种混合模式设置的复杂性。无论如何,BIOS 模式的 BURG 无法启动您的 EFI 模式 Windows 安装;它只能启动 Ubuntu。
  4. 您运行了 Boot Repair,它似乎重新安装了您的 EFI 模式 GRUB。这部分起作用了,但由于某种原因,它没有检测到您的 Windows 安装。

我想总结一下您的问题,以强调该问题很可能是由于在以 EFI/UEFI 模式启动的系统上尝试安装 BIOS 模式引导加载程序而导致的。几乎所有新计算机都使用 EFI 固件,这一事实对于任何对引导加载程序有所了解的人来说都至关重要,但人们对使用 EFI 的含义仍然知之甚少,并且可能会给人们带来麻烦——尤其是那些尝试在新计算机上安装旧 BIOS 模式工具(如 BURG)的长期多引导程序用户。

最简单的解决方法

最不激进的方法是尝试让 GRUB 完全工作。理论上,它应该被发现,但我想我知道为什么它没有被发现,解决方案相当简单:

  1. 在您最喜欢的编辑器中打开/etc/fstab。(您需要以 的方式执行此操作root,通常通过 启动编辑器sudo,如 中所示sudo nano /etc/fstab。)
  2. 找到开始的行#UUID=4E1D-DC46#从该行的开头删除字符。
  3. 保存文件并退出编辑器。
  4. 类型sudo mount -a
  5. 检查以确保/boot/efi不为空。至少,它应该有一个名为的目录EFI(或者可能是某个仅包含大小写的变体,如efi;大小写与应挂载在那里的 FAT 文件系统无关)。如果/boot/efi为空,则说明存在问题,您应该修复该问题。(请注意,您将无法以普通用户身份访问此目录;您必须使用sudo或为root。)
  6. 输入sudo update-grub。这将导致重建 GRUB 配置文件。

当您重新启动并且出现 GRUB 菜单时,它现在应该包含一个启动 Windows 的选项。

另外一个选择

如果你不喜欢 GRUB,你可能需要研究一下其他几个 Linux 的 EFI 引导加载程序,总结如下我的这个页面。我从来不是 BURG 用户,但如果你想制作一个更漂亮的引导加载程序菜单,我自己的rEFInd 启动管理器可能对您特别感兴趣。(旧版 rEFIt 可能也很有吸引力,但早已被废弃;我将 rEFIt 分叉到 rEFInd,因为 rEFIt 开发已经停止。)

请注意,您可以在 CD-R 或 USB 闪存驱动器上使用它来测试 rEFInd,而无需完全安装它。 (两者的图像均可在 rEFInd 下载页面上找到。)如果您决定永久使用它,则可以使用 Debian 软件包、PPA 或(如果您运行的是 Ubuntu 17.04 或更高版本)refindUbuntu 中的软件包来安装它。

了解更多

我建议您阅读以下一页或多页,以了解有关 EFI 模式启动的更多信息以及 BIOS 模式和 EFI 模式启动如何在单台计算机上交互:

编辑:可能的文件系统损坏

rEFInd 显示 Windows 选项但生成Failed to open文件消息这一事实表明您的 ESP 可能遭受文件系统损坏。要恢复,我建议:

  1. 启动到 Ubuntu。
  2. 备份 ESP 中的所有文件(/boot/efi在 Ubuntu 中)。您可以使用cp、、tarzip
  3. 卸载 ESP ( sudo umount /boot/efi)。
  4. 输入sudo dosfsck -a /dev/sda4。这应该会修复 ESP 上的文件系统。
  5. 通过键入 重新安装 ESP sudo mount -a
  6. 检查文件系统是否正常。特别是,检查下的EFI/refindEFI/ubuntuEFI/Microsoft/Boot目录/boot/efi。它们都应该包含与备份中的文件相匹配的文件。如果没有,那么您的处境就不妙了,应该在 USB 闪存驱动器或 CD-R 上准备好 rEFInd,以便在下一步失败时可以启动 Ubuntu。
  7. 重新启动。运气好的话,您现在可以从 rEFInd 启动 Windows,尽管 GRUB 还不能启动 Windows。
  8. 如果您可以启动 Windows,请停止;您就完成了;但如果您无法启动 Windows,请使用 rEFInd 重新启动到 Ubuntu 并继续......
  9. 卸载 ESP ( sudo umount /boot/efi)。
  10. 在 ESP 上创建一个新的文件系统(sudo mkdosfs -i 4E1DDC46 /dev/sda4)。使用此命令时要非常小心;如果您指定了错误的分区,您可能会破坏 Windows 或 Ubuntu!请注意,该-i 4E1DDC46部分将新文件系统设置为使用与旧文件系统相同的 ID 代码(UUID=中的值/etc/fstab),这意味着您无需编辑/etc/fstab。如果省略此部分,则需要编辑/etc/fstab
  11. 键入sudo mount -a以在 ESP 上安装新的文件系统。
  12. 恢复您之前创建的备份。
  13. 使用 rEFInd 重新启动并重试。
  14. 如果你仍然无法启动 Windows,那么您可能需要使用 Windows 特定的恢复程序来重新安装引导加载程序。但是,如果您碰巧在问题出现之前有备份,则可以从备份中恢复。

按照此过程操作后,如果您运行sudo update-grub,GRUB 也可能会开始显示 Windows 选项。

请注意,损坏的 ESP 通常是由于未能禁用 Windows 中的快速启动和/或休眠功能造成的。请参阅这里这里了解如何禁用这些功能。您应立即禁用它们。

还有一条评论:我注意到您的启动消息显示 rEFInd 已启动EFI\Microsoft\Boot\bootmgfw.efi,而后者又尝试启动EFI\Microsoft\Boot\grubx64.efi(Linux 引导加载程序)。您看到bootmgfw.efi尝试启动grubx64.efi的最可能原因EFI\Microsoft\Boot是您使用了 Boot Repair 的“高级”选项卡中的备份和重命名引导加载程序文件的选项。此选项可以解决某些有缺陷的 EFI 的问题,但它可能会在您的案例中造成问题。如果我没记错的话,Boot Repair 提供了一个选项来撤消此移动/重命名操作,您可能需要使用该选项,但不要立即这样做——首先按照我刚刚概述的步骤看看您可以得到什么。如果所有这些都失败了,您可能需要使用 Windows 恢复工具来恢复 Windows 引导加载程序。但是,它将被设置为默认值,此时我建议使用简易UEFI在 Windows 中将 rEFInd 或 Ubuntu 移至启动列表顶部,或者使用外部介质上的 rEFInd 启动到 Ubuntu,然后使用refind-mkdefault(rEFInd 自带的)将 rEFInd 恢复为默认启动程序。

相关内容