青木@名古屋です。
On Sun, 26 Nov 2023 10:39:45 +0900 (JST)
*** <[email protected]> wrote:
> * { font-size: 13px; font-family: 'MS Pゴシック', sans-serif;}p, ul, ol,
> blockquote { margin: 0;}a { color: #0064c8; text-decoration: none;}a:hover {
> color: #0057af; text-decoration: underline;}a:active { color: #004c98;}
> FreeBSD 14.0 のLiveCDから起動。
>
> 起動しなくなったFreeBSD 14.0を起動させたい。
>
> お願いします。この手順で大丈夫のような気がしています。
>
>
>
>
> Pool 'zroot' has the bootfs property set, you might need to update
>
> the boot code. See gptzfsboot(8) and loader.efi(8) for details.
>
>
>
>
>
>
>
> # gpart show
>
> nda0 GPT
>
> 1 efi (200M)
>
> 2 freebsd-boot (512K)
>
> 〓〓〓〓〓〓〓- free - (492)
>
>
>
>
> # gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 2 nda0
>
>
>
>
>
>
>
> # gpart list | grep -Ew '(Name|efi)'
>
> 1. Name: nda0p1
>
> 〓〓type: efi
>
> 2. Name: nda0p2
>
> 3. Name: nda0p3
>
> 4. Name: nda0p4
>
> 1. Name: nda0
>
>
>
>
> # mount_msdosfs /dev/nda0p1 /boot/efi
>
> mount_msdosfs: /dev/nda0p1: Invaild argument
>
> ここでエラーがでます。
/boot/nda0p1はFAT32又はFAT16でフォーマットされていますか?
efiタイプのパーティション(ESP)は基本的にFAT32(FAT16も
規格上許容されますが、規格外でFAT12も許容するUEFIファーム
ウェアも多くあるようです)でフォーマットされていないと、
そもそもUEFIファームウェアがブートローダを読んでくれません。
もしgpartでパーティションを作成しただけでフォーマットしていない
状態でしたら、LIVE CDから例えば
`newfs_msdos -F 32 -b 8192 -L ESP /dev/nda0p1`
のようにフォーマットしてやる必要があります。 `-L ESP`の部分は
無くても構いません(ボリュームラベルです)。
但し、`gpart list`で各パーティションに"label: "の行が無い(設定
していない)なら、こちらは後からでも個々にユニークなラベルを設定
しておくのをお勧めします。 でないと、NVMe SSDの増設時等、スロットの
認識順によってはnda0の部分が変わってしまって使用不能に陥る恐れが
あります。 後からの設定は、今回のefiタイプパーティションの場合、
`gpart modify -i 1 -l ESP001 nda0`でESP001というラベル(あくまで
例です)が付きます。
ところで、今回ESP(efiタイプのパーティション)とfreebsd-bootタイプの
パーティションの両方を作成しておられますが、特にテスト用だとか非常用
だとかの理由がなければ、
UEFIブートならESP
BIOS(レガシー)ブートならfreebsd-boot
の一方だけで充分です。 個人的にはUEFIブート可能ならそちらをお薦め
します。 起動時間に結構な差が出ますので。
> ときどき、FreeBSD 14.0 のLiveCDから起動させるとnda0が認識されなかったりする。
こちらは情報不足で答えようがありません。
原因としては、よくあるパターンでは、
・FreeBSDのドライバの完成度が低いチップセットを使用している
・SSDのコネクタの接触不良
・マザーボード側の給電能力を超える消費電力のSSDを使っていて
マザーボード側からの初期化に成功する場合と失敗する場合がある
・SSDの故障
・マザーボードの故障
・電源の故障
と、ざっと思いつくだけでも6つも有り得そうな原因が出てきます。
dmesgの出力があれば、私にはどうしようもなくてもどなたか
答えられる方がいらっしゃるかもしれません。
--
青木 知明 [Tomoaki AOKI] <[email protected]>