Tue, 6 Jan 2026 19:46:20 +0900
Tomoaki AOKI <[email protected]> writes:
丸> 極めて皮肉なことに、内蔵ディスクがFreeBSDだと内蔵ディスクのefiパーティショ
丸> ンを壊してしまう可能性があります。13.5amdのインストーラーは結局のところ
丸> /usr/sbin/bsdinstall を動かしているだけの話なのですが、こいつがなかなか
丸> の曲者で、デバイスを丸ごと一本を割り当てるインストールをやると、ターゲッ
丸> トのデバイス上にefiパーティションを作り、 gpt/efiboot0 というラベルを付
丸> けます。この時gpt/efiboot0 が既に他のデバイス上にあるかないかのチェック
丸> をサボっているのです。そのため内蔵ディスクの方も同じように bsdinstall で
丸> 作成されたものですと、newfs_msdos /dev/gpt/efiboot0 をやられてしまって、
丸> 見事内蔵ディスクが壊れてしまう、というお粗末。これで一度痛い目を見ました。
>
>私はインストール用イメージをLIVE CDモード起動用としてしか使わなくなって
>久しいためこれは知りませんでした。
>
>Bugzillaで報告を上げる(英語でないと駄目ですが)価値はあるかと。
EOLが近い 13.5の bug report を出してもあまり意味が無いように思います。
14.3で試して同じ問題があったら出してみます。13.5の bsdinstall には他にも
嫌な問題を見つけています。zfsで起動したシステム上で bsdinstall を使って
target device 上に zfs でインストールしようとすると、動かしているシステ
ムのzfs pool を destroy しようとする、というとんでもないやつです。
/usr/libexec/bsdinstall/zfsboot に問題があり、これは私でも patch を作れ
るような問題です。
*** ./usr/libexec/bsdinstall/zfsboot-1 Tue Apr 15 18:37:31 2025
--- ./usr/libexec/bsdinstall/zfsboot Mon Dec 8 04:22:53 2025
***************
*** 790,799 ****
# NOTE: `-F' required to destroy if partitions still exist.
# NOTE: Failure is ok here, blank disk will have nothing to destroy.
#
! # f_dprintf "$funcname: Exporting ZFS pools..."
! # zpool list -Ho name | while read z_name; do
! # f_eval_catch -d $funcname zpool "$ZPOOL_EXPORT_F" $z_name
! # done
f_dprintf "$funcname: Detaching all GELI providers..."
geli status | tail -n +2 | while read g_name g_status g_component; do
f_eval_catch -d $funcname geli "$GELI_DETACH_F" $g_name
--- 790,800 ----
# NOTE: `-F' required to destroy if partitions still exist.
# NOTE: Failure is ok here, blank disk will have nothing to destroy.
#
! f_dprintf "$funcname: Exporting ZFS pools..."
! ROOTFS=`df /| tail -1`
! zpool list -Ho name | while read z_name; do
! echo ${ROOTFS} | grep -q "^${z_name}/" || f_eval_catch -d
$funcname zpool "$ZPOOL_EXPORT_F" $z_name
! done
f_dprintf "$funcname: Detaching all GELI providers..."
geli status | tail -n +2 | while read g_name g_status g_component; do
f_eval_catch -d $funcname geli "$GELI_DETACH_F" $g_name
別の問題ですが、14.3のインストーラーを先ほどちょっと動かしてみたらCtrl-l
での画面更新が効きませんね。インストーラーを起動してから USBデバイスを刺
し込んでそのUSBデバイスにインストールする場合、つまりは私のブログの「外
付けディスクへのFreeBSD13.5のインストール(その2) 」ではこれ必要なんです
が、、、。
--------
丸山 直昌 まるやま なおまさ
メールアドレス: [email protected]