青木@名古屋です。

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]>

Reply via email to