Windows8+UEFIなPCにUbuntuを入れる苦闘の続き。
前述の方法では、grub画面が表示されずそのままWindows8の起動シーケンスに進んでしまう例が見られた(2013春モデルのVAIO E, VAIO Tで確認)。
grubメニューでUbuntuを選んでいる限りはgrubが有効になっているが、いったん有効なWindowsエントリを選択するとそれ以降はgrubメニューを経ることなく、常にWindowsが起動してしまう。
まずgrubを復活する(見える状態に戻す)方法。BIOS設定でUEFIモードをOFFに(VAIOの場合は "Legacy" を選択)して再起動すると、"Operating System not Found"と言われるが、ここで電源ボタン長押しで強制終了する。次にASSISTボタンでBIOS設定を開いて設定をUEFI ONに戻すと、次の再起動時にはなぜかgrubメニューが再び表示される。面倒。
そこでBoot-Repairを導入して試してみた。 ここではBoot-Repair導入の説明のうち、リポジトリを追加してapt-getする方法を採用。
これで起動したBoot-Repairで "高度なオプション" を選択し、"バックアップを取ってファイル名を変更" にチェックが入っていることを確認して適用すると、必要なEFIイメージファイルをEFIパーティション上に適切な名前でコピーしてくれるっぽい。再起動すれば、「消えない」grubメニューが動く。sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update sudo apt-get install -y boot-repair && (boot-repair &)
なお、この状態ではgrubメニューにやたらとリストが並ぶので、grub customizerを導入して整理するとよいかも知れない。
なお、以上の方法は基本的にUbuntu 13.04 amd64に入っているEFI対応grub2を使ってブートする話であり、rEFIndで対応する方法は模索中。rEFIndの作者はBoot-Repairが若干おかしい挙動をしている旨を指摘しているので、そこも検討する必要がある。