外部驱动器/UEFI 上的 Linux

外部驱动器/UEFI 上的 Linux

我遇到了一个问题:我想让我的外置 USB3 HDD 可自行启动。目前我必须通过 UEFI 启动选项。

我的设置的说明:

  • 我有一台带 UEFI 的 Win8 Asus 笔记本电脑。
  • 我已经在外部硬盘上的加密分区上安装了 Debian。
  • 我想将 Win8 保留在笔记本电脑硬盘上,并在需要时在外部硬盘上启动(因此不要触碰 UEFI)

现在在 UEFI 设置中我有两个选项:

  • Debian
  • 视窗

目前,一切都很好。但是,我无法直接从 USB 启动 Debian,似乎我必须使用来自 /dev/sda 的“加载程序”,这对于游牧 HDD 来说很烦人。我必须使用 UEFI 启动,在设置 grub 的 /sdb/boot 上进行。

在 Debian 上,我可以看到 /dev/boot/efi 目录,该目录已安装并位于 /dev/sda1 上。

我尝试使用 install-mbr 为外部硬盘创建 MBR:没有成功。

有人知道如何让我的硬盘驱动器自启动吗?我如何摆脱 UEFI 启动选项并从另一台计算机启动?我在安装过程中是否遗漏了什么?

提前感谢您的回复。

干杯

答案1

如果您希望驱动器在任意计算机上启动,您有两种选择:

  • 执行 BIOS 模式安装,将 BIOS 模式引导加载程序放置在磁盘的 MBR 中。如果您也使用 MBR 分区系统对磁盘进行分区,这将最可靠地工作。问题是您几乎肯定必须使用目标计算机的内置引导管理器从该磁盘引导,并在 BIOS 模式下进行引导。您可能需要设置固件选项以启用 BIOS 模式(又称 CSM 模式或传统模式)引导,并且您可能需要禁用安全引导。
  • 将 EFI 模式的引导加载程序安装到外部磁盘的 EFI 系统分区 (ESP),但将其从操作系统指定的名称更改为EFI/BOOT/bootx64.efi。这是后备文件名,大多数 EFI 都会为您提供从此文件启动的选项(如果找到该文件);但是,您可能仍必须进入固件自己的启动管理器才能从磁盘启动。此外,如果目标计算机使用安全启动,您需要禁用该功能或​​在外部磁盘上安装 shim 或 PreLoader 程序EFI/BOOT/bootx64.efi(将 GRUB 或您使用的任何其他引导加载程序的名称更改为grubx64.efiloader.efi,取决于您使用的是 shim 还是 PreLoader)。使用 shim 或 PreLoader 对用户来说很好,但设置起来可能很麻烦,特别是如果您的发行版不支持它。

您可能会发现很多信息有助于理解这些问题。我建议您阅读我撰写的以下页面:

您可能不需要阅读第二页上的所有子页面,但前几个子页面以及有关安全启动的部分应该是有用的。

答案2

我可能对这个问题感到困惑,特别是我不太明白你所说的“自启动”是什么意思。进入 UEFI 配置菜单(可能是启动时按 F2)和/或启动选项菜单(可能是启动时按 F12)并选择要从中启动的外部硬盘驱动器,这不起作用吗?如果您想要的是让 Ubuntu 在驱动器连接时自动启动,请进入 UEFI 配置菜单,并将您想要的 USB 端口移至启动顺序的顶部。否则,如果这不是您想要的或无法解决您的启动问题,请启动修复(http://sourceforge.net/projects/boot-repair/, 或者https://help.ubuntu.com/community/Boot-Repair)擅长解决启动问题。

答案3

啊,我明白了。我在尝试将 mint 安装到外部硬盘驱动器时遇到了类似的问题,只不过在我的情况下,这样做会破坏我内部驱动器上的引导加载程序。现在的 Ubuntu 安装程序似乎默认在 sda 上安装 grub,即使我在分区菜单中告诉它将其安装在外部驱动器上,它也没有为我安装。您要安装哪个版本?我使用的是 mint 16,它基于 Ubuntu 13.04;我已经有一段时间没有尝试在外部驱动器上安装操作系统了,但我不记得早期版本有任何问题,所以您可以尝试 12.04。一旦您在驱动器上安装了可用的 Ubuntu 版本,重新运行 13.10 的安装程序可能会起作用。我只是选择不关心,所以我没有测试任何解决方案。您可以尝试使用手动分区表重新安装并选择在正确的驱动器上加载 grub。它可能对您有用。如果这仍然不起作用,请尝试从实时 USB 启动 Ubuntu,然后执行sudo grub-install sdx您应该将 x 替换为与外部驱动器(可能是 sdb 或 sdc)相对应的任何内容。您可以在中找到它们/dev,如果您不确定,请拔下驱动器

ls | greb sd

(在 中/dev)然后插入驱动器并再次执行:查看有什么变化。之后执行sudo update-grub。在执行此操作之前,请查看驱动器的分区表,例如使用 Ubuntu 附带的“磁盘”实用程序。需要在前端有一个逻辑分区(Ubuntu gui 安装使它成为 512 MB)来加载 grub。此外,您还应该在后端有一个交换分区(这应该是您拥有的 RAM 数量的 1 到 2 倍)。Ubuntu 使用 ext4 文件系统,因此如果不先删除驱动器的所有内容,可能很难创建必要的分区……这对您不起作用。在我使用 Windows 8 的短暂体验中,我发现唯一好的东西是分区工具,因此您可以尝试从那里进行分区。

祝你好运

答案4

我认为它可能会有用。

在 UEFI PC 上将 Linux(基于 ubuntu)完整安装到外部 SSD 驱动器时出现错误

Ubuntu 安装程序存在问题,正如 Linux Mint 论坛的 pbear 所写“...因为 Ubuntu 安装程序中有一个 bug,Mint 也使用了它,在 UEFI 中,它会破坏内部硬盘的引导加载程序,即使指定新的引导加载程序应仅安装到 USB 驱动器上。” 并且有很多解决方案,其中一些有效,一些则无效,很大程度上取决于 PC USB 驱动器配置。我偶然发现了一个相当简单但有效的解决方案,当时我对安装程序 bug 一无所知。我在 Huawei Matebook X Pro(Windows 10)上将 Elementary OS 5 安装在外部 Samsung Portable T5 SSD 驱动器上,当然系统因为 bug 而无法启动。所以我一直有整个 Windows 分区的 EaseUS Todo Backup 副本,然后我从这个副本中恢复了 Windows,从此以后 Windows 10 可以流畅地启动,Elementary OS 也是如此。这让我想到,也许我可以复制 Elementary OS 的整个分区并在出现问题时恢复它。首先,我了解了 Linux 备份软件,它们有很多,或多或少复杂。通常他们需要特别注意。然后我尝试并在我的旧 WD 1TB 磁盘上逐扇区地制作了 Elementary OS 备份副本。WD HD 通过 Axagon Fastport 通过 USB 连接到我的 Huawei Matebook,然后我将这个副本恢复到从我的旧 Asus Transformer 笔记本电脑中取出的 2.5 英寸小型 Hitachi HD 中,并安装在带有 USB 3.0 的 Tracer HD 外置外壳中,SSD 当然更快,与 SDD 上的系统一样快或非常接近。最好的是有一个可以承受 Ubuntu 安装程序错误的双系统。无论如何,我不明白为什么 Ubuntu 开发人员没有修复这个已知的多年以来的错误,以及为什么普通用户以及为什么他看到黑屏和烦人的消息后才知道这一点,并且继续使用无法启动的操作系统。

相关内容