Ubuntu

如何為 DIY 多重引導 USB 安裝 rEFInd

  • December 2, 2017

我打算創建一個雙啟動持久 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。

  1. 格式:mkfs.vfat -F 32 /dev/sdd1
  2. 山:mkdir /tmp/usbboot && mount /dev/sdd1 /tmp/usbboot
  3. 準備目標文件夾:mkdir /tmp/usbboot/EFI
  4. CopyrEFInd的文件:(cp -a /path/to/refind /tmp/usbboot/EFI/或使用refind-install腳本refind-install --root /tmp/usbboot:)
  5. 編輯rEFInd配置以品嚐 ( /tmp/usbboot/EFI/refind/refind.conf)

在 UEFI 系統上完全安裝引導載入程序的最後一步是將其註冊到您的 UEFI 韌體中,使用efibootmgr或類似方法。可引導的 USB 驅動器通常會跳過這一點;它只會影響目前系統。要在其他系統上啟動,您將使用韌體的啟動菜單。(如果沒有插入其他驅動器,並且 USB 的 ESP 上沒有其他引導載入程序,則韌體應自動檢測rEFInd並自動載入它。)

引用自:https://unix.stackexchange.com/questions/408320