野中です。

On 2016/07/18 19:11, Tomoaki AOKI wrote:
青木@名古屋です。

Warner, thanks for your info. I'm looking forward to it. :-)

一応、皆さん原文でも読めるとは思いますが、WarnerのP.S.部分の訳を。

 ----------
ExitBootServices()呼び出し後に(UEFIの)変数を参照・設定できるように
作業中で、これは標準ブートマネージャプロトコルを実装する上での鍵に
なります。
それまでの対応としては、既に指摘されているとおり、Linuxのツールを使って
マルチブート構成を行う方法があります。
  ----------

t.motoさん

情報が出ていないのでちょっと気になっているのですが、まさかとは
思いますがSecureBootが有効になっているということはありませんよね?

 ※SecureBoot有効の状態では一切テストしたことが無いため、有効だと
  EFIパーティションに書き込もうとした時点でエラーを出すようになって
  いる可能性は否定できず、そうであればインストール時にエラーが出る
  筈ですが。

それにしても、FreeBSDがEFIパーティションに書き込んでいるイメージファイル
のboot1.efifatではEFIの仕様書にも書かれているAMD64(x64)版用のファイル名
であるBOOTx64.EFIを使っているので、本来(SecureBootで署名が必要な場合や
他のファイル名で設定されている場合を除き)素直に起動できて然るべきです。
UEFI が何故か32bit 版だった、というオチで無い限り。 この場合、FreeBSDは
未対応ですが...。

UEFIで「できて然るべき」というのは空しいだけです(^^;

世の中には外付けドライブからはUEFIブートが出来るが、内蔵ドライブからは
UEFIブートが出来ず、その代わりにNVRAMに書き込んだブートエントリが
「起動ドライブ選択リスト」に表示されるという、”Windowsがインストール
できれば十分だろ”というファームがあるのです。

まあFreeBSDのインストーラもNVRAMにブートエントリの書き込みをしていない
ので、先日川口さんが疑問に思われたように、「BIOS起動のインストーラで
UEFIモードのインストールが正常に行える」のですけどね(^^)

t.motoさま

私が示した例題ではmintを使っていましたが、Ubuntu系であれば何でもOKです。
残念ながらRH系でefibootmgrコマンドが動くかどうかは知識がありませんが、
要はefibootmgrコマンドが動けばよいです。

簡単に流れを書くと
・Ubuntuのブート用USBメモリを作成
・上記をUSBモードでブートし、インストールではなくLive CDを選ぶ
・Terminalを起動
・"sudo -s"でrootになる
・"efibootmgr"と打ってみる
  ・コマンドが見つからない場合は"apt-get install efibootmgr"を実行
・"Boot000X:"という行がいくつか表示されるはず。表示されない場合は
 カーネルがUEFI対応ではないので、別のディストリを選ぶ
・"efibootmgr -c -L "FreeBSD UEFI" -l "\EFI\BOOT\BOOTX64.EFI""を実行
・成功すると"Boot000X* FreeBSD UEFI"という行が表示される。
・"efibootmgr -o 000X"を実行し、FreeBSDをデフォルトのエントリーとする

これで起動できるようになります。

野中

On Mon, 18 Jul 2016 00:33:06 -0600
Warner Losh <i...@bsdimp.com> wrote:

ワーナーです。

2016-07-17 17:11 GMT-06:00 Naomichi Nonaka <n...@enuenu.org>:
原因は10.3のUEFIインストーラがUEFIのNVRAMにブートエントリを作成しない
ためで、対策としてはLinux等を用いて手動でブートエントリを作成すれば
ファームのドライブ選択リストからFreeBSD用のブートエントリを選択し、
UEFIでのブートが行えます。

FreeBSD 10.3のUEFIはUEFIのブートマネージャプロトコルをしません。
もしかしたら FreeBSD 11.1がします。

ワーナー

FreeBSD 10.3's UEFI doesn't implement the boot manager protocol. Perhaps
FreeBSD 11.1 will do so.

Warner

P.S. I've been working on getting and setting variables after ExitBootServices()
has been called, which is key to implementing the standard boot
manager protocols.
The workaround is to use the Linux tools to setup multi-boot, as has
been pointed
out here.
(My Japanese skill is no good to translate this P.S. and google
translate looks too
weird for me to cut and paste :)
_______________________________________________
freebsd-users-jp@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp
To unsubscribe, send any mail to "freebsd-users-jp-unsubscr...@freebsd.org"




_______________________________________________
freebsd-users-jp@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp
To unsubscribe, send any mail to "freebsd-users-jp-unsubscr...@freebsd.org"

メールによる返信