VaioPro11 Win /Fedoraデュアルブート

SONYからVAIO社に生まれ変わったVAIOシリーズ

VAIO分離後第一弾として発売された VAIO Pro 11 を期待を込めて購入。
軽さを活かして便利に使っていたのですがOSはWin8 -> 10 の
ままで、珍しくLinuxインストールはしていませんでした。

SSD 128GBモデルで容量に余裕がないことに加えて
Vaio Pro 11/13 は UEFIの設定に癖があり、
そのままUbuntuやFedora のインストールを行っても
電源投入後、GRUBのOS選択画面に入りません。

今回はデータ整理の結果、分割していた25GBのデータパーティションが
空になったので、ここにFedora24を入れられないかとやってみました。

VAIO製VAIO Pro初代はUEFIにAMI製Aptioのカスタムイメージを搭載しており
一見すると昔ながらのBIOSっぽい見た目です。
これがちょっと厄介で、UEFIのBootEntoryを見ることができません。
また、aptioの画面に入る前、起動直後に VAIOレスキューモード
と呼ばれる独自のUEFIアプリが挟み込まれています。

そしてこのVAIOの独自ソフトは
(UEFI領域)EFI/Microsoft/Boot/bootmgfw.efi
を狙い撃ちで起動するようになっています。

このため、LinuxのUEFIパーティションにインストーラが
データを配置しても、パースされず
結局Windowsが起動してしまうようです。

といわけで、
VAIO Pro 11 にLinuxをインストールするには

  • Linuxのインストール
  • Windowsの bootmgfw.efi を別名にリネーム
  • GRUB(grubx64.efi)を bootmgfw.efi として上書き
  • GRUB からリネームした bootmgfw.efi.org をチェーンロードするよう設定

という手順を踏む必要があります。

下準備

まず最初にストレージに未割当パーティションを用意します。
スタートボタン右クリックから
 コンピュータの管理
を開き
 記憶域 > ディスクの管理
を準に選択してパーティションの管理画面を出します。

Cドライブを圧縮したり
いらないパーティションを削除するなどして
Linuxインストールのための領域を確保します。

500MB 回復パーティション
260MB UEFI領域
93GB Windows10 Cドライブ
843MB 回復パーティション
以下25GB が未割当領域

になりました。

次に、
スタート > コントロールパネル > ハードウェアとサウンド >電源オプション
より、
左パネルから 電源ボタンの動作の選択 を開きます。
そこで
 現在利用可能でない設定を変更します
を選択すると
シャットダウン設定のグレーアウトされている設定が変更可能になるので
 高速スタートアップを有効にする
のチェックを外します。

最後に、
PCをシャットダウン
F3かF4を押しつつ電源投入で VAIOレスキューモード に入るので
BIOS設定を起動 を選択し 以下の設定を確認し 設定値が異なれば修正します。
Advancedタブ
Intel AT Support System Disabled
Securityタブ
Secure Boot Disabled
Bootタブ
Boot Mode UEFI
External Device Boot Enabled
Boot Priority
1st : Externel Device ,
2nd : Internal Hard Disk Drive

これで準備完了です。

Fedoraインストール

準備ができたのでFedoraのインストールを行います。
今回は、
Mate/Compizデスクトップ仕様の
Fedora-MATE_Compiz-Live-x86_64-24-1.2.iso

FedoraのMediaWriterでLiveUSB化して使用しました。

Fedoraのインストーラ Anacondaでは

できるだけ自動で設定して問題があるところだけ 警告がでるようになっているので
警告を決してから満を持して インストールを開始する仕組みになっています。

システムのインストール先

を開いて設定を行います。

まずは 手動パーティション設定を行う にチェックを入れて
左上 完了 を押します。
すると手動パーティション設定用の画面がでます。
まずは新規でFedoraのインストール で
パーティションスキームを
LVM から 標準パーティション に変更

左パネルの下部 +ボタンから 新規マウントポイントの追加
より

  • マウントポイント / ext4 できるだけ大きく
  • マウントポイント /swap swap 適量

の2つを追加
最後に
左パネルで認識されている既存パーティションから
 UEFI領域
を探して、選択し、
右パネルの
マウントポイントに /boot/efi
と入力します。
UEFI領域は各ストレージ1つで
各OSやUEFIアプリが共有しますのでこのようにしています。

入力したら 右パネル右下 設定を更新 を忘れず押して
設定を有効にしたら終了です。

画面左上の 完了 を押したら準備OKです。

最初の画面に戻ってくるので
 右下 インストールの開始 を押せばいよいよ
インストールが始まります。 同時に root 及びデフォルトのユーザーの
設定ができるので済ませておきます。

インストール途中に ブートローダの設定に失敗した旨のメッセージが出て
インストールが中断しますが、続行させます。

ブートローダ設定

インストーラが作業を終えたら
USBを刺したまま一旦再起動して LiveUSB のFedoraをもう一度起動します。
というのは
これから UEFI領域の編集が必要なのですが
インストーラが /mnt/systemHOGEHOGE 以下にマウントしたものが
残っているからです。(別にこれをそのまま使ってもいいのですが…

※ここからやる作業は少々危険のため作業内容が理解できない場合は実行しないで下さい

基本的には
冒頭に書いた Windowsを起動する
EFI/Microsoft/Boot/bootmgfw.efi
を別名にして退避させ、FedoraのGRUBが読み込まれるように
EFI/fedora/grubx64.efi を上書きしてしまいます。

今回の環境では
UEFI領域 /dev/sda2
なので

$ su -
# mkdir /mnt/efi
# mount -t vfat /dev/sd2 /mnt/efi
# cd /mnt/efi/EFI/Microsoft/Boot/
# mv bootmgfw.efi bootmgfw.efi.org
# cp ../../fedora/grubx64.efi ./bootmgfw.efi
# cp ../../fedora/grub.cfg.new ./grub.cfg

まず sda2 をマウントして
bootmgfw.efi を .org に退避
次に fedoraから偽装用のデータを持ってきています。
grub.cfg.new が生成されていたのでこれもそのまま持って行きました。
もしこのデータが生成されていない場合の方法は > トラブルシューティング2

ここで

# nano ./grub.cfg

を実行して
以下の部分を探してください。

menuentry "Windows Boot Manager" {
        insmod 〜
        set root=〜
        search 〜〜 
        chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

この最後の chainloader を

chainloader /EFI/Microsoft/Boot/bootmgfw.efi
↓
chainloader /EFI/Microsoft/Boot/bootmgfw.efi.org

に書き換えてください。
こうしないと 退避したデータが見つからなくなってしまいます。

これで完了です。
再起動して LiveUSB をPCから抜くと
無事に GRUBが立ち上がり
Fedora
Recovery
Windows
をそれぞれ選択起動可能になります。

起動後・ハードウェア認識

Ubuntu 13.X や Fedora 23 あたりの情報をみると
結構ハードウェア関連も調整が必要なようですが
Fedora 24ではまったく素のままで
無線LAN、サウンド、タッチディスプレイ
すべて有効になっていました。

ただ、11型の画面で 1920x1080 のMATEは表示が小さすぎるので
デスクトップを右クリックから 背景の変更
フォント のタブから 詳細 を開き
解像度 130 ~ 150 dpi くらいでいい感じに設定するのがいいと思います。

それとタッチパッドも タップクリックなどがデフォルトでは聞きませんが
ハードウェア設定から 2本指スクロールや タップによるタッチの設定が
可能なので 変な癖がつく前に設定変更しておきます。

ちなみにWindowsで起動したら
最初に設定した 高速スタートアップの設定を元に戻して大丈夫です。

これで無事 Vaio Pro 11 Fedora化 完成です。

トラブルシューティング1

ひとまずディアルブートになりましたが
見て分かるようにかなり無茶な方法で環境を作っているので
注意すべき点があります。
例えば
Fedoraで dnf update 、カーネルがアップデートされた場合
/Microsoftディレクトリ以下のデータは更新されないので
GRUBの画面が更新されません
この場合
アップデートして再起動する前に

# mount -o rw,remount /boot/efi
# grub2-mkconfig > /boot/efi/EFI/Micosoft/Boot/grub.cfg
# nano /boot/efi/EFI/Micosoft/Boot/grub.cfg
 -> chainloader /EFI/Microsoft/Boot/bootmgfw.efi に .org を追加

という作業が必要になります。
これは スクリプト化するなどしてどうにかしておけばいいと思います。

トラブルシューティング2

再起動したLiveUSBで grub.cfg や grub.cfg.new などが生成されていない
Windowsのアップデートやその他何らかの不具合で UEFIの細工が壊れた

といった場合の対処方法です。
まずは LiveUSBでFedoraを起動して以下の状態を作ります。

※以下
Fedoraの /ルート が /dev/sda5
UEFI領域が /dev/sda2
とします、パーティショニングによって sdxN はご自分の環境に
置き換えて下さい。

$ su -
# mkdir /mnt/fedora
# mount /dev/sda5 /mnt/fedora
# mount /dev/sda2 /mnt/fedora/boot/efi
# for i in /dev /proc /sys; do mount --bind ${i} /mnt/fedora${i}; done
# cp /etc/resolv.conf /mnt/fedora/etc/
# chroot /mnt/fedora

これでSSD上のFedora環境下で操作できます。

ここから例えば

# grub2-mkconfig -o grub.cfg

で 設定ファイルを作ったり
GRUBの再インストールなどを行えます。

コメントを追加する