ソースの表示以前のリビジョンバックリンク全て展開する/折り畳む文書の先頭へ Share via Share via... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer Reddit Teams最近の変更Send via e-Mail印刷パーマリンク × ESPの容量は512MB (512MiB)以上が推奨らしい FreeBSDのブート環境をEFIにすべく調べてたら、ESP (EFI System Partition)について留意すべき事が幾つかあるようなので殴り書き。公式仕様書といった一次情報は未見、かつEFI黎明期のバッドノウハウが混じってる可能性もあるので、本記事の正確性については保証できますん( ゚ω゚ ) ESPのファイルシステム: FAT32が正式 一部のLinuxディストリビューションはFAT16で作ることがある FreeBSDのnewfs_msdos -F 32で作ったFAT32は、一部のEFI実装で正しく読めない事がある。この場合はFAT12, FAT16で作ればよい。 Linux/FreeBSDではESPがFAT12, FAT16でも問題ないが、WindowsはFAT32しかだめ。 大抵のUEFIはどのFATでも大丈夫だが、一部の実装ではFAT32しかだめ。 ESPのサイズ: 正式な言及はなし ただし、FAT32の最小サイズは65527クラスタで、1クラスタの最小単位は1セクタという制約から、以下の最小ESPサイズ式が成り立つ。(なぜかFreeBSDのnewfs_msdosコマンドはなぜか最低65525クラスタ必要と言ってくるけど。) (最小ESPサイズ)=(セクタサイズ)×65527 すなわちセクタサイズごとの最小ESPサイズは以下となる。 512バイト/セクタの場合:33549824バイト=32763.5 KiB≒32 MiB 4096バイト/セクタの場合:268398592バイト=262108 KiB≒256 MiB しかし一部のEFI実装は512MiB未満のESPを正しく扱えない事がある。 こっちの資料には、FAT32は最小クラスタサイズ4KiBで最小ボリュームサイズが512MiBとあるので、最小クラスタが4KiB想定の実装があるのかも? 一方で、Windows/MacはESPを200MiBで作るので最早訳ワカメ状態(512Eドライブまでなら規格上も問題ないんだろうけど…) Linuxのmkdosfsコマンドは520MiBまでのパーティションをFAT16で作るのがデフォ挙動なので要注意。 FAT12, FAT16の場合、最小サイズ制限はない ファーム、OS、ストレージのそれぞれの都合が絡み合って何とも複雑な状況っぽい。 FAT32の最小容量制約を考慮すると、FreeBSD 11デフォの800KiBのESPなんぞ以ての外ですな。今後、ネイティブ4Kストレージが増えてく事を考えると、Windowsを使ってFAT32な512MiBのESPを作るのが最良か。まぁ、天下のWindows様が200MiBで確保してるんだから、それで問題ないとは思いますけどね。 参考サイト EFI システムパーティション - ArchWiki Managing EFI Boot Loaders for Linux: Basic Principles UEFI - FreeBSD Wiki Configure UEFI/GPT-Based Hard Drive Partitions FAT File System PlamoLinux - diary/Kojima/2015-10-08 start.txt 最終更新: 2022-07-27 15:26by Decomo