GNU/Linux >> Linux の 問題 >  >> Linux

Linux – Grubでデフォルトのカーネルを設定しますか?

GRUB2がデフォルトでロードするカーネルを選択するにはどうすればよいですか?最近、Linuxリアルタイムカーネルをインストールしましたが、デフォルトで読み込まれます。デフォルトで通常のものをロードしたいのですが。

これまでのところ、私はデフォルトのOSを選択することしかできませんでした。そして、何らかの理由で/boot/grub.cfg すでにrt-kernelをロードして、それを汎用Linuxメニューエントリ(私の場合はArch Linux)に入れたいと想定しています。

承認された回答:

TomTomが彼の
Archの場合であることがわかったので、ほとんどのディストリビューションはこの時点で追加のカーネルを詳細オプションサブメニューに移動したと思います。

以前のカーネルをデフォルトとして選択するために、トップレベルのメニュー構造を変更したくありませんでした。ここで答えを見つけました:

http://www.humans-enabled.com/2014/08/how-to-set-default-grub-kernel-boot.html

要約すると:

1)$menuentry_id_optionを見つけます サブメニューの場合:

$ grep submenu /boot/grub/grub.cfg
submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {

2)$menuentry_id_optionを見つけます 使用するカーネルのメニューエントリ:

$ grep gnulinux /boot/grub/grub.cfg
menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.18.0-0.bpo.1-rt-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.18.0-0.bpo.1-rt-amd64-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.18.0-0.bpo.1-rt-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.18.0-0.bpo.1-rt-amd64-recovery-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.18.0-0.bpo.1-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.18.0-0.bpo.1-amd64-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.18.0-0.bpo.1-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.18.0-0.bpo.1-amd64-recovery-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.17.0-0.bpo.1-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.17.0-0.bpo.1-amd64-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.17.0-0.bpo.1-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.17.0-0.bpo.1-amd64-recovery-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.9.0-8-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-8-amd64-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.9.0-8-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-8-amd64-recovery-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {

3)/etc/default/grubで現在のデフォルトのgrubをコメントアウトします サブメニューの$menuentry_id_optionに置き換えます ステップ1から、選択したカーネルの$menuentry_id_option >で区切られたステップ2から 。

私の場合、変更されたGRUB_DEFAULT は:

#GRUB_DEFAULT=0

GRUB_DEFAULT="gnulinux-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc>gnulinux-4.18.0-0.bpo.1-amd64-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc"

4)grubを更新して変更を加えます。 Debianの場合、これは次のように行われます:

$ sudo update-grub

終わり。これで、起動時に、詳細メニューにアスタリスクが表示され、選択したカーネルで起動する必要があります。これはunameで確認できます 。

$ uname -a
Linux NAME 4.18.0-0.bpo.1-amd64 #1 SMP Debian 4.18.0-0 (2018-09-13) x86_64 GNU/Linux

これを最新のカーネルに戻すのは、新しい行をコメントアウトして#GRUB_DEFAULT=0のコメントを外すだけです。 :

GRUB_DEFAULT=0

#GRUB_DEFAULT="gnulinux-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc>gnulinux-4.18.0-0.bpo.1-amd64-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc"

次に、update-grubを再実行します 。


Linux
  1. Linuxでの起動時にsystemdを理解する

  2. Linuxカーネルテストのライフサイクル

  3. Linux –カーネル:名前空間のサポート?

  1. Linux –カーネルIP転送?

  2. Linux –異なるLinux / UNIXカーネルは交換可能ですか?

  3. 新しい irssi 接続にデフォルトのニックネームを設定するにはどうすればよいですか?

  1. Linuxサーバーで自動リブートレスカーネルアップデートを設定する方法

  2. Linux で 2 つのデフォルト ルートを設定する方法

  3. GRUB でデフォルトのカーネルを設定する