blog:2017:2017-09-22

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
blog:2017:2017-09-22 [2017-09-22 14:13]
Decomo
blog:2017:2017-09-22 [2020-01-06 16:14] (現在)
Decomo
行 1: 行 1:
-====== ESPの容量は512MiB以上が推奨らしい ======+====== ESPの容量は512MB (512MiB)以上が推奨らしい ======
  
-FreeBSDのブート環境をEFIにすべく調べてたら、EFI System Partitionについて留意すべき事が幾つかあるようなので殴り書き。公式仕様書といった一次情報は未見、かつEFI黎明期のバッドノウハウが混じってる可能性もあるので、本記事の正確性については保証できますん( ゚ω゚ )+FreeBSDのブート環境をEFIにすべく調べてたら、ESP (EFI System Partition)について留意すべき事が幾つかあるようなので殴り書き。公式仕様書といった一次情報は未見、かつEFI黎明期のバッドノウハウが混じってる可能性もあるので、本記事の正確性については保証できますん( ゚ω゚ )
  
 ESPのファイルシステム: ESPのファイルシステム:
行 8: 行 8:
   * 一部のLinuxディストリビューションはFAT16で作ることがある   * 一部のLinuxディストリビューションはFAT16で作ることがある
   * FreeBSDのnewfs_msdos -F 32で作ったFAT32は、一部のEFI実装で正しく読めない事がある。この場合はFAT12, FAT16で作ればよい。   * FreeBSDのnewfs_msdos -F 32で作ったFAT32は、一部のEFI実装で正しく読めない事がある。この場合はFAT12, FAT16で作ればよい。
-  * Linux/FreeBSDではFAT12, FAT16のESPでも問題ないが、WindowsはFAT32しかだめ。 +  * Linux/FreeBSDではESPがFAT12, FAT16でも問題ないが、WindowsはFAT32しかだめ。 
-  * 大抵のUEFIはどのFATでも大丈夫だが、一部の実装ではFAT32以外とダメ+  * 大抵のUEFIはどのFATでも大丈夫だが、一部の実装ではFAT32しか
  
 ESPのサイズ: ESPのサイズ:
  
   * 正式な言及はなし   * 正式な言及はなし
-  * ただし、FAT32の最小サイズは65527クラスタで、1クラスタの最小単位は1セクタであるから、(最小ESPサイズ)=(セクタサイズ)×65527 となる。 +  * ただし、FAT32の最小サイズは65527クラスタで、1クラスタの最小単位は1セクタという制約から、以下の最小ESPサイズ式が成り立つ。(なぜかFreeBSDのnewfs_msdosコマンドはなぜか最低65525クラスタ必要と言ってくるけど。) \\  **(最小ESPサイズ)=(セクタサイズ)×65527** \\ すなわちセクタサイズごとの最小ESPサイズは以下となる。 
-    * 1セクタ=512バイトの場合:33549824B=32763.5KiB31.995MiB +    * 512バイト/セクタの場合:33549824バイト=32763.5 KiB32 MiB 
-    * 1セクタ=4096バイトの場合:268398592B262108KiB255.964MiB+    * 4096バイト/セクタの場合:268398592バイト262108 KiB256 MiB
   * しかし一部のEFI実装は512MiB未満のESPを正しく扱えない事がある。   * しかし一部のEFI実装は512MiB未満のESPを正しく扱えない事がある。
     * [[https://support.microsoft.com/ja-jp/help/192322/description-of-default-cluster-sizes-for-fat32-file-system|こっちの資料]]には、FAT32は最小クラスタサイズ4KiBで最小ボリュームサイズが512MiBとあるので、最小クラスタが4KiB想定の実装があるのかも?     * [[https://support.microsoft.com/ja-jp/help/192322/description-of-default-cluster-sizes-for-fat32-file-system|こっちの資料]]には、FAT32は最小クラスタサイズ4KiBで最小ボリュームサイズが512MiBとあるので、最小クラスタが4KiB想定の実装があるのかも?
行 25: 行 25:
 ファーム、OS、ストレージのそれぞれの都合が絡み合って何とも複雑な状況っぽい。 ファーム、OS、ストレージのそれぞれの都合が絡み合って何とも複雑な状況っぽい。
  
-FAT32の最小容量制を考慮すると、FreeBSD 11デフォの800KiBのESPなんぞ以ての外ですな。今後、ネイティブ4Kストレージが増えてく事を考えると、Windowsを使ってFAT32な512MiBのESPを作るのがさいつよ+FAT32の最小容量制を考慮すると、FreeBSD 11デフォの800KiBのESPなんぞ以ての外ですな。今後、ネイティブ4Kストレージが増えてく事を考えると、Windowsを使ってFAT32な512MiBのESPを作るのが最良。まぁ、天下のWindows様が200MiBで確保してるんだから、それで問題ないとは思いますけどね。
  
  
行 32: 行 32:
   * [[https://wiki.archlinuxjp.org/index.php/EFI_%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%91%E3%83%BC%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%B3|EFI システムパーティション - ArchWiki]]   * [[https://wiki.archlinuxjp.org/index.php/EFI_%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%91%E3%83%BC%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%B3|EFI システムパーティション - ArchWiki]]
   * [[http://www.rodsbooks.com/efi-bootloaders/principles.html|Managing EFI Boot Loaders for Linux: Basic Principles]]   * [[http://www.rodsbooks.com/efi-bootloaders/principles.html|Managing EFI Boot Loaders for Linux: Basic Principles]]
 +  * [[https://wiki.freebsd.org/UEFI|UEFI - FreeBSD Wiki]]
   * [[https://technet.microsoft.com/en-us/library/hh824839.aspx|Configure UEFI/GPT-Based Hard Drive Partitions]]   * [[https://technet.microsoft.com/en-us/library/hh824839.aspx|Configure UEFI/GPT-Based Hard Drive Partitions]]
   * [[https://technet.microsoft.com/en-us/library/cc938438.aspx|FAT File System]]   * [[https://technet.microsoft.com/en-us/library/cc938438.aspx|FAT File System]]
   * [[http://plamo.linet.gr.jp/wiki/index.php?diary%2FKojima%2F2015-10-08|PlamoLinux - diary/Kojima/2015-10-08]]   * [[http://plamo.linet.gr.jp/wiki/index.php?diary%2FKojima%2F2015-10-08|PlamoLinux - diary/Kojima/2015-10-08]]
  • blog/2017/2017-09-22.1506057220.txt.gz
  • 最終更新: 2017-09-22 14:13
  • by Decomo