如何让外部 USB 磁盘可启动 bios 和 uefi

如何让外部 USB 磁盘可启动 bios 和 uefi

我有一台只有 BIOS(Ubuntu)的笔记本电脑和一台只有 UEFI(Windows)的笔记本电脑以及一个安装了 Ubuntu USB 记忆棒和一个 USB 外置硬盘。

USB 安装棒可以在两台笔记本电脑上启动,但是我在 BIOS 笔记本电脑上安装 Ubuntu 的外部驱动器无法在 UEFI 笔记本电脑上启动。

在外部磁盘上,我创建了一个带有 boot、esp 标志的 fat32 分区和一个带有 legacy_boot 标志的 ext 4 分区。我还在外部硬盘上创建了一个带有 BOOT 的 EFI 目录(在 bootx64.efi 内)和 grub 目录(在 grubx64.efi 内)。

外部磁盘在 BIOS 笔记本电脑上运行良好,但在 UEFI 笔记本电脑(安全启动已禁用)启动时,我只看到黑屏,豬>

A

谁能帮帮我?外部磁盘的 gparted 在此处输入图像描述

答案1

看起来还行,但 EFI 下的目录名称至关重要。我假设您的磁盘分区是旧式的,因此不需要显式 2M bios-grub 分区。UEFI 和 DOS 分区不是标准方式(使用 GPT 和显式 bios-grub 分区以及 EFI 分区),但实际上这对您来说没什么区别。

无论您在哪里安装它,示例 EFI 分区目录布局。

  • /EFI/Boot/bootx64.efi——这是所使用的引导加载程序,因此,将其作为 shimx64.efi 的副本以实现安全启动,否则将其作为 grubx64.efi 的副本(或者仅为安全启动进行设置,并且它可以双向工作。

  • /EFI/Boot/grubx64.efi ——当 bootx64.efi 是 shimx64.efi 的副本时,将签名的 grubx64.efi 放在同一目录中。

  • /EFI/ubuntu /grub.cfg —— grub stub 配置文件。

根目录位于第八个分区的 grub.cfg 存根文件示例:

search.fs_uuid Your-UUID-here root hd0,gpt8 
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

相关内容