我打算创建一个双启动持久 USB。我想尝试创建一个可以启动 macOS High Sierra 和 WINdows 10 的 USB。根据我对 LVM 的了解,我可以创建 2 个 VG、1 个 APFS 和 1 个 NTFS。这将允许我在 PC 上启动 Windows10,在 Mac 上启动 Windows10/macOS。我知道解决方法包括使用 2 个 USB 或使用 bootcamp,但我想试一试。rEFInd 将能够为我提供我需要的选项,在他们自己的 VG 中使用单独的 /boot 文件。
我没有使用 GUI,而是利用这个机会来了解基础知识。这些是我采取的步骤。
第 1 步:我用
sudo dd if=/dev/zero of=/dev/sdb bs=4k && sync
第 2 步:添加 GPT。
sudo gdisk /dev/sdb
o # Create new empty GPT
第三步:创建 EFI 分区
n # new partition
1 # 1st partition
<enter> # suggested/default start sector
+512M # Internet wisdom on EFI size
ef00 # EFI system
第 4 步:创建 LVM 分区
n # new partition
4 # 2nd partition
+128M # Internet wisdom on good practice
-128M # Internet wisdom to create buffer space
8e00 # LVM file system
打印最终结果:
Disk /dev/sdd: 242614272 sectors, 115.7 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): FE8B1928-7122-4004-9CF6-D5D47C08999E
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 242614238
Partitions will be aligned on 2048-sector boundaries
Total free space is 526302 sectors (257.0 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 1050623 512.0 MiB EF00 EFI System
2 1312768 242352094 114.9 GiB 8E00 Linux LVM
这是我迷路的地方。我不知道如何将引导加载程序安装到 EFI 分区中。我关注了 Rod Smith 的为 Linux 管理 EFI 引导加载程序:EFI 引导加载程序安装和rEFInd 引导管理器:安装 rEFInd,但我迷路了/boot/efi
。我的 Ubuntu 机器不是 /boot/efi,而是 /boot/grub。
谁能建议在外部 USB 上实现 rEFInd 的实际步骤?
EFI 系统分区只是一个 FAT32 格式的分区(在 GPT 分区表上设置了 ESP 引导标志)。一些 UEFI 系统很乐意从标准 MBR 分区上的 FAT32 分区加载引导加载程序。在我看来,您已正确创建它,但缺少格式。格式化后,您将通过复制 rEFInd 文件在此处“安装”rEFInd。
mkfs.vfat -F 32 /dev/sdd1
mkdir /tmp/usbboot && mount /dev/sdd1 /tmp/usbboot
mkdir /tmp/usbboot/EFI
rEFInd
的文件:(cp -a /path/to/refind /tmp/usbboot/EFI/
或使用refind-install
脚本refind-install --root /tmp/usbboot
:)rEFInd
配置以品尝 (/tmp/usbboot/EFI/refind/refind.conf
)在 UEFI 系统上完全安装引导加载程序的最后一步是将其注册到您的 UEFI 固件中,使用
efibootmgr
或类似方法。可引导的 USB 驱动器通常会跳过这一点;它只会影响当前系统。要在其他系统上启动,您将使用固件的启动菜单。(如果没有插入其他驱动器,并且 USB 的 ESP 上没有其他引导加载程序,则固件应自动检测rEFInd
并自动加载。)在可移动磁盘上,最好将引导加载程序 (
refind.efi
) 复制/重命名为/tmp/usbboot/EFI/boot/bootx64.efi
(使用 quixotic 说明中的路径名)。这是 UEFI 固件查找的特殊文件名:如果存在,则磁盘将被检测为 UEFI 可引导。如果您为引导加载程序使用任何其他路径或文件名,那么您需要使用
efibootmgr
或类似的方式来指定引导路径,正如 quixotic 所说。这对于永久安装来说很好,但如果您的目的是拥有一个可以插入任何系统以启动您自己的操作系统的 USB 设备,那么它就不太方便了。但是,您似乎打算在 USB 设备上使用 Linux LVM - 这不太适合您。如果没有额外的软件(或根本没有),Windows 和 macOS 都不会理解 Linux LVM,并且绝对不会接受它作为其系统分区的位置。
您在这里不需要 Linux LVM:这对您的计划来说只是一个主要的复杂因素。只需使用 GPT 分区表创建一个 NTFS 分区和一个 APFS 分区。