GRUB2 は、BCD をチェーンロードして Windows 7 を起動します。BCD は通常、ドライブ文字のないシステム予約済みパーティションにインストールされます。
例:
Partition 1 - Ubuntu & GRUB2 bootmanager installed, Primary
Partition 2 - System Reserved, Contains BCD/Windows BootManager, Primary
Partition 3 - Windows 7 Home, Primary
Partition 4 - Windows 7 Pro, Primary
Partition 5 - Windows 7 Ultimate, Logical
Windowsを起動すると、次のように動作するはずです。
MBR -> GRUB2 -> BCD(Windows Boot Menu) -> Selected Windows 7
ただし、特定の Windows 7 を直接起動するメニュー エントリを GRUB2 に追加したいと思います。
MBR -> GRUB2 -> Selected Windows 7
(GRUB2 ブログでカスタム メニュー エントリを追加することについて読んだことがありますが、それが行うことは Windows ブート メニューをロードすることだけです) それは可能ですか?
これを機能させる唯一の方法は、各 BCD に 1 つの Windows 7 エントリのみが含まれるように、異なるパーティションに複数の BCD をインストールすることです。次に、メニュー エントリの選択時に GRUB2 に異なる BCD をロードするように指示します。
MBR -> GRUB2 -> BCD(Skipped Windows Boot Menu due to one entry) -> Selected Windows 7
ただし、BCD はプライマリ パーティションでのみ検出できるため、論理パーティションにインストールされた Windows では機能しません。これを回避する方法はありますか?
答え1
複数のBCDパーティションが機能する可能性があります。MBRシステムでは、Windowsの3つのバージョンに制限されます。ドライブあたりこの方法では、(おっしゃるとおり) ブート パーティションが Windows のプライマリである必要があるためです。
1 つのパーティションで別の可能性としては、チェーンロードされた にパラメータを渡すことが考えられますbootmgr
が、この方法も GRUB もこれをサポートしていないと思います。起動前に BCD を構成することに制限があります。
最後に、すべて (この場合は Ubuntu) を Windows ブート メニューに配置し、GRUB メニューを削除してみると、同様の結果が得られます。