Arch Linuxを正しく起動するためにNixOSのGRUBを入手できますか?

Arch Linuxを正しく起動するためにNixOSのGRUBを入手できますか?

Arch Linux、Gentoo Linux、NixOSを3回起動しました。問題は、これらのオペレーティングシステム、特にGRUB2ブートローダのバージョンが互いにうまく機能しないことです。 NixOS でブートローダを設定すると、Gentoo エントリと NixOS エントリが正しく起動しますが、GRUB2 設定の Arch Linux エントリは実際に Arch Linux の代わりに NixOS を起動します。 Arch LinuxでGRUB2を設定すると、NixOSはそれを認識しませんが、Gentooは認識します(os-proberがインストールされています)。私のパーティションは次のとおりです

/dev/sda
 - /dev/sda1 - my EFI partition
 - /dev/sda2 - my Gentoo partition
 - /dev/sda3 - my Arch Linux partition
 - /dev/sda4 - my NixOS partition
 - /dev/sda5 - my swap partition
/dev/sdb
 - /dev/sdb1 - my data partition on which I store config files, documents, etc.

/dev/sdaには、保護MBR(該当する場合)を含むGPTパーティションテーブルがあります。

それで、私の質問は、Arch LinuxのGRUB2ブートローダにNixOSに適したブートエントリを認識して生成させる方法はありますか?それ以外の場合、NixOSのブートローダにArch Linuxに適したエントリを作成させる方法はありますか?ここ私の設定.nixファイルここ私のハードウェア構成.nixファイル。

明らかに、これらのシステムの1つでブートローディングを管理するためにGRUB2を設定すると、そのディストリビューションのブートローダーだけがそれを管理するようになりました。 EFIパーティションから別のディストリビューションのブートローダファイルを削除しました。たとえば、NixOSを使用してブートロードを管理するときに、/boot/EFI/archフォルダ(EFIが/bootにマウントされている場所)を削除し、Arch LinuxカーネルイメージをEFIパーティションからArch Linuxルートパーティションの/に移動しました。 。ブートフォルダ。

編集:NixOSを入手しましたほぼArchを実行するには、GRUB2を正しく設定してください。 Archの/etc/fstabでまだ/dev/sda1を/bootにマウントしましたが、ブートローダをArchからNixOSに変更したため、もうそうではありません。

現在の構成ファイルの唯一の問題は次のとおりです。

initrd  /boot/intel-ucode.img

変える:

initrd  /boot/intel-ucode.img /boot/initramfs-linux.img

または:

initrd  /boot/intel-ucode.img /boot/initramfs-linux-fallback.img

正確な入力によって異なります。その結果、Archを起動するとカーネルパニックが発生します。それでは、毎回手動でファイルを編集することなく、適切な/boot/initramfs-linux*.img行をどのように追加しますか?

ベストアンサー1

システムでGRUBを管理するオペレーティングシステムが複数ある場合、ブートエントリの場所を含めてGRUBを設定する方法を置き、互いに戦うことがよくあります。

GRUBを管理するシステムは1つだけ置くのが最善です。あなたの場合、ロールバックリンクを管理する方法のためにnixOSになります。

おすすめ記事