我有一台戴尔 7567 笔记本电脑,配备 1 个 SSD 和 1 个 HDD。SSD 中安装了 Windows。
我将逐步解释事件的顺序
我尝试安装 Ubuntu,但安装程序在准备安装时一直卡住,这是分区之前的步骤
我决定移除我的 SSD,然后尝试安装
它成功了,安装继续进行。我在硬盘上安装了 Ubuntu。还在硬盘上为 Ubuntu 创建了一个新的 EFI 分区。
之后我再次放入我的固态硬盘,现在当我选择启动到 Windows 时收到一条错误消息。
我收到 Process1 Intiation failed stopcode
我认为我的分区由于两个 efi 而混乱,这是导致此错误的原因(如果您认为是其他原因,请告诉我)
请告诉我如何修复此问题。Ubuntu 运行良好。但我也需要 Windows。有没有办法合并我的两个 EFI 分区。我可能会丢失数据。请帮忙。
答案1
简短回答:
总的来说,这是一个 Windows 问题,所以我建议在 Windows 论坛上提问。快速谷歌一下你的错误信息,结果如下这个。我建议不要尝试组合您的 ESP,因为这几乎肯定不是问题的根源,而且这样做可能会产生新的问题。如果问题与 Ubuntu 有关,则启动信息列表(见下文)可能会有所帮助,但如果没有 Ubuntu 解决方案,则最有可能是 Windows 特有的问题。
长答案:
拥有两个 ESP 是完全合法的,尽管有一些注意事项。最重要的是,如果同一个磁盘上有两个 ESP,Windows 7 安装程序将阻塞。我不知道它是否会与两个磁盘混淆,每个磁盘都有自己的 ESP;我不知道这是否是较新版本的 Windows 的问题。我从未听说过已安装的 Windows 因第二个磁盘有新的 ESP 而阻塞。(我自己以这种方式安装了 Windows,没有问题。)所有这些都表明,尝试合并两个 ESP 可能是徒劳的,并且本身可能会导致新的问题......
特别是,如果你决定合并两个 ESP,那么将文件从一个 ESP 复制到另一个 ESP不够;你需要为复制的引导加载程序创建一个新的 NVRAM 条目efibootmgr
(在 Ubuntu 中),bcdedit
或者简易UEFI在 Windows 中,或者在其他操作系统中使用类似的工具。
我对你的问题还有其他一些想法:
- 您如何选择启动 Windows?-- 您说您可以选择启动 Windows,但不清楚您是如何做到这一点的。它可能是 EFI 的内置启动管理器(您可能用来启动 Ubuntu 安装程序的相同工具)或 GRUB。如果您使用的是 EFI 启动管理器,那么系统可能会以与以前相同的方式启动(但请参阅下一点);但如果您使用的是 GRUB,它可能会尝试以非常不同的方式启动 Windows。这可能是问题的根源。如果是这样,Boot Repair 的 BootInfo 输出可能有助于诊断问题。您可以运行启动修复实用程序并选择“创建 BootInfo 摘要”选项。(不要点击“建议修复”,至少现在还不行!)当询问是否上传报告时,单击“是”,然后发布此处提供的 URL。
- Windows 的 EFI 启动项可能丢失-- EFI 依靠 NVRAM 中的条目来启动引导加载程序。一些(但不是全部)EFI 会自动删除无效条目,因此当您拔下 Windows 磁盘并启动计算机以安装 Ubuntu 时,原始 Windows 条目可能已被删除。某些 EFI 还会在 Windows 存在时自动为其添加条目,因此当您重新插入磁盘时,可能会创建一个新条目 - 但这个新条目可能与原始条目不完全匹配。同样,Windows 通常使用后备文件名(
EFI/BOOT/bootx64.efi
),如果没有其他可用项,EFI 将启动该项,因此您可能通过此条目启动。这可能是导致您出现问题的一个因素。不幸的是,如果我没记错的话,原始条目已丢失,即使有 Boot Info 输出,也可能不清楚它应该是什么;但无论如何,该输出中可能存在线索。在这种情况下,Windows 工具应该能够创建一个工作条目,但这是 Windows 论坛上讨论的主题。 - 文件系统可能损坏-- Windows 8 及更高版本使用快速启动和休眠功能,这可能会导致双启动设置中的文件系统损坏。因此,必须禁用这些功能,如所述这里和这里。如果您在安装 Ubuntu 之前没有执行此操作,则可能是您的 Windows ESP 在某个地方损坏了,这可能会导致您的问题。如果是这样,文件系统修复(在
dosfsck
Ubuntu 或CHKDSK
Windows 中)可能会解决问题。在最坏的情况下,您可能需要使用 Windows 工具重新安装 Windows 引导加载程序。(如果您有备份,从备份中恢复它们也可以。)
请注意,所有这些问题基本上都是对 Windows 启动失败的触发原因的解释。除了通过 GRUB 启动之外,解决方案很可能来自运行 Windows 修复工具。如果问题是由尝试通过格式错误的 GRUB 启动项启动 Windows 引起的,那么在 Ubuntu 中修复该问题应该可以解决问题;但其他原因将需要 Windows 修复。因此,在尝试任何其他操作之前发布 Boot Info 输出可能会有所帮助;但您应该准备在 Windows 中寻找解决方案。
答案2
多个 ESP 不会造成混乱。有 2 个 ESP(每个磁盘 1 个)不是问题。我的 SSD 上有 W10,HDD 上有 Linux Mint。我的 UEFI 配置为使用 Grub 在 HDD 的 ESP 上启动,在 Grub 菜单中,我有一个菜单项“Windows 启动管理器”,它是 SSD ESP 的链式加载。它运行完美(我唯一担心的是我想将 Linux 放在 SSD 上,将 W10 放在 HDD 上 - 这是一场噩梦)
我非常确定,您的问题是由于您移除了 SSD 造成的。它可能在某处更改了磁盘索引。
首先,当您安装 Ubuntu 时,系统就像一个全新的系统。没有其他操作系统。因此,Ubuntu Grub 显然无法为您的 Windows 提供菜单项。所以问题(和线索)是,在放回 SSD 后,您如何在启动时选择 Windows ????? F12 可能?
正如 Rod 所说,(您可能对他写的内容很有信心。Rod 是 UEFI 专家。我花了几天时间阅读他的网站以找到答案 - 作为补偿,我应该为他的网站提供 CSS ;-) 我认为您必须运行 Windows 的恢复工具才能重新创建启动过程。接下来可能发生的情况是 UEFI 将在 SSD 的 ESP 上启动。但这不是问题。您可以轻松更改它。
答案3
这可能是你的固件问题。有些固件不支持每台机器有多个 ESP1,2。其他固件甚至支持每个磁盘多个 ESP。SPEC 无论如何都不需要支持多个 ESP。所以你不能真的责怪固件。你必须仔细选择你的机器,尽管我很确定 2020 年以后的现代系统支持几乎所有必需和可选功能。不过,我最近拿到了一些旧笔记本电脑和奇怪的新制造的超便宜产品,每台机器只支持 1 个 ESP。
如果您发现在不同的磁盘上不能有超过 1 个 ESP。那么您仍然有一些选择:
尝试升级 BIOS。此后,其中一台笔记本电脑实际上可以接受多个 ESP。
检查您的 BIOS 是否提供通过选择 EFI 分区中的指定文件来创建启动项的选项。如果可以做到这一点,您就可以在同一个 EFI 分区上安装 Windows 和 grub 引导加载程序。它们都将在 EFI/BOOT/ 中竞争。EFI/BOOT 包含一个默认引导加载程序:例如,如果您最后安装 Windows,它将是 Windows 引导加载程序。但只要它们具有不同的引导加载程序 ID,两者仍然在 中具有自己独立的子目录
EFI/<id>/
。因此,您可以创建直接指向这些 efi 文件的启动项。然后在启动菜单中,您可以选择要启动哪一个。与传统模式不同,您不需要特殊工具将信息写入分区的特殊范围。bcd 数据库或 grub.cfg 中的大多数条目取决于根分区的 uuid/标签。因此,在大多数情况下,您只需复制 ESP 中的文件即可合并 2 个 ESP。- 复制文件后,您需要进入bios界面删除NVRAM中的旧条目并创建新的条目。
- 某些机器的启动项甚至包含特殊的 bcdobject uuid。但您不需要复制该信息。一旦您启动到 Windows,它可能会自行更新。
不幸的是,有些机器不提供通过选择文件来创建启动项的选项。您只能选择磁盘。在有些机器上,您仍然可以使用 efibootmgr 来推送指向特定文件的条目。但是,dell 和 lenovo 笔记本电脑甚至不允许这种情况发生(令人惊讶的是,固件不允许在启动项中指定 /File)。它们实际上只能从
EFI/BOOT/BOOT<arch>.efi
然后您必须修改 bcd 菜单以允许通过 bcd 管理器运行 ubuntu efi 应用程序启动。但是,这种设置非常不稳定。因为任何来自 ubuntu 的 grub 更新或来自 windows 的 bcd 更新都可能弄乱这个设置。对于那些只有单个 ESP 的人来说,这真是个坏消息。所以最后,我决定在不同的 USB 闪存驱动器上安装引导加载程序。内部硬盘驱动器上根本没有 ESP。然后,当我决定切换系统时,我只需插入相应的 USB 驱动器(每台机器实际上不需要超过 2 个,只需一个用于所有 Windows 安装,一个用于 grub 管理的操作系统。)。这有点烦人,但工作非常稳定。您甚至可以通过简单地复制 EFI 分区的内容来获得多个备份。这确实是我找到的终极解决方案,在此之后,我再也没有遇到过单启动问题。我开始在我所有的机器上使用此方法,而不仅仅是作为那些不幸固件的解决方法。