私の設定は次のとおりです
-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_custom
Ubuntuを編集したか、/etc/grub.d/
Ubuntuディレクトリに別のファイルを追加しましたか?その後、ファイルはArchの起動時に使用された実際のカーネルオプションを保持し、ファイルを編集してsudo update-grub
Ubuntuで実行します。
sudo update-grub
それとも、UbuntuでArch起動エントリを実行すると自動的に表示されますか?この場合、os-prober
Ubuntuのスクリプト(/etc/grub.d/30_os-prober
onで呼び出されるsudo update-grub
)は自動的にArchインストールを検出できます。実際には、見つかった他のLinuxインストールを探しているように見える/boot/grub/grub.cfg
ので、Archでスクリプトを作成し、sudo update-grub
Ubuntuを実行すると実際に選択されます。 Arch側でこのファイルで指定されたカーネルブートオプションは、ArchにGRUBの「実際の」2番目のコピーがインストールされていなくても同じです。予想される場所にGRUB構成ファイルを置くだけで十分です。