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
- Windows 10 インストール
- CentOS 6 インストール
- ブートローダーのインストール
- EFI Boot Manager
- GRUBからWindows 10を起動
- GRUBでのOS選択
Windows 10をHDD 100GBのうち50GBを使用してインストールします。
Windows 10のインストールが完了したら、次にCentOS 6をインストールします。
50GBの空き領域のCentOS 6をインストールします。
デフォルトの/dev/sda2(EFIパーティション)にブートローダーをインストールします。
Other(/dev/sda4)はWindows 10のCドライブになりますが、EFIでは起動できないので削除します。そのままで後で修正しても構いませんが。
インストール完了で再起動するとCentOS 6が起動します。
VMWare Workstation 12のEFI仮想マシンのEFIブートマネージャーの状態です。
実はここでWindows Boot Managerを選択するとWindows 10が起動してきます。
CentOSは殆ど起動しないならブートオーダーを変更してWindows 10を最初に起動するように変更、CentOSを起動したい時はEFIブートマネジャーを起動してCentOSを選択してもいのですが。
どうせならGRUBからWindows 10を起動できるようにしてみます。
CentOSを起動してログイン、/etc/grub.confを編集してWindows 10のメニューを追加ます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# vi /etc/grub.conf # cat /etc/grub.conf # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,4) # kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-lv_root # initrd /initrd-[generic-]version.img #boot=/dev/sda2 device (hd0) HD(2,e1800,31800,54885742-905c-4335-aba8-c82fe6a049ba) default=0 timeout=10 splashimage=(hd0,4)/grub/splash.xpm.gz #hiddenmenu title CentOS 6 (2.6.32-573.el6.x86_64) root (hd0,4) kernel /vmlinuz-2.6.32-573.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=VolGroup/lv_swap KEYBOARDTYPE=pc KEYTABLE=jp106 rd_LVM_LV=VolGroup/lv_root LANG=ja_JP.UTF-8 rd_NO_DM rhgb quiet initrd /initramfs-2.6.32-573.el6.x86_64.img title Windows 10 root (hd0,1) chainloader /EFI/Microsoft/Boot/bootmgfw.efi |
再起動すると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の起動をブロックするって。回避方法として
- UEFI,セキュアブートの無効
- 仮想マシンの利用
- ブートマネージャーにGRUBを使用
とりあえずスッキリしました。