Let's Note SX4にFreeBSDをインストールする(失敗)

Let's Note SX4FDKBPに入っているWindows 8.1 Pro 64bitの領域を縮小し、
空き領域にFreeBSD 10.1を入れてデュアルブートするのが目的。

Windowsでの作業

高速スタートアップ解除

高速スタートアップを無効にする。
http://www.eightforums.com/tutorials/6320-fast-startup-turn-off-windows-8-a.html

ecoモードにする

ecoモード(80%までしか充電しない; 電池の寿命が延びる)にする。

ディスクを縮小する

ディスクを縮小する。
思ったよりサイズが小さくできない場合は、いったんシステムの復元を無効化するとよい。

復元の無効化

システムのプロパティ→システムの保護

「保護設定」の「構成」→システム保護対象
で「システムの保護を無効にする」を選択

終ったら元に戻しておく。

別のFreeBSDマシンでの作業

ブートイメージを使ってインストールメディアを作成するわけだが、
UEFIでブートしたいので、ファイル名にuefiという文字が入っているイメージファイルをとってくること。

CDではなぜかうまくいかなかったので、今回はUSBメモリースティックのための以下のイメージを使用した。

ftp://ftp.jp.freebsd.org/pub/FreeBSD/snapshots/amd64/amd64/ISO-IMAGES/10.1/FreeBSD-10.1-STABLE-amd64-20150520-r283161-uefi-memstick.img

 # dd if=Downloads/FreeBSD-10.1-STABLE-amd64-20150520-r283161-uefi-memstick.img of=/dev/da0 bs=64k

などとして書き込み。

Let's Noteでの作業

USBメモリを差した状態で起動し、起動時にF2を押してファームウェア設定画面に入る。
UEFIの起動順序にUSBメモリスティックの選択が現れるので、それを先頭に持ってくる。

すると、リブート後にインストーラが立ち上がるので、インストールを進める。
終ったらリブートする。Windowsが立ち上がるが、心配ない。

コマンドプロンプトを右クリックして管理者として実行する。

 > bcdedit.exe /copy {bootmgr} /d "FreeBSD"

得られたUUIDをコピーしておく。
EFIパーティションをマウント。

 > mountvol.exe e: /S

中を見る

 > dir e:\
 > dir e:\EFI\Boot

これで、e:\EFI\Boot\bootx64.efiというファイルがあることが分かった。
というか、よく見たら https://wiki.freebsd.org/UEFI に書いてあった。

 > bcdedit /set {得られたUUID} path \EFI\Boot\bootx64.efi
 > bcdedit /set {fwbootmgr} displayorder {得られたUUID} /addlast

(いろいろあって、この間リブートしている)

 > diskpart.exe
 DISKPART> select disk 0
 DISKPART> list partition
 DISKPART> select partition 6
 DISKPART> list volume
 DISKPART> assign letter=U
 DISKPART> exit
 > bcdedit.exe /set {得られたUUID} device partition=U:

これでRebootしてF2を押してファームウェア設定画面に入ると、起動オプションにFreeBSDという選択肢が出てきます。
これを先頭に持ってきます。設定を保存して終了します。
すると、次回の起動時からは、FreeBSDが起動する、、、ようです。
ところが、今度はWindowsの起動に問題が起きて、
ファームウェア設定画面から直接Windows Boot Managerを選択しても、起動しなくなりました。
こまった。