web-dev-qa-db-ja.com

GRUB 2-無制限のブートオプションがカーネルの更新で上書きされないようにする

デフォルトのUbuntuオプションを除き、すべてのgrubオプションをパスワードで保護しています。これは、ここで説明するように、/ boot/grub/grub.cfgのブートオプションに「--unrestricted」を追加することで実行されます。

https://wiki.archlinux.org/index.php/GRUB/Tips_and_tricks#Password_protection_of_GRUB_edit_and_console_options_only

問題は、grub2が更新されるたびに、「-unrestricted」パラメーターが消え、再度追加する必要があることです。これを永続的にする方法はありますか?

ありがとうございました!

1
Tux

そのファイル自体ではなく、generate/boot/grub/grub.cfgというスクリプトを編集する必要があります。

Ubuntuエントリについては、/etc/grub.d/10_linuxをチェックアウトし、menuentryを出力する行を検索してください。私のシステムの関連部分は次のようになります。

      echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
  else
      echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
  fi

最初の(echo "$title"を使用)はすべての「詳細オプション」に使用する必要があると思いますが、2行目(echo "$os"を使用)は「通常の」Ubuntuエントリを担当しているようです。

ここに追加のオプションを挿入して、grub.cfgファイルに表示する正しいmenuentry行が印刷されるようにすることができます。

Sudo update-grubを後で実行して、変更したスクリプトから構成を再生成することを忘れないでください。

その他の関連記事:

1
Byte Commander