安装到外部 USB 闪存盘/HDD UEFI

安装到外部 USB 闪存盘/HDD UEFI

我想将 Ubuntu 安装到外部 USB 驱动器,以免对我正在使用的笔记本电脑进行任何更改(预装 UEFI Windows 8.1)

如果我在安装过程中选择手动分区并选择 USB 驱动器进行引导加载程序安装,这是否足以能够通过在初始启动时使用笔记本电脑选择启动设备从 USB 驱动器启动,还是我需要做任何额外的准备?

我是否需要手动将 USB 驱动器预先分区为 gpt,还是 Ubuntu 安装程序会处理它?

我读到过当没有插入 USB 驱动器时会出现 grub 错误,但是因为它应该安装到 USB 驱动器上,所以当没有插入时怎么会出现错误呢?

答案1

通常,安装 Ubuntu 会产生以下变化:

  • 为 Ubuntu 创建分区并在该分区上安装 Ubuntu 文件。只要您在安装过程中细心,这些更改就可以毫不费力地限制在您的外部磁盘上。
  • 安装引导加载程序。这可能意味着:
    • 如果安装在 BIOS 模式下,代码将被写入 MBR 和/或您选择的分区以及磁盘上的其他位置。
    • 如果安装在 EFI 模式下,文件将被写入EFI 系统分区 (ESP)安装程序会识别该引导加载程序。EFI 模式安装还会修改 NVRAM 中维护的引导加载程序列表。

您建议的安装类型使得控制引导加载程序安装变得困难,因为 Ubuntu 安装程序 (Ubiquity) 用于控制引导加载程序位置的工具有点粗糙,尤其是对于 EFI 模式安装。除非您知道自己在做什么并且非常小心,否则您最终可能会更改内置硬盘上的文件。大多数尝试这样做的人最终会将 GRUB 部分安装在计算机的内置磁盘上,部分安装在外部磁盘上,这意味着当您尝试在拔下外部磁盘的情况下启动时,计算机将无法启动。

另外,请注意启动模式很重要。您现有的预装 Windows 8.1 几乎肯定处于 EFI 模式。因此建议以 EFI 模式安装 Ubuntu;但是,请注意 Ubuntu 安装模式实际上只会影响引导加载程序。因此,根据您的操作方式,您可能能够在 BIOS 模式下安装(或在仅 BIOS 的计算机上安装),只要您安装了 EFI 模式的引导加载程序即可。(稍后会详细介绍……)

基本上有两种好的方法可以进行:

  • 安装到外部驱动器,但要确保 GRUB 也安装在那里,而不是内部驱动器。最好的方法是临时更改内部磁盘上 ESP 的类型代码,确保外部磁盘上有 ESP,然后正常安装处于 EFI 模式。完成后,您应该将内部 ESP 的类型代码改回正确值,并将EFI/ubuntu/外部磁盘的 ESP 复制到EFI/BOOTshimx64.efi在该目录中重命名为bootx64.efi。这应该使外部磁盘像 USB 驱动器一样可启动。您将得到一个更改后的 NVRAM,但条目将被自动删除,或至少被忽略。您必须使用固件的启动管理器来确定要启动哪个操作系统。错误可能会导致我描述的那种问题,其中 GRUB 将控制一切,如果您在未插入外部磁盘的情况下启动,它将失败。然后您需要通过适当的文件处理来解决该问题。
  • 以“安装前尝试”模式启动 Ubuntu 安装盘,打开终端,然后输入ubiquity -b。这将导致安装程序正常安装,但跳过安装任何引导加载程序。您必须通过安装您选择的引导加载程序来自行纠正此问题。存在用于安装 GRUB 2 的半自动化工具,但出错的可能性与正确的可能性一样大。最简单的解决方案可能是安装我自己的重新索引.zip使用--usedefault选项从其文件中获取install.sh,例如,./install.sh --usedefault /dev/sdb1如果您的外部磁盘的 ESP 是/dev/sdb1。或者,由于 rEFInd 不依赖于 ESP 上的配置文件,因此您可以将其安装到内部磁盘,并且当外部磁盘拔出时,计算机仍将启动 Windows,但 rEFInd 将调解该启动过程。您可以使用此方法在 EFI 或 BIOS 模式下安装 Ubuntu。另请注意,如果您使用此方法,您可能需要禁用安全启动或跳过额外的步骤来安装 Shim。

如果您有一台测试/一次性计算机,则可以使用它来安装 Ubuntu。这样,如果出现问题,您就不会弄乱主计算机上的内部硬盘或其 NVRAM 条目。

抱歉,这些程序有点粗略;您必须做出很多决定,而且问题可能特定于系统且难以预测。

相关内容