返信ありがとうございます。 Root on ZFSの甘い罠でした。
gptzfsbootを使っていて、gptのパーティションなので、4Tは大丈夫かと思っていたのですが、思い込みでした。 gpt はあくまで mbr の上位互換があるので、ブートブロックは2T以内に置かないと、2Tを使った頃にブート出来なくなります。 /boot を移動してから tarで解凍すると動くとか、bootコードを再書き込みすると治るとかありますが、運が良いと治るようです。 ブートローダーの置いてあるファイルシステムの最後GPTの管理テーブルを書くらしいですが、BIOSが最後をレポートするときにINT13しかないので、2Tを超えた時に正しい値を返すと限らないとのことです。 管理テーブルが行方不明になると救いようが無いと思います。ストライピングだし無理かと思います。 UEFIの場合にはAPIがあって大丈夫のようですね。 状態は、USBでブートすれば、ZFSは見えない状態でしたが、-f でimportしたら普通に見えるようになりました。 こうなるとデータ救っておいて再インストールかと思ってます。 あ、一つ試してない心残りがあります。 gpart recover ada0 これをやってから再インストールすれば良かったなと心残りの状態です。 最終的には、プールを1個追加して/bootdirを zfsroot にマウントしました。ここに/bootを移動してから、リンクしました。 boodir は、freebsd-zfs で1gのスライスを切りました。UEFIがないので、GPTの数バイトの管理テーブルはここに書かれると思います。 ブートローダーのプールは、zfs mirror に一応しました。 現在は6TB辛い書き込んでますが、問題無くリブートできております。 2021年7月18日(日) 0:52 skyblue <zyxju...@gmail.com>: > 悸村です。 > 当方、たいていは ufs を使用しているので、zfs に関して詳しくな > いのですが、ちょっと気になる点があります。 > > On Mon, 5 Jul 2021 19:47:28 +0900 > Hideo Kuwabara <k...@superconnect.or.jp> wrote: > > > ハードディスクは入れ替えたばかりなので、ハードの不良ではないと思います。 > > 少し前に、 installworld, installkernel で 11.4p4 で動かしていました。 > > /usr/src/UPDATING の 'ZFS notes' はお読みになられたでしょうか。 > > ZFS notes > > --------- > > When upgrading the boot ZFS pool to a new version, always follow > > these two steps: > > > > 1.) recompile and reinstall the ZFS boot loader and boot block > > (this is part of "make buildworld" and "make installworld") > > > > 2.) update the ZFS boot block on your boot drive > > > > The following example updates the ZFS boot block on the first > > partition (freebsd-boot) of a GPT partitioned drive ada0: > > "gpart bootcode -p /boot/gptzfsboot -i 1 ada0" > > > > Non-boot pools do not need these updates. > > 恐らく、installworld の直後あたりに、 > > "gpart bootcode -p /boot/gptzfsboot -i 1 ada0" > と、boot block を更新する作業が必須のように書いてあります。 > > 我が家では追試のテストが出来ない現状です。 > こちらの勘違いでしたら、外している筈なので、ご容赦ください。 > > なお、当該の注記は、11.4 と 13.0 では、幾らか差異があります。 > > --- /usr/src/UPDATING 2020-06-12 20:48:06.000000000 +0900 > +++ /y2/UPDATING-fb13.0-p3 2021-04-09 09:24:00.000000000 +0900 > > @@ -1707,9 +2268,11 @@ > > 2.) update the ZFS boot block on your boot drive > > - The following example updates the ZFS boot block on the first > - partition (freebsd-boot) of a GPT partitioned drive ada0: > - "gpart bootcode -p /boot/gptzfsboot -i 1 ada0" > + The following example updates the ZFS boot block on the > + freebsd-boot partition of a GPT partitioned drive ada0: > + "gpart bootcode -p /boot/gptzfsboot -i $N ada0" > + The value $N will typically be 1 (if booting from BIOS) or 2 (if > + booting from EFI). > > 13.0 では、いわゆる legacy BIOS と UEFI では別の指定をするように > 記述されています。 > > > On Mon, 5 Jul 2021 19:47:28 +0900 > Hideo Kuwabara <k...@superconnect.or.jp> wrote: > > > 桑原と申します。 > > > > FreeBSD11.4 p4 にして暫くしたら突然bootしなくなりました。 > > > > > > Attempting Boot From Hard Drive (C:) > > ZFS: i/o error - all block copies unavaillavle > > ZFS: cat't read MOS of pool zroot > > gptzfsboot: failed to mount default pool zroot > > > > FreeBSD/x86 boot > > > > 復旧のヒントを頂ければと思います。 > > > > ハードディスクは入れ替えたばかりなので、ハードの不良ではないと思います。 > > 少し前に、 installworld, installkernel で 11.4p4 で動かしていました。 > > > > USBでbootしても、zpool は見えませんでした。 > > そこで、 zpool import zroot しましたが はねられ 指示に従って > > zpool import -f zroot したら zpool は正常に見えるようになり、 > > 手動でマウントすると中身は正しく見えますが、ブートできません。 > > 何かお呪いが必要でしょうか? > > -- > 悸村成一 > _______________________________________________ > freebsd-users-jp@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp > To unsubscribe, send any mail to "freebsd-users-jp-unsubscr...@freebsd.org > " > -- Super Connect Network Hideo Kuwabara _______________________________________________ freebsd-users-jp@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp To unsubscribe, send any mail to "freebsd-users-jp-unsubscr...@freebsd.org"