
2つのnixosシステムをインストールしてデュアルブートしようとしていますが、GRUBが機能するように正しく設定する方法を理解できません。
2つのnixosシステムをダブルブートしたいのは奇妙に思えますが、その理由は、システムの1つのカーネルをCONFIG_PREEMPT_RTに設定したいからです。https://github.com/musnix/musnix。そして私が望む他のシステムは通常のカーネルです。
nvme0n1p1
EFIパーティション()と暗号化LVMパーティション()を使用してnvme0n1p2
パーティション設定を作成しました。
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 953.9G 0 disk
├─nvme0n1p1 259:1 0 512M 0 part
└─nvme0n1p2 259:2 0 953.4G 0 part
└─root 254:0 0 953.4G 0 crypt
├─virtual--group-swap 254:1 0 16G 0 lvm [SWAP]
├─virtual--group-normal--root 254:2 0 172G 0 lvm
├─virtual--group-rt--root 254:3 0 172G 0 lvm /
└─virtual--group-shared--home 254:4 0 593.4G 0 lvm /home
両方のシステムにnixosが正常にインストールされ、各normal-root
システムrt-root
には独自の設定.nixとhardware-configuration.nixがあります。shared-home
両方のシステムのホームディレクトリにインストールするだけです。
両方のシステムのhardware-configuration.nixファイルでfileSystems."/boot"
EFIパーティションを指します。両方のシステムの Configuration.nix ファイルで、次の grub 構成を作成しました。
boot.loader = {
grub = {
enable = true;
efiSupport = true;
enableCryptodisk = true;
device = "nodev";
useOSProber = true;
};
efi.canTouchEfiVariables = true;
};
問題は、grubメニューに2つのシステムではなく、最後にインストールされたシステムのみが表示されることです。
grubメニューに表示される特定のシステムでは、すべてがうまく機能し、正常に起動できます。しかし、両方のシステムを表示するようにグラブを設定する方法を理解できませんか? 。私はまた、2つのシステムの代数学をどのように表示するかについての課題に直面しながら、まだどのシステムがどのシステムであるかを知ることができると思います。
答え1
システム設定ファイルからgrubにカスタムメニュー項目を追加できます/etc/nixos/configuration.nix
。
boot.loader.grub.extraEntries = ''
menuentry "Nix-OS custom configuration" {
search --set=myroot --fs-uuid <UUID-HERE>
configfile "($myroot)/boot/grub/grub.cfg"
}
'';
blkid
古いnixosルートパーティションのUUIDを設定し、システムを新しい設定に更新するために使用されます。
# nixos-rebuild switch