從不同驅動器雙/三 efi 啟動而不通過 BIOS?

從不同驅動器雙/三 efi 啟動而不通過 BIOS?

我有一台帶有兩個 1 TB NVME 驅動器的新機器。我的預期設定是三重啟動

  • MacOS(開放核心駭客)
  • 尼克索斯
  • Windows 10

我使用一個驅動器的一半安裝了 nixos,在另一個驅動器上安裝了 MacOS。想法是稍後在未使用的半驅動器上安裝 Windows...

我現在的問題是我使用不同的 EFI 分割區獨立進行了這兩個安裝:

Disk /dev/nvme0n1: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Samsung SSD 970 EVO Plus 1TB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: B82F9B41-F608-4292-80D2-0FFF780579C2

Device          Start        End    Sectors   Size Type
/dev/nvme0n1p1     40     409639     409600   200M EFI System
/dev/nvme0n1p2 409640 1953525127 1953115488 931.3G unknown


Disk /dev/nvme1n1: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Samsung SSD 970 EVO Plus 1TB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: A926C80C-3BBF-4B3A-B6A9-3149DEFC5E61

Device              Start        End    Sectors   Size Type
/dev/nvme1n1p1    1048576 1031798783 1030750208 491.5G Linux filesystem
/dev/nvme1n1p2 1031798784 1048575999   16777216     8G Linux swap
/dev/nvme1n1p3       2048    1048575    1046528   511M EFI System

第一個是 MacOS,第二個是 nixos。

因此,我透過 nixos 安裝獲得的 grub 不支援 MacOS,同樣 opencore 也不支援 nixos grub。因此我每次都必須透過 BIOS 設定來選擇啟動哪個實體驅動器。它們是同一型號並沒有幫助:)

在此輸入影像描述

有沒有簡單的方法可以將 opencore 加入 grub 中,反之亦然?獎勵積分,我也希望 Windows 10 也能獲得同樣的積分…

答案1

我在 nixos 配置中向 grub 添加了額外的手動條目:

# Use the systemd-boot EFI boot loader.
  boot.loader = {
    #systemd-boot.enable = true;
    efi = {
      canTouchEfiVariables = true;
      efiSysMountPoint = "/boot";
    };
    grub = {
      devices = [ "nodev" ];
      efiSupport = true;
      enable = true;
      extraEntries = ''
        menuentry "Hackintosh BOOTx64" {
          insmod part_gpt
          insmod fat
          insmod search_fs_uuid
          insmod chain
          search --fs-uuid --set=root $UUID
          chainloader /EFI/BOOT/BOOTx64.efi
        }
      '';
      version = 2;
      #useOSProber = true;
    };
  };

其中 $UUID 是來自 的 MacOs EFI 分割區 UUID sudo blkid

所以現在我將 grub2 作為我的主要啟動,並且可以從那裡啟動到 OpenCore。

相關內容