Btrfsルートを使用してopenSUSE13.1でシステムをインストールしたところ、KDEの再起動ドロップダウンでWindowsを選択するのを間違えました。現在、grubは、Windowsを必要なときに一度だけではなく、毎回自動的にロードするようです。言い換えると、grubはロードします(そしていくつかのクイックステータスメッセージを表示します)が、起動するたびにWindowsオプションに直接スキップします。
Grubは、設定ファイルを読み込んでいてエラーを表示しないと述べているので、上書きされたり、そのような面白いことはなかったと確信しています。また、ブートローダーがWindows Updateからランダムに削除される問題を回避するために、Windowsを別のディスクにインストールしたままにします。
ブートローダーをあきらめて再インストールする前に、構成に対して行われたgrub2-reboot
(またはメニューが使用するユーティリティ)を手動で元に戻す方法はありますか?ライブ環境からディスクにパーティションを正常にマウントすることはできますが、必要な更新を行うためにchrootできるはずです。
編集:以下を実行することにより、ライブディスクからchrootを介して修正されました:
grub2-editenv /boot/grub2/grubenv unset next_entry
/usr/sbin/grub2-reboot
スクリプトのソースを調べたところ、ブート選択がgrubenv
ファイルの「next_entry」変数によって処理されていることがわかりました。
この問題は、(システムにchrootしている間に)grub2-editenv list
を実行することで確認できます。これは、次のことを示しています。
saved_entry=openSUSE 13.1
next_entry=Windows 8.1 (loader) ...
この場合、next_entry
フィールドは、再起動後に本来あるべきようにクリアされませんでした(おそらく、btrfsの非互換性が原因ですか?)
私はこのように設定を解除することに成功しました(これもchroot内で):
grub2-editenv /boot/grub2/grubenv unset next_entry
再起動後、grubメニューは通常に戻りました。
ある種のライブCDにアクセスできる場合は、grub構成コマンドを使用して問題を解決できる可能性があります。または、手動でGRUB構成ファイルを構成することもできます ここ 。ただし、GRUB 2の構成ファイルは、GRUBとは異なり、意味がありません。手動で編集するため、特に注意してください。