在另一个磁盘上创建新的 EFI 分区以维护原始 Windows 启动

在另一个磁盘上创建新的 EFI 分区以维护原始 Windows 启动

我正在办公室的电脑上安装 ubuntu。由于我从未在 UEFI 系统上将 ubuntu 与现有 Windows 一起安装,因此我想避免所有可能的问题。我已经阅读了所有可用的文档,但仍有一个简短的问题。我的电脑有两个 SSD,一个用于 Windows 7,另一个将完全专用于 ubuntu。如果我想确保能够恢复到初始状态,我可以在第二个磁盘上创建一个新的 EFI 分区并将此磁盘设置为启动优先级吗?然后 GRUB 会自动找到 Windows 7 吗?而且,如果我遇到问题,我可以在设置中切换启动优先级,然后启动 Windows 吗?

答案1

我听说,Ubuntu 安装程序中有一个错误,导致它总是将 GRUB 放在EFI 系统分区 (ESP)在第一个磁盘上(通常是/dev/sda),即使您尝试将其强制安装到另一个 ESP 上(例如,上的一个/dev/sdb)。这一事实可能会使分离 Windows 和 Ubuntu 安装变得比您想象的要棘手一些。此外,Ubuntu 配置 GRUB 的方式依赖于 ESP 上的文件和grub.cfgUbuntu/boot/grub目录中的配置文件,该文件不在 ESP 上。因此,如果您安装 Ubuntu 然后通过删除 Ubuntu 分区来删除它,GRUB 将保留下来,但由于其grub.cfg文件消失,计算机将grub>在启动时挂起提示。可以通过手动从 ESP 中删除 GRUB 文件或通过efibootmgr在 Ubuntu 或简易UEFI在 Windows 中删除 Ubuntu 分区。

或者,你可以按照以下步骤安装 Ubuntu:

  1. 下载我的 USB 闪存驱动器或 CD-R 版本的rEFInd 启动管理器
  2. 根据需要将 rEFInd 图像写入 USB 闪存驱动器或 CD-R。
  3. 以“安装前尝试”模式启动 Ubuntu 安装程序。这样就会出现正常的 Ubuntu 桌面。
  4. 打开终端窗口。
  5. 输入ubiquity -b。这将启动安装程序,但-b选项会告诉它不是安装 GRUB。
  6. 在安装程序中(或者在运行安装程序之前,如果您愿意),设置您的分区,并确保在第二个磁盘(您要安装 Ubuntu 的磁盘)上包含一个 ESP。
  7. 安装完成后,使用 rEFInd 磁盘重新启动。您应该会看到 rEFInd 菜单出现。(注意:我分发的 rEFInd 磁盘映像不支持安全启动。因此,如果安全启动处于活动状态,您需要禁用它或修改 rEFInd 映像以包含 Shim。您可以稍后重新启用安全启动,但那时您可能需要完成一些额外的工作。Windows 7 不支持安全启动,因此您不应该遇到此问题。我提到这一点是为了以防有人想对 Windows 8 或更高版本的安装做类似的事情。)
  8. 使用 rEFInd 菜单启动 Ubuntu。(注意:如果您使用单独的/boot分区,则需要按两次 F2 或 Insert 并添加一个ro root={rootfs}选项,其中{rootfs}是指向根 () 文件系统的指针/,例如/dev/mapper/lvm-root。这通常仅在您使用 LVM 或软件 RAID 时才有必要。)
  9. 在 Ubuntu 中,检查并在必要时进行修改,/etc/fstab以便它将 ESP 安装在 Ubuntu 的目录树中/boot/efi。如果您需要更改此详细信息,请确保卸载已安装在那里的所有内容,并在继续之前将 Ubuntu 磁盘的 ESP 安装在/boot/efi
  10. 安装您喜欢的引导加载程序。
    • 如果您想使用 GRUB 2,请安装该grub-efi软件包。您可能还需要运行sudo grub-install和/或sudo update-grub
    • 如果您想使用 rEFInd,请安装 rEFInd Debian 软件包或 PPA。如果系统询问您是否要将 rEFInd 复制到 ESP,请务必肯定地回答。

此时,当您重新启动时,您应该会看到 GRUB 或 rEFInd 出现,并且您应该能够启动 Windows 或 Ubuntu。如果您想恢复出厂安装,您可以清除 Ubuntu 磁盘上的所有分区,包括 ESP,然后计算机应该会跳过现在无效的 GRUB 或 rEFInd 条目并直接启动 Windows。(如果您使用 rEFInd,即使您删除了所有 Ubuntu 分区,但保留 rEFInd 所在的 ESP,它也应该会继续启动 Windows。)

相关内容