Re: BIOSでハードディスクを選 択して、FreeBSDのどちらも起動さ せたい。
- Reply: *** : "Re: Re: BIOSでハードディスクを選 択して、FreeBSD のどちらも起動させたい。"
- In reply to: Hiroo Ono (小野寛生) : "Re: BIOSでハードディスクを選択して、Fr eeBSDのどちらも起動させたい。"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 17 Aug 2025 00:33:23 UTC
青木@名古屋です。 (Legacy)BIOS起動は久しく使っていないので記憶違いがあるかもしれませんが、 GPTの場合、gptzfsbootは「自身が読み込まれたドライブ」の起動可能なpool からの起動を試みたと思います。 boot1.efi(当時はloader.efiを直接ESPにインストールして起動することは できませんでした)がRoot-on-ZFSでの起動をサポートし、インストール用 イメージ(memstick.imgだったと思います)がUEFI起動をサポートした初期、 Legacy BIOS では狙ったとおりに起動できたのに(例えばUSB memstickを 選んで起動するときちんとUSB memstick上のFreeBSDが起動する)UEFIだと 必ずada0から起動してしまうという症状があって、いろいろやりとりして smh@に修正して貰ったので。 freebsd-bootパーティションに書き込むbootcodeはUFSとZFSで別々のもの ですが、(恐らくサイズの制約の緩いUEFIでは複数のboot1.efiを作りたく ないという意図と思いますが)boot1.efiではドライブ単位でZFS→UFSの 順で起動可能なプールorパーティションを探すようになっているという 違いはあるものの、ドライブ単位で考えるとLegacy BIOSと同じ挙動に して貰ったという認識です。 ※boot1.efiがpool・パーティションが起動可能かどうかを判断する ロジックはシンプルで、/boot/loader.efiがあるかないかを見ている だけですので、例えばUFS起動でZFSはデータ用なのに、ZFSの方に /boot/loader.efiが存在すると見事に起動不可能なドライブが 出来上がります。 (/boot/loader.envも探すので、そちらで 正しい設定を行えばUFSの方をキックするようにもできると思いますが、 そういった手当をしていないと...) ひとつ確認するのを忘れていました。 もちろんZFSのpool名はada0とada2で「異なる」ようにしていますよね? 万一同じ(例えばどちらもzroot)だと常にada0の方を探してしまう 可能性があります。 まさかとは思いますが念の為。 私の場合、NVMeのstable/14環境とSATAのmain環境のpool名は異なるものに してあり、さらに念押しで各々の/boot/loader.confの先頭に zfs_load=YES vfs.root.mountfrom="zfs:<pool名からのbootfs名>" を入れてあります。 ZFSの場合はここでドライブを指定する手段がないのでpool名で 区別できないとこの手で強制することができません。 On Sun, 17 Aug 2025 08:47:28 +0900 Hiroo Ono (小野寛生) <hiroo.ono+freebsd@gmail.com> wrote: > 小野寛生です。 > > ここらへんの動きを私はちゃんと理解していないのですが、起動時のチェーン順としては、 > > BIOS → gptzfsboot → loader → kernel > > のはずですが、それぞれの起動の動作はどうなっているのでしょう。 > > BIOS: 起動時のメニューで ada0 とada2 の起動選択が可能。 > gptzfsboot: ? (1)最初に見つけたディスクの loader を起動、 > つまり ada0 の gptzfsboot も ada2 のも ada0 の loader を起動するのか、 > (2)gptzfsboot が置かれたパーティションと同じディスクの loader を起動するのか? > loader: たぶん、起動した loader と同じパーティションの kernel を起動する > (loader.conf に vfsmountfrom の設定が無い場合) > (本当?) > kernel: どの zfs を import するの? > > gptzfsboot が (2) なら次へ進む。(1) なら諦めて boot environment と bectl を使う方向で。 > loader と kernel については、まず動作はどうなっているか整理が必要でしょうか。 > > よく分かっていないのに割り込んですみませんが。 > > > > > 2025年8月17日(日) 8:06 *** <dua_x@ymail.ne.jp>: > > > Warnerさん、お返事ありがとうございます。 > > > > > FreeBSD/ada2の/etc/fstabの内容は何ですか? > > > > > > FreeBSD installed on ada2, what is in /etc/fstab? > > > > > > Warner > > > > 新規にインストールしたので、編集していません、 > > インストールで勝手に作成されています。 > > > > # Device Mountpoint FStype Options Dump > > Pass# > > /dev/ada2p2 none swap sw 0 0 > > > > -- 青木 知明 [Tomoaki AOKI] <junchoon@dec.sakura.ne.jp>