USBデバイスで起動

FreeBSDはUSBのCDドライブやUSBメモリから起動しようとすると失敗することが多い。
結構発生しやすいし解決方法も解ってるんだからいい加減標準で対応して欲しいと思うことの一つ。

こんなの

Manual root filesystem specification:
    :  Mount  using filesystem 
             e.g. ufs:/dev/da0s1a
    ?                  List valid disk boot devices
           Abort manual input

  mountroot>

mountroot> が出て止まってしまった場合 [Enter]を押すと利用可能なデバイスが表示される。
cd0 cd0a cd1 ad0 ad1 da0 など
それを直前に表示されている入力例に倣って打ち込む。

cd9660:/dev/cd0 ro   (CDの場合)
ufs:/dev/da0  (USBメモリの場合など)

CDドライブの場合は/dev/cd0やdev/cd1になることがある。
USBメモリの場合は/dev/da0s1aや/dev/da0p2など(いろいろ・・なので困る)
日本語106,109系のキーボードを使っている場合はキーマップが違うので「 : 」は[Shift]+[ ; ]

それでもダメな場合

FreeBSD ブートメニュー
OS起動時の数字選択メニューでEscape to loader promptを選択する。(FreeBSD9.0では2番だがバージョンによって違う。以前は6番だった。)

OKが表示された状態になるのでそれに続けて

set kern.cam.boot_delay="10000" [改行]
boot [改行]

日本語106,109系のキーボードを使っている場合は「_」は[Shift]+[ - ]、「=」は[ ^ ]([Shift]無し)、「"」は[Shift]+[ : ]。打ちにくいけど。

それでもまだダメな場合

これでも > mountroot となって止まる場合があるが ? [改行]を打つと上を実行しない場合よりも多くのデバイスが表示されると思われるので最初のように打ち込む。

FreeBSDをUSBメモリにインストールした場合など毎回起動時にブートプロンプトに上のように入力するのは面倒なので /boot/loader.conf に下の1行を追加する。

kern.cam.boot_delay="10000"