差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン | |||
freebsd:migrate_freebsd_legacy_gpt_boot_to_uefi [2021-03-08 09:46] Decomo |
freebsd:migrate_freebsd_legacy_gpt_boot_to_uefi [2021-05-26 10:14] (現在) Decomo |
||
---|---|---|---|
行 1: | 行 1: | ||
====== BIOS/ | ====== BIOS/ | ||
- | FreeBSD 9.0-BETA3の時にレガシーGPTブートでRoot on ZFS環境を作ってから早8年が過ぎた。その間、OSの更新しつつ使い続けてきたが、2019年にもなってLegacyブートもなかろうと思いUEFIブート環境に切り替えることにした。 | + | FreeBSD 9.0-BETA3の時にBIOS+GPTブートでRoot on ZFS環境を作ってから早8年が過ぎた。その間、OSの更新しつつ使い続けてきたが、2019年にもなってBIOSブート(以下Legacyブートと呼ぶ)もなかろうと思いUEFIブート環境に切り替えることにした。 |
- | 手動でFreeBSD UEFIブート環境をインストールしたり、bsdinstallで作ったUEFI環境と見比べたりして確立した方法なので、FreeBSDが想定する正しいUEFI環境になってる保証はない。ご利用はas-isでオナシャス。 | + | 本記事で解説する方法は、手動でFreeBSD UEFIブート環境をインストールしたり、その環境とFreeBSDインストーラが作る公式UEFI環境と比べたりして確立した方法なので、正しいUEFI環境になってる保証はない。ご利用はas-isでオナシャス。 |
===== 試した環境 ===== | ===== 試した環境 ===== | ||
* FreeBSD 12.0-RELEASE-p4 | * FreeBSD 12.0-RELEASE-p4 | ||
- | * Legacy/ | + | * Legacy/ |
+ | * gptzfsbootを使って旧来のBIOSからGPT形式ストレージのFreeBSDを起動する方法。UEFI非対応時代のRoot on ZFS環境で用いられてきた。 | ||
* ada0が起動ストレージ | * ada0が起動ストレージ | ||
+ | * | ||
* FreeBSD専用マシン | * FreeBSD専用マシン | ||
行 20: | 行 22: | ||
起動ストレージにESP((EFI System Partition))を作る。ここにUEFIブートローダを入れるわけだが、この確保が最大の難関。 | 起動ストレージにESP((EFI System Partition))を作る。ここにUEFIブートローダを入れるわけだが、この確保が最大の難関。 | ||
- | ディスクに空きがあればいいのだが、なければデバイスを交換する他ない。この際、移行先デバイスをミラー構成でプールに追加し、作業完了後に古いデバイスをdetachすれば、ダウンタイムが殆どなくかつデータ同期のアレコレを気にしなくていいので楽である。SATAが空いてなければUSB接続でもよいし、正攻法でzfs send/ | + | ディスクに空きがあればいいが、なければデバイスを交換する他ない。この際、移行先デバイスをミラー構成でプールに追加し、作業完了後に古いデバイスをdetachすれば、ダウンタイムやデータ同期といった面倒なことを気にしなくていいので楽である。SATAが空いてなければUSB接続でもよいし、正攻法でzfs send/ |
各人工夫して、どうにかしてESPを確保されたし。 | 各人工夫して、どうにかしてESPを確保されたし。 | ||
行 33: | 行 35: | ||
< | < | ||
- | > gpart show ada7 | + | > gpart show ada0 |
=> 34 1099999933 | => 34 1099999933 | ||
34 | 34 | ||
行 80: | 行 82: | ||
詳細→[[blog: | 詳細→[[blog: | ||
+ | |||
+ | また、以下のスタートアップスクリプトも特に作る必要はない。あればUEFI Shellが起動した時に実行され、FreeBSDのブートローダが実行される程度のもの。 | ||
</ | </ | ||