GRUB:2番目のタイムアウトや選択、ショートカットを使用する方法はありますか?

GRUB:2番目のタイムアウトや選択、ショートカットを使用する方法はありますか?

私はopenSUSE Tumbleweed(この記事の入力中に20120913、読むたびに異なる可能性が高い)、カーネル5.14.1-1-デフォルト、grub2バージョン2.06-6.1を実行しています。私のハードウェア仕様が関連している場合(Asus Strix Z270Fマザーボードからnvidiaドライババージョン470.63.01でGF1080tiを使用している場合を除く)、私たちに知らせてください。

とにかく私はWindows / Linuxをダブルブートしましたが、約60/40%です。 Linuxがインストールされているドライブから起動し(UEFIはありますが、セキュアブートはオフです)(Microsoftが自分のコンピュータを所有しているとは思わず、私に尋ねずに起動順序を変更しない限り)に設定します。プログラムがロードされ、タイムアウトしました(8秒、おそらく重要ではありません)。

問題は、マルチモニタ設定があり、何らかの理由でグラフィックカードがサイドモニタをデフォルトモニタとして使用することです(BIOSはここに表示され、グラフィックドライバがロードされる前に他のすべての項目が表示されます)。その画面は電源に接続されていません(使用しないときにエネルギー吸血鬼になる必要はありません)。つまり、grubはその画面からのみロードされるため、通常どおりWindowsで起動するか(何もしない)オプションを選択できる間(キーを押して)、他のモニターを接続してオンにするか、盲目的にモニターを選択する必要があります。 (利用可能なオプションのいくつかを考えると、おそらく良い考えではありません。)他のモニタを開くことは、KDEが自動的にデフォルトのモニタに切り替えるために理想的ではありません。そのため、ディスプレイ設定(グラフィックカードに5つのデバイスが接続されているときにロードするのに少し時間がかかります)に行き、リセットする必要がありました。しかし、それは他の投稿に対する苦情です(今助けることができない場合は問題ありません)。

だから私が探しているのは...初期カウントダウンをキャンセルすると、Linuxのデフォルトで別のカウントダウンが始まるようにグラブを設定する方法はありますか?あるいは、メインディスプレイがオンになってLinuxで起動することがわかるまで、起動時にキーを設定してください。それともそうです...基本的には、grubでデフォルト以外のアイテムを選択する(好ましくは具体的な)盲目的な方法ですか?

ご回答ありがとうございます!

ベストアンサー1

Grub 2はショートカットをサポートしているため、これを達成できます。

grub.cfg を編集して --hotkey=l パラメータをメニュー項目に追加すると、必要なものが得られます。ただし、grub-updateが実行されると、/boot/grub.cfgファイルが上書きされます。

デュアルブートがないため、正しくテストできませんでしたが、/etc/grub.d/10_linuxの編集が私のシステムではうまくいきました。

ファイルで次のセクションを見つけます。

linux_entry ()
{
  os="$1"
  version="$2"
  type="$3"
  args="$4"

  if [ -z "$boot_device_id" ]; then
      boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
  fi
  if [ x$type != xsimple ] ; then
      case $type in
          recovery)
              title="$(gettext_printf "%s, with Linux %s (%s)" "${os}" "${version}" "$(gettext "${GRUB_RECOVERY_TITLE}")")" ;;
          init-*)
              title="$(gettext_printf "%s, with Linux %s (%s)" "${os}" "${version}" "${type#init-}")" ;;
          *)
              title="$(gettext_printf "%s, with Linux %s" "${os}" "${version}")" ;;
      esac
      if [ x"$title" = x"$GRUB_ACTUAL_DEFAULT" ] || [ x"Previous Linux versions>$title" = x"$GRUB_ACTUAL_DEFAULT" ]; then
          replacement_title="$(echo "Advanced options for ${OS}" | sed 's,>,>>,g')>$(echo "$title" | sed 's,>,>>,g')"
          quoted="$(echo "$GRUB_ACTUAL_DEFAULT" | grub_quote)"
          title_correction_code="${title_correction_code}if [ \"x\$default\" = '$quoted' ]; then default='$(echo "$replacement_title>
          grub_warn "$(gettext_printf "Please don't use old title \`%s' for GRUB_DEFAULT, use \`%s' (for versions before 2.00) or \`>
      fi
      echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' {" | >
  else
      echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} --hotkey=l \$menuentry_id_option  'gnulinux-simple-$boot_device_id' {" |>
  fi      
  if [ "$quick_boot" = 1 ]; then
      echo "    recordfail" | sed "s/^/$submenu_indentation/"
  fi
  if [ x$type != xrecovery ] ; then
      save_default_entry | grub_add_tab
  fi

そして追加してください--ホットキー=lパラメータがある場所です。 grub-updateを実行してlを押すと、Linuxから直接起動できるかどうかをテストします。

おすすめ記事