grubがカーネルの更新の下でデフォルトのブートを維持するようにします


11

マシンをデュアルブートし、自宅からリモートでマシンを再起動するたびに(Ubuntuではなく)Windowsに戻ることができるように、デフォルトでWindowsでブートするようにします。

問題は、Ubuntuがカーネルをアップグレードするたびに、grubのデフォルトのブートアイテムをWindowsにリセットする必要があることです。これは、grubメニューローダーがブートするデフォルトOSの位置、つまり6を使用するためです。Ubuntuが新しいカーネルをインストールすると、その順序が変わります。

カーネルの更新時にデフォルトのブート項目を記憶するようにgrubを設定する方法を探しています。

回答:


9

Grub 1(Ubuntu 9.04以前)

これを行う最も簡単な方法は、WindowsブートエントリをのUbuntuエントリの上に移動すること/boot/grub/menu.lstです。デフォルトでは、Grub構成ファイルは次のようにレイアウトされます。

  1. 基本オプション
  2. debian auto-magic kernel config(デフォルトでmemtest86 +などのユーティリティを含む)
  3. 他の検出されたOS

セクション2は、構成ファイルの次の行で区切られています。

### BEGIN AUTOMAGIC KERNELS LIST
(lots of stuff here)
### END DEBIAN AUTOMAGIC KERNELS LIST

自動検出されたOS(Windowsなど)のエントリは、このセクションの後に配置されます。新しいカーネルをインストールすると、セクション2のみが変更されます。したがって、自動検出されたOSを行ののどこか移動するBEGINと、新しいカーネルがインストールされたときにエントリ番号が変更されない場所に配置されます。


Grub 2(Ubuntu 9.10以降)

Grub2では、構成ファイル全体update-grubが実行/boot/grub/grub.cfgされるたびに新たに作成されるため、編集は永続的な修正にはなりません。そのファイルの生成方法は、のファイル/etc/default/grubとスクリプトによって処理されます/etc/grub.d/*。そのため、configfileの個々のセクションを制御するファイルを変更してから構成を変更し、update-grub再度実行します。

/etc/grub.dはこれらのファイルをインクルードします:

  • 00_header
  • 05_debian_theme
  • 10_ハード
  • 10_linux
  • 20_memtest86 +
  • 21_memtest86
  • 30_os-prober
  • 40_カスタム

これらは、構成ファイルを生成するために実行れるシェルスクリプトです。Windowsブートエントリはによって生成されます30_os-prober。これは、Linuxブートエントリがで生成されたに実行され10_linuxます。30_os-prober10未満の名前に変更して、再実行してくださいupdate-grub

mv /etc/grub.d/30_os-prober /etc/grub.d/09_os-prober
update-grub

これで、Windowsエントリが最初のエントリになり、それをデフォルトのブートエントリ(GRUB_DEFAULT=)として設定できます/etc/default/grub


2

こちらのブログの指示に従って、クリーンなWindowsブートローダーを仕事に使用してください。現在使用していますが、PCを起動するときに、2つのオプションがあります。

Windows Vista Ubuntu 10.04

他の混乱はありません。さまざまなオプションを設定することもできます。5秒間何も押さないと、Windowsが起動します。

幸運を。


そのリンクはほとんど死んでいる
tshepang
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.