[FreeBSD-users-jp 95884] Re: UEFIモードでインストールしたがHDDから起動できない

Naomichi Nonaka nao @ enuenu.org
2016年 7月 18日 (月) 13:51:30 UTC


野中です。

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 <imp at bsdimp.com> wrote:
>
>> ワーナーです。
>>
>> 2016-07-17 17:11 GMT-06:00 Naomichi Nonaka <nao at 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 at freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp
>> To unsubscribe, send any mail to "freebsd-users-jp-unsubscribe at freebsd.org"
>>
>
>



freebsd-users-jp メーリングリストの案内