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で確保してるんだから、それで問題ないとは思いますけどね。

APC guidance from an MRICS counsellor! The rics pathway guide from UNICCM designates an MRICS counsellor to supervise your progress in your APC and lead you to the right course of action. Succeed with your final assessment and attain MRICS.

1 | | 2024-04-26 20:08 | reply



  • blog/2017/2017-09-22.1544516403.txt.gz
  • 最終更新: 2018-12-11 17:20
  • by Decomo