如果重复的话,请提前致歉,我确实在 Google 上搜索了很多,但找不到我的问题,而且我对 Ubuntu 还很陌生
长话短说:我做了 WINDOWS10 和 UBUNTU16 的双启动,一切都很顺利,直到我尝试重新安装 UBUNTU 部分。我以某种方式破坏了启动加载,最后我成功重新安装了 UBUNTU,但没有 windows10 端的迹象(启动时的 grub 菜单只有 ubuntu)
我需要做什么 ?
在重新安装过程中,我尽量小心,不要触碰 Windows 分区(下图中的 sda2 和 sda3)
我确实尝试使用 grub2 进行修复,我粘贴了输出这里,它确实在 Windows 7 或 8 上有说明(但我有 10..)但不允许我访问或启动它。
答案1
我不能 100% 肯定,但看起来你在 MBR 磁盘上安装了 BIOS/CSM/传统模式的 Windows,然后在 BIOS/CSM/传统模式下安装了 Ubuntu,并且一切正常。但是,当你重新安装 Ubuntu 时,似乎你以 EFI/UEFI 模式启动了安装程序,这导致它创建或提示你创建一个EFI 系统分区(特别是您的/dev/sda5
)。如果系统随后启动到 EFI 模式 GRUB,它将无法重定向到 BIOS 模式 Windows。请注意,其中一些是推测性的,但这与您系统的当前状态一致 - 即 BIOS 模式和 EFI 模式 GRUB 的痕迹,没有 EFI 模式 Windows 引导加载程序,以及 MBR 形式的分区表。
无论如何,有几种方法可以恢复。没有一种方法可以保证有效,而且都有一定的风险。因此,我强烈建议您备份个人数据,并做好完全重新安装和恢复一切的准备。我还建议您阅读我的网页上有兼容性支持模块 (CSM)。该页面是为与您情况不同的人编写的,但有关 CSM 是什么以及它为什么会产生问题的背景信息将帮助您了解当前的困境。无论如何,您的选择包括:
恢复 100% BIOS 模式启动
如果您删除或绕过 EFI 模式 GRUB/dev/sda5
并重新安装 BIOS 模式 GRUB,您的问题应该会消失。如何执行此操作的大致步骤如下:
- 删除
/dev/sda5
,或者至少从中删除 GRUB。此步骤实际上不是必需的,但它将删除此解决方案中您不想要的一个可能的启动路径。 - 启动 Ubuntu 安装程序在 BIOS 模式下进入其“安装前尝试”选项。
- 跑步引导修复。
这项任务的棘手部分是步骤 #2。您必须能够控制您的启动模式以使此过程正常工作。我之前提到的 CSM 页面提供了有关此信息。在大多数情况下,您可以通过从计算机的内置启动管理器菜单中选择正确的条目来控制紧急磁盘的启动模式。外部媒体通常有两个条目,其中一个包含字符串“UEFI”,另一个不包含。选择“UEFI”条目以 EFI 模式启动,选择其他条目以 BIOS 模式启动。至少,这是它的方式应该工作——有时计算机将这些命令视为建议,有时启动媒体可能缺少一个或另一个启动加载程序,这会给工作带来麻烦。
安装 rEFInd
我的rEFInd 启动管理器,与 GRUB 不同,通常可以从 EFI 模式启动重定向到 BIOS 模式启动。因此,rEFInd 可能能够让您现有的 Windows 安装以 BIOS 模式启动,同时保持 Ubuntu 以 EFI 模式启动。为此,您需要:
- 安装 rEFInd。您可以使用 PPA 或 Debian 软件包从 Ubuntu 轻松完成此操作。或者,如果您想尝试此操作但不对计算机进行永久更改,则可以使用 USB 闪存驱动器版本。
- 编辑
refind.conf
(可能在/boot/efi/EFI/refind
您安装 rEFInd 之后但在重新启动之前;或者在EFI/refind
USB 闪存驱动器上(如果您使用该版本进行测试):取消注释该scanfor
行并确保它hdbios
是选项之一。
如果幸运的话,当你重新启动时,rEFInd 会出现并为你提供各种启动选项,其中至少一个(可能是两个)用于 Ubuntu 的选项和一个灰色菱形图标,如果幸运的话,它可以启动 Windows。
将 Windows 转换为 EFI 模式启动
这Microsoft MBR2GPT 工具应该能够将 MBR 磁盘上以 BIOS 模式启动的 Windows 转换为以 EFI 模式启动,从而将磁盘转换为 GPT。如果成功,那么您将以 EFI 模式安装 Windows 和 Ubuntu。话虽如此,这种方法有许多注意事项:
- 我从来没有使用过这个工具,所以我无法从个人经验来评价它的效果如何。
- 除上述内容外,微软的工具可能旨在转换仅限 Windows 的系统。我猜它反对您的双启动配置(或更糟的是,造成严重损害)的可能性很大。另一方面,我的担忧可能有些夸大;我还没有看到任何在多启动计算机上实际尝试过该工具的人讨论过这个问题。
- 即使转换成功,计算机也可能直接启动到 Windows。可以使用以下方法纠正此问题:简易UEFI,或者在最坏的情况下,启动修复。(您需要确保启动修复在EFI 模式,但是,不是在 BIOS 模式下,而是在恢复到 BIOS 模式启动时。)
总的来说,我认为这是一种“前沿”的解决方案,只有当您非常愿意回到下一个选项时才应该尝试它......
重新安装一切
您可以清除磁盘并重新安装 Windows 和 Ubuntu。如果这样做,我建议您在 EFI 模式下重新安装这两个操作系统。这是当今大多数计算机的本机模式(2011 年末之前出售的计算机大多基于 BIOS,2011 年末或之后出售的计算机通常基于 EFI)。正如我的 CSM 页面所述,为基于 EFI 的计算机添加 BIOS 模式启动支持会使启动路径复杂化并增加出现问题的风险。
当然,如果您采用这种方法,您需要备份和恢复您的个人文件。如果它们大部分都隔离在一个分区中(看起来/dev/sda3
可能符合这一要求,但不清楚),那么您可以保留该分区,同时删除其他所有内容——但总是存在出错并抹去它的风险,因此您不应将其视为备份。此外,由于您的分区表当前为 MBR 格式,而 Windows 的 EFI 模式启动或多或少需要使用 GPT 磁盘,因此您需要从 MBR 转换为 GPT,并且大多数工具在进行此类转换时会删除所有分区。我的 GPT fdisk(gdisk
、cgdisk
和sgdisk
)工具是 Ubuntu 的标准组成部分,它可以在保留现有分区的同时进行转换,因此如果您想在 EFI 模式下重新安装但保留一个或多个分区,您可以使用它gdisk
来完成这部分任务。请参阅这一页了解详情。
顺便说一句,偶尔需要重新安装整个操作系统,这也是我喜欢独立/home
分区在 Ubuntu 中。另一方面,如果您的大多数个人文件都位于 NTFS 上,以便它们可以在操作系统之间共享,则可能不值得以这种方式重新配置 Ubuntu。
概括
总体而言,从短期来看,恢复到 100% BIOS 模式启动可能是最简单的选择;从长远来看,转换为 100% EFI 模式启动(通过MBR2GPT
或完全重新安装)可能是最好的选择;而使用 rEFInd 动态切换启动模式是一种折衷。