Grub 2のデフォルト値を永久に変更するには?

Grub 2のデフォルト値を永久に変更するには?

Fedoraは今Grub 2を使用しています。カーネルアップグレードを実行するたびに、デフォルトの起動オプション(Windows)が失われます。この問題をどのように解決できますか?

答え1

この問題に関連する変更/grubby改善があるかどうかはわかりませんanaconda。 Fedora Wikiページで次のガイドラインに従おうとしている人はいますか?

ただし、次にanacondaを使用してシステムをアップグレードすると、grub2-mkconfigは手動の変更を上書きする可能性があります。一部のカスタマイズは /etc/grubd/40_custom または /boot/grub2/custom.cfg に置くことができ、 grub2-mkconfig の実行時に引き続き適用されます。

それ以外の場合、上記のファイルに正確に何を入れることができるか会議生き残ったカーネルのアップグレードおよび/または実行grub2-mkconfig

これはからのものですFedoraのGrub Wikiページ:

grub2-mkconfig(およびos-prober)のため、/boot/grub2/grub.cfgエントリの順序を予測できないため、名前/タイトルにデフォルト値を設定します。

/etc/default/grubを開き、次の行があることを確認してください。

GRUB_DEFAULT=saved

次のコマンドを実行して grub.cfg に変更を適用します。

grub2-mkconfig -o /boot/grub2/grub.cfg

これで、すべての可能なメニュー項目が一覧表示されます。

grep "submenu\|^\smenuentry" /boot/grub2/grub.cfg | cut -d "'" -f2

今すぐ好みのメインメニュー項目を設定してください。

grub2-set-default "<submenu title>><menu entry title>"

メインメニュー項目の確認

grub2-editenv list

答え2

あなたは現在Fedoraを使用しています。できないこの設定を永続的なデフォルトに設定してください。

kernelソフトウェアが更新されると、grubbyGrub2メニュー項目を追加するために使用されます。そしてそれに全く注意を払わない/etc/default

引用Fedora Wiki:

FedoraのGrubbyは、カーネルアップデートを実行するときに設定をパッチし、必要な変更を加えないようにします。

ところで、アップデート後は古いカーネルを削除kernelします。package-cleanup --oldkernels --count=1grub2-mkconfig -o /boot/grub2/grub.cfg

答え3

私はFedoraを使用しておらず、これらの変更が(カーネルアップグレード後)永久的であるかどうかは100%確信できませんが、ファイルを編集する必要があると思います/etc/default/grub。 6行目では次のようになります。

GRUB_DEFAULT="0"

ここで、0 は grub リストの最初の項目です。必要に応じて編集してください。それからsudo update-grub2

答え4

少なくともUEFIシステムでは、Fedoraの状況が変更されました。このセクションはで説明します。https://systemd.io/BOOT_LOADER_SPECIFICATION/

起動するLinuxカーネルのリストは/boot/loader/entries/*.confから収集されます(注:これはESP内にはありません)。

ディレクトリパスまたは.confなしでこれらのファイルの1つの名前を使用する場合は、次のコマンドで使用できます。

  sudo grub2-set-default 2733f1c892a5422c98bdb188c4f62737-5.10.9-201.fc33.x86_64

これは私にとって効果的です。どれだけ粘り強くなったのか全く知りませんでした。

注:古いカーネルをデフォルトとして使用したい場合は、更新によって削除されないようにすることができます。 /etc/dnf/dnf.confのinstallonly_limitを0に変更します。

関連情報