web-dev-qa-db-ja.com

Fedora 31でデフォルトのkerneloptsを処理する正しい方法は何ですか?

私はFedora 31を実行していて、それをインストールしたとき(F29)、mem_sleep_default=deepGRUB_CMDLINE_LINUX_DEFAULT/etc/default/grubを追加しました。今、私はそのオプションを削除したかったのですが、このようなファイルを見つけました:

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX=""
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true

rd.lvm.lvrd.luks.uuidなどのオプションはまだたくさんありますが、/boot/efi/EFI/Fedora/grub.cfgにはまだありますが、他の場所では見つけることができません。

F30やF31にアップグレードしてから変わったのではないかと思います。また、GRUB_ENABLE_BLSCFG=trueは、物事が今とは異なる方法で行われていることを意味している場合があることにも気付きました。 kerneloptsを変更するためにgrub2-mkconfigを使用しないでください。しかし、私は重要だと思う私のすべてのkerneloptsを失うことを恐れています。

これを処理する正しい方法は何ですか?

3
P1zz4br0etch3n

推奨されるアプローチはgrubbyを使用することだと思います:

grubby --update-kernel=ALL --args="mem_sleep_default=deep"

与えられた引数をカーネルコマンドラインに追加し、

grubby --update-kernel=ALL --remove-args=mem_sleep_default

削除します。

grubbyは、加えられた変更を最小限に抑え、カーネルパラメーターを更新するときに、上記は他のパラメーター(現在実行中のカーネルの起動に使用されるパラメーターに基づく)を保持します。

/etc/default/grubは必ずしもブートパラメータの参照ファイルではありません。 EFIシステムのAFAICTは/boot/efi/EFI/Fedora/grubenv (というより、 /boot/grub2/grubenv)。

補足情報については、Fedora wikiの the GRUB 2 wiki page を参照してください。

2
Stephen Kitt