目標は「タッチパネル搭載のWindows8マシンにUbuntuを入れる」。対象機種は2012年10月発売のSony VAIO T (SVT1312AJ)。いわゆるUEFI対応の機種で、ディスクもGPTで管理されている。Secure bootはenabledのままで実施。
2013年4月段階で、Canonicalは公式に「UEFIマシンに対してWubiは使うな、12.04.2か12.10の64ビット版を使ってインストールせよ」と指定。 32ビット版はUEFIを認識しないらしい。ここではUbuntu 13.04 (raring)のLiveUSBを使用する。
- まずWindows8上のディスクパーティションツールで、Cドライブを減少させて20GB程度の未使用領域を作成。リカバリ領域やツールなどが個別のパーティションに入っていて既に5つくらいあるが気にしない(もしディスクがMBR方式で管理されている場合、当然こんなにパーティションが分かれてたらUbuntuが入らない)。
- Windows8のデスクトップでマウス右上端に移動→設定→コントロールパネル→ハードウェアとサウンド→電源オプション→電源ボタンの動作の変更→「現在利用可能ではない設定を変更します」→高速スタートアップを有効にするのチェックを外す。
- USBから起動し、LiveUSBのgrubメニューから「Try Ubuntu」を選択(ここではInstallを選ばない)。
- Liveデスクトップ上のInstall Ubuntuアイコンをクリックし、インストール開始。
- Windows 8 とは別に Ubuntuをインストール、という項目を選択。
- 未使用領域があれば、そこに勝手にパーティションを作ってインストールが続行される。無い場合はパーティションエディタが起動する…と思う(未確認)。
Windows 8 搭載のVAIOの場合、電源OFFからASSISTボタンを押すことでEFIメニューが表示され、そこで強制的にWindows 8を起動できる。ただしこの方法をやると、今度はgrubが見えなくなる。
grubからUbuntuを起動できた場合、以下の方法でUbuntu/Windows 8を選択可能なgrub.cfgを作成する(基本的にはここの情報に基づく)。
- EFIシステムパーティション(ESP)のUUIDを以下のように取得する。
$ sudo grub-probe --target=fs_uuid /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
5678-9ABC (←この出力を記録)
$ - EFIのsearchコマンドで必要なヒント情報を取得する。
$ sudo grub-probe --target=hints_string /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
--hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 (←記録)
$ - 上記1.2.の結果に基づいて、/etc/grub.d/40_customに以下の設定を追記する。
(/boot/grub/grub.cfgに同じ記述を書いてテストすることが可能だが、カーネルのアップデートがあるとgrub.cfgが書き換えられるので、最終的には上記設定ファイルに書いておくべき。)
menuentry "Windows UEFI-GPT"
{
insmod part_gpt
insmod fat
insmod search_fs_uuid
insmod chain
search --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 5678-9abc chainloader /efi/Microsoft/Boot/bootmgfw.efi
} - 以下のコマンドでgrub.cfgを更新する。
$ sudo update-grub
0 件のコメント:
コメントを投稿