UEFI モードで 3TB GPT ディスクに Windows 8 と Ubuntu 12.10 をインストールしました。
どちらも正常に起動できます。
両方のオペレーティング システムは UEFI ブート メニューにエントリを作成しました。「ubuntu」と「Windows 8」のエントリがあります。
起動順序はマザーボードの UEFI セットアップで変更できます。
両方のシステムを起動できるように GRUB 2 を設定したので、最初に「ubuntu」を起動したいと思います。
しかし、Windows 8 を起動するたびに、最初に起動するように起動順序が変更されます。
これを防ぐにはどうしたらいいでしょうか?
どうもありがとう。
- アップデート -
bcdedit.exe を使用して Windows のブート構成データを操作できることを知りました。
これは、Windows がブート順序を保存するブート NVRAM と BCD を同期するため重要です。
BCD 内の {fwbootmgr} エントリがアクセスされるたびに、NVRAM が上書きされます。
このエントリを変更してGRUB 2を最初にロードするようにしたところ、うまくいきました。しかし、Windows 8を起動すると、NVRAMとそしてBCD 内の {fwbootmgr} は元の順序に戻り、最初に Windows 8 を起動します。
私はこれに本当に困惑しています。
-- 更新 2 --
Windows のグループ ポリシー エディターでスタートアップ スクリプトを作成することで、この問題をなんとか解決できました。スタートアップ スクリプトは、「bcdedit /set {fwbootmgr} DEFAULT {適切な UUID}」コマンドを発行します。これは大きなハックであり、私が望む解決策ではありません。NVRAM で GRUB に次ぐ 2 番目の場所で Windows が問題なく動作するようにしたいのです。
それで、どうすればそれができるのでしょうか?
答え1
Microsoft の担当者が公式フォーラムで私の質問に答えてくれました。彼らは、これは確かに正常な動作だと言いました。
私は、システム起動時に毎回 .bat ファイルを実行することでこの問題を解決しました。このファイルは次のことを行います。
bcdedit /set {fwbootmgr} DEFAULT {appropriate UUID}
ここで、「適切な UUID」は GRUB の UUID であり、「bcedit /enum ファームウェア」のリストから読み取ることができます。
bat ファイルは、グループ ポリシー エディターを開いて編集できます (metro で調べてください)。
デュアルブートの問題についての記事を以下に書きました。http://tlfabian.blogspot.hu/2013/01/converting-dual-boot-mbr-partitioned.html
答え2
約束はできませんが、Windows でこれを試してください:
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
セキュア ブートを無効にしていない場合は、grubx64.efi
に変更する必要がありますshim.efi
。
それでも問題が解決しない場合は、Microsoft に苦情を申し立てるか、デュアルブート状態から削除して仮想マシンで実行してください。