Dual boot Windows 10 and CentOS 6 (EFI/GRUB)

Facebooktwittermail

BIOSでのDual bootを試してみたので、今回はEFIマシンで検証してみます。

Dual boot Windows 10 and CentOS 6 (BIOS/BCD)
https://www.rootlinks.net/2017/01/23/dual-boot-windows-10-and-centos-6-bios-bcd/

Dual boot Windows 10 and CentOS 6 (BIOS/GRUB)
https://www.rootlinks.net/2017/01/24/dual-boot-windows-10-and-centos-6-bios-grub/

【環境】
・VMWare Workstation 12 PROの仮想マシン(EFI/MEM 4GB/HDD 100GB)
・Windows 10(10.0.10586)
・CentOS 6.7

  1. Windows 10 インストール
  2. Windows 10をHDD 100GBのうち50GBを使用してインストールします。


  3. CentOS 6 インストール
  4. Windows 10のインストールが完了したら、次にCentOS 6をインストールします。
    50GBの空き領域のCentOS 6をインストールします。


  5. ブートローダーのインストール
  6. デフォルトの/dev/sda2(EFIパーティション)にブートローダーをインストールします。
    Other(/dev/sda4)はWindows 10のCドライブになりますが、EFIでは起動できないので削除します。そのままで後で修正しても構いませんが。


    インストール完了で再起動するとCentOS 6が起動します。

  7. EFI Boot Manager
  8. VMWare Workstation 12のEFI仮想マシンのEFIブートマネージャーの状態です。


    実はここでWindows Boot Managerを選択するとWindows 10が起動してきます。
    CentOSは殆ど起動しないならブートオーダーを変更してWindows 10を最初に起動するように変更、CentOSを起動したい時はEFIブートマネジャーを起動してCentOSを選択してもいのですが。




    ただ、EFIブートマネジャー起動するの面倒ですよね。

  9. GRUBからWindows 10を起動
  10. どうせならGRUBからWindows 10を起動できるようにしてみます。
    CentOSを起動してログイン、/etc/grub.confを編集してWindows 10のメニューを追加ます。

  11. GRUBでのOS選択
  12. 再起動するとGRUBメニューにWindows 10が追加されています。
    選択するとWindows 10が起動できると思います。


ここまでできて次はEFI/BCDを検証したのですがWindows 10は起動できるのものCentOSが起動できません。 Status: 0xc000007bって? 何故?



最終的に辿り着いた先がEasyBCDの開発元のブログでした。
NeoSmart Knowledgebase – EasyBCD and UEFI
https://neosmart.net/wiki/easybcd/uefi/

If your Windows PC is booting in EFI mode, Microsoft has blocked the loading of legacy or non-Windows operating systems from the BCD menu. This means that you can no longer use EasyBCD to add Windows 9x, XP, or Server 2003 entries to the BCD bootloader menu. You also cannot add DOS, Linux, BSD, or Mac entries. You can add multiple Windows Vista, Windows 7, Windows 8, and Windows 10 entries; and you can also boot into BCD-based portable media, such as WinPE 2.0+ images.

※上記サイトより引用しました。

EFIモードの時、BCDはWindowsの古いバージョンやWindows以外のOSの起動をブロックするって。回避方法として

  1. UEFI,セキュアブートの無効
  2. 仮想マシンの利用
  3. ブートマネージャーにGRUBを使用

とりあえずスッキリしました。

Leave a Reply