青木@名古屋です。

On Sun, 26 Nov 2023 19:02:39 +0900 (JST)
*** <du...@ymail.ne.jp> wrote:

> > 青木@名古屋です。
> 
> > /boot/nda0p1はFAT32又はFAT16でフォーマットされていますか?
> >  `newfs_msdos -F 32 -b 8192 -L ESP /dev/nda0p1`
> > のようにフォーマットしてやる必要があります。
> 
> ありがとうございました。このヒントで一歩前身できて問題が解決しました。
> こちらの方を参考にさせてもらいました。
> https://qiita.com/nanorkyo/items/429d7382a418b38de4d3

さすがに重村さん、よくできたページですね。


> それで、LOADER.EFI(8)のcpコマンドのところを以下のように変更したら起動しました。
> cp /boot/loader.efi /boot/efi/EFI/BOOT/BOOTX64.efi

UEFIの規格上の、amd64(x86_64)のデフォルトがESPのEFI/BOOT/BOOTx64.efi
ですので、これを/boot/efiにマウントして上書きした形ですね。
UEFI boot managerに何も設定がないか他の設定が全て起動不能だと
これを起動するルールです。


> (以下はマニュアルの引用です。)
>  UEFI(8)の内容が以下のようです。
> 
> Architecture  Default Path
> amd64         /EFI/BOOT/BOOTX64.EFI
> 
> https://man.freebsd.org/cgi/man.cgi?query=uefi&sektion=8&apropos=0&manpath=FreeBSD+14.0-RELEASE+and+Ports

これは規格上のデフォルトの解説になります。


> LOADER.EFI(8)の内容が以下のようです。
> 
>   # cp /boot/loader.efi /boot/efi/efi/freebsd/loader.efi
> 
> https://man.freebsd.org/cgi/man.cgi?query=loader.efi&sektion=8&apropos=0&manpath=FreeBSD+14.0-RELEASE+and+Ports

こちらは恐らくbsdinstallでのデフォルトで、他のOSとの
マルチブートを考慮して(あるいはファームウェアアップデート時
デフォルトのローダを上書きして更新専用のものにしてしまうような
変態マザーボードが出現しない保証がないことへの対策)の置き場所に
なります。 但し、efibootmgr(8)を使用してUEFI boot manager用の
エントリを作って有効化するのが前提ですので、bsdinstallでは
その設定も行うのかと思います(前世代のsysinstallでインストール
した経験はあるのですが、bsdinstallはLIVE CD的使い方以外したことが
ないので分かっていませんが)。
ただ、特に古い機種だとこのあたりがいいかげんで機能しないケースが
あるとどこかで見た覚えがありますので、機能しない場合はデフォルトの
EFI/BOOT/BOOTx64.efiを使うしかありません。


> I feel psycho.


-- 
青木 知明  [Tomoaki AOKI]    <junch...@dec.sakura.ne.jp>

Reply via email to