有効な無駄知識を…?

ITや情報系のネタ中心に書いていくつもりですが…。時々思い出したように更新。

ASRock マザボにて、FreeBSD11をUEFI Bootさせる

2017-01-01 13:28:47 | FreeBSD

ASRock マザボにて、FreeBSD11をUEFI Bootさせる

概要

2016年夏ごろ、購入後、大分経ったAsrockマザボにFreeBSD11をいれてUEFI Bootさせようとしたのですが、どうもうまく行きません。暫く、BIOS Bootで起動していたのですが、ふと参考になる記事を見つけ、UEFI Bootに成功しました。そのときのメモです。

参考記事によると、FreeBSDをインストール時にUEFIのBootメニューに登録されないことがあるとのことです。そのため、ここでは別のLinuxシステムからUEFIのBootメニューに登録する作業をします。

大まかな環境は、以下の通りです。

  • OS: FreeBSD 11.0-RELEASE
  • フォーマット: ZFS (RAID1 ミラーリング)
  • パーティション: GPT
  • BOOT方式: BIOS+UEFIの両対応
  • MB: ASRock Q2900-ITX (ファームバージョン:1.50)
  • 作業用OS: Ubuntu 16.04 LTS

参考にした記事は以下の通りです。

以下、Linuxを多少なりとも経験している方向けに細かい話しは飛ばします。

前作業

インストールは通常通り(FreeBSDハンドブックに従い)にインストールします。はじめはBIOSで起動します。この時点で、BootメニューからFreeBSDのUEFIメニューは見えません。

Linuxを立ち上げ、ディスクを確認する。

Linux(私はUbuntuを使いました)をディスクBoot(HDDにインストールせずに)で起動します。USBメモリでも何でもOKです。Linuxが起動したら、terminal(端末)を立ち上げます。

毎回sudoするのも面倒なので、"sudo su"でrootユーザになります。ここから、partedでディスクを確認します。

$ sudo su
# parted -l

2本のHDDが、"/dev/sda"と"/dev/sdb"で認識されていることがわかります。

efibootmgrにて、FreeBSDをUEFI Bootできるようにする。

efibootmgrにて、FreeBSDをUEFIブートテーブルに登録します。

ディスクが2本あるので、片方が逝ったときのために2本とも登録しました。labelは、Bootセレクタで表示される名称です。ディスクの型番で見分けられるようにしました。

# efibootmgr --create --disk /dev/sda --part 1 --loader \\EFI\\BOOT\\BOOTX64.EFI --label "FreeBSD DT01ACA3"
# efibootmgr --create --disk /dev/sdb --part 1 --loader \\EFI\\BOOT\\BOOTX64.EFI --label "FreeBSD MD04ACA3"

なんとなくUEFIブート順が気になったので修正しました。2本のHDD以外はそのままです。

# efibootmgr --bootorder 0,2,1,7,8,9,A

これで、Linuxの作業は終了です。シャットダウンして終了します。

動作確認

Bootメニューに、登録した名称が2つ出てきます。

登録した名称を選択して起動すると、画面解像度を認識してFreeBSDが起動しました。このため、UEFI Bootで起動していることが確認できます(確認できたはず…)。



最新の画像もっと見る

コメントを投稿