差分
このページの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のブートローダが実行される程度のもの。 | ||
| </ | </ | ||