UEFI環境のVAIOでUbuntu17.04とWindows10のデュアルブート
はじめに
なんやかんやまたデュアルブート。
目次
環境
VAIO Sシリーズ(SVS13119GJB)
UEFI
Windows 7 Professional → Windows 10 Pro
Ubuntu 17.04(Zesty Zapus)
.efi の置き換え
前提
端末にはWindows10がインストールされてて、Ubuntuを足す。
インストール
メモ
問題
上記の流れでインストールしたけど、GRUBが起きずWindowsがブートする。
→ Windows Boot Managerが起きてる
原因
Windowsのcmd(管理者として実行)で、
> bcdedit
を実行すると、/EFI/Microsoft/Boot/bootmgfw.efiが指定されてた。
Microsoftのドキュメントにも書いてあった。
UEFI 用の BCD ステム ストアの設定
VaioPro11 Win /Fedoraデュアルブート | @Canter
によると、
VAIO製VAIO Pro初代はUEFIにAMI製Aptioのカスタムイメージを搭載しており 一見すると昔ながらのBIOSっぽい見た目です。 これがちょっと厄介で、UEFIのBootEntoryを見ることができません。 また、aptioの画面に入る前、起動直後に VAIOレスキューモード と呼ばれる独自のUEFIアプリが挟み込まれています。
そしてこのVAIOの独自ソフトは (UEFI領域)EFI/Microsoft/Boot/bootmgfw.efi を狙い撃ちで起動するようになっています。
らしい。VAIO独自ソフトととやらの設定を確認したかったけど、わかりませんでした…。
対策
bootmgfw.efiをGRUBのefiにする。
以下は、LiveUSBのターミナルで作業。
$ cd /mnt/ $ sudo mkdir efi # タイプ/デバイスは適宜読み変えてください # "$ sudo blkid" で調べる $ sudo mount -t vfat /dev/sda3 /mnt/efi $ cd /mnt/EFI/Microsoft/Boot/ $ sudo cp bootmgfw.efi bootmgfw.efi.org $ sudo /mnt/EFI/ubuntu/grubx64.efi bootmgfw.efi $ cd $ sudo umount /mnt/efi
再起動すると、GRUBが起きる。
けど、このままじゃGRUBのメニューにあるWindowsを選択しても起きない問題が…
GRUBのメニューにあるWindowsを修正
原因
/boot/grub/grub.cfg内のwindowsの項目のchainloaderにbootmgfw.efiが指定されてる。
→さっき置き変えたもの(GRUBのefi)を起こしてしまう
対策
さっきコピーしておいた、bootmgfw.efi.orgを指定する。
GRUB2は直接grub.cfgを編集するのは御法度だけど、今回は強行する。
$ sudo vi /boot/grub/grub.cfg
- chainloader /EFI/Microsoft/Boot/bootmgfw.efi + chainloader /EFI/Microsoft/Boot/bootmgfw.efi.org
GRUBのデフォルトの項目を変更したり
初期だとGRUBメニューの一番上の項目(Ubuntuのブート)がデフォルトだから変更。ついでに時間も変更。
$ sudo vi /etc/default/grub
# 値はメニューのインデックス(一番上は0) # 2はWindows Boot Managerだった - GRUB_DEFAULT=0 + GRUB_DEFAULT=2 - GRUB_TIMEOUT=10 + GRUB_TIMEOUT=5
$ sudo update-grub2
これで /boot/grub/grub.cfgが更新される。
(たださっきのchainloaderも書き変わるから、もう一回する)
おわりに
.efi を置き換えたり、grub.cfgを直接編集したりかなり強引な事してるので、あくまで自己責任で。
もっと良い方法があれば更新しようかと。