マシンをデュアルブートし、デフォルトでWindowsで起動するようにします。これにより、自宅からリモートでマシンを再起動するたびに、(Ubuntuではなく)Windowsに戻ることができます。
問題は、Ubuntuがカーネルをアップグレードするたびに、grubのデフォルトのブートアイテムをWindowsにリセットする必要があることです。これは、grubメニューローダーがデフォルトのOSを起動するために位置(6)を使用するためです。そして、Ubuntuが新しいカーネルをインストールすると、その順序が変わります。
カーネルの更新時にデフォルトのブートアイテムを記憶するようにgrubを構成する方法を探しています。
これを行う最も簡単な方法は、Windowsのブートエントリを/boot/grub/menu.lst
のUbuntuエントリの上に移動することです。デフォルトでは、Grub構成ファイルは次のようにレイアウトされています。
セクション2は、構成ファイルの次の行で区切られています。
### BEGIN AUTOMAGIC KERNELS LIST
(lots of stuff here)
### END DEBIAN AUTOMAGIC KERNELS LIST
自動検出されたOS(Windowsなど)のエントリは、このセクションの後に配置されます。新しいカーネルをインストールすると、変更されるのはセクション2だけです。したがって、自動検出されたOSをどこかに移動するとbeforeBEGIN
行は、新しいカーネルがインストールされたときにエントリ番号が変更されない場所に配置されます。
Grub2では、update-grub
が実行されるたびに構成ファイル全体が新たに作成されるため、/boot/grub/grub.cfg
の編集は永続的な修正にはなりません。そのファイルがどのように生成されるかは、ファイル/etc/default/grub
と/etc/grub.d/*
のスクリプトによって処理されます。そのため、構成ファイルの個々のセクションを制御するファイルを変更して構成を変更し、update-grub
を再度実行します。
私の/etc/grub.d
には次のファイルが含まれています。
これらは、構成ファイルを生成するために実行されるシェルスクリプトです順番に。 Windowsのブートエントリは30_os-prober
によって生成され、実行されますafter Linuxのブートエントリは10_linux
で生成されます。したがって、30_os-prober
の名前を10未満に変更し、update-grub
を再実行するだけです。
mv /etc/grub.d/30_os-prober /etc/grub.d/09_os-prober
update-grub
これで、Windowsエントリが最初のエントリになり、それをGRUB_DEFAULT=
のデフォルトのブートエントリ(/etc/default/grub
)として設定できます。
私のブログの指示に従ってください ここ あなたの仕事のためにきれいなWindowsブートローダーを使用してください。私は今それを使用しています、そして私がPCを起動するとき、私は2つのオプションがあります:
Windows Vista Ubuntu 10.04
他に雑然としたものはありません。さまざまなオプションを設定することもできます。 5秒間何も押さないと、Windowsが起動します。
幸運を。