grub.cfgが別のディストリビューションにあるときのカーネルパラメータの設定

grub.cfgが別のディストリビューションにあるときのカーネルパラメータの設定

私の設定は次のとおりです

-M.2 SSDのWindows 10

- 一般的なSSD(sdb)のUbuntu 18.04

- Arch Linuxもsdbにありますが、別のパーティションにあります。

まず、grubを使ってubuntuをインストールし、後で別のブートローダをインストールせずにArchiLinuxを追加しましたが、設定は基本的に同じですこのガイド提案。/etc/default/grub を編集して実行して、Ubuntuにカーネルパラメータを追加できますsudo update-grub。ここで変更した内容が持続することを確認できますcat /proc/cmdline

ところで、Archにetc/default/grubがあり、grub.cfgがないため、変更を適用できません。sudo grub-mkconfig -o /boot/grub/grub.cfg出力対応するファイルやディレクトリはありません。明らかに.cfgを更新すると、Archs grubファイルの変更はUbuntuに送信されず、ubuntu .cfgはアーチのパラメータをロードしません。

2番目のgrubインスタンスをインストールせずにアーチインストールにカーネルパラメータを追加する方法はありますか?

編集:Ubuntuのgrub.cfgでアーチLinuxエントリを手動で編集してアーチのカーネルパラメータを恒久的に変更することはできましたが、それが実際の解決策だと思いませんか?走るたびにやり直す必要はありませんかupdate-grub

答え1

「他のディストリビューションのgrub.cfg」と言うのは変です。これは、ディストリビューションの関連パッケージ構成(grubという名前がありますが、起動中は決して使用されません)ではなく、grubの構成(実際の起動プロセス中に使用されます)です。 grubインストーラと設定ツールだけが必要です。)

Archを使用してGrubをインストールまたは構成しないことをお勧めします。 Archに関連パッケージをインストールする必要もありません。 Ubuntuに関連パッケージをインストールし、Ubuntuで実行するたびにArchlinuxカーネルを自動的に検出するように設定しますupdate-grub。パッケージはディストリビューションによって動作や構成が異なるため、両方を使用すると問題が発生する可能性があります。

答え2

UbuntuでArchがGRUBに表示されるようにするために、最初に何をしましたか?

/etc/grub.d/40_customUbuntuを編集したか、/etc/grub.d/Ubuntuディレクトリに別のファイルを追加しましたか?その後、ファイルはArchの起動時に使用された実際のカーネルオプションを保持し、ファイルを編集してsudo update-grubUbuntuで実行します。

sudo update-grubそれとも、UbuntuでArch起動エントリを実行すると自動的に表示されますか?この場合、os-proberUbuntuのスクリプト(/etc/grub.d/30_os-proberonで呼び出されるsudo update-grub)は自動的にArchインストールを検出できます。実際には、見つかった他のLinuxインストールを探しているように見える/boot/grub/grub.cfgので、Archでスクリプトを作成し、sudo update-grubUbuntuを実行すると実際に選択されます。 Arch側でこのファイルで指定されたカーネルブートオプションは、ArchにGRUBの「実際の」2番目のコピーがインストールされていなくても同じです。予想される場所にGRUB構成ファイルを置くだけで十分です。

関連情報