私は2つの1TB NVMeドライブを搭載した新しいマシンを持っています。私が意図しているセットアップは、トリプルブートです。
- MacOS (オープンコアハッキントッシュ)
- ニクソス
- ウィンドウズ10
1 つのドライブの半分を使用して nixos をインストールし、もう 1 つのドライブに MacOS をインストールしました。使用していない半分のドライブに後で Windows をインストールするというアイデアです...
現時点での問題は、次の 2 つのインストールを異なる 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
1 つ目は MacOS で、2 つ目は 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 を起動できるようになりました。