我有一台新机器,配有两个 1 TB nvme 驱动器。我打算设置三重启动
- MacOS (opencore 黑苹果)
- 尼克索斯
- 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。