差分

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

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

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
blog:2021:2021-01-12 [2021-01-14 21:42]
Decomo
blog:2021:2021-01-12 [2021-09-26 08:27] (現在)
Decomo
行 1: 行 1:
 ====== LinuxがGPTを1MB確保するのはWindowsとの互換性のため ====== ====== LinuxがGPTを1MB確保するのはWindowsとの互換性のため ======
  
-LinuxでGPTを作ると、First usable LBAとして512バイトセクタドライブで2048、4kセクタドライブで256が設定されことに気づいたこれだとパーティショニングツールからはGPTとして1MiB確保されたかのように見える。+LinuxでGPTを作ると、First usable LBAの値が512バイトセクタドライブで2048、4kセクタドライブで256となる。すなわちLinuxはGPTとして1MiB確保る。
  
-GPTの実際のサイズは16.5KiBであるから、本来は33セクタ@512Bまたは5セクタ@4KiBで事足りる。FreeBSDの39セクタ@512Bに慣れた身からすると、無駄とも思えるサイズ+GPTの情報を格納するに必要なサイズは16.5KiBなので、本来は33セクタ@512Bまたは5セクタ@4KiBで事足りる。FreeBSDの39セクタ@512Bに慣れた身からすると、無駄とも思えるサイズである
  
-理由を調べてみると、どうもWindowsとの互換性のためっぽい。+この理由を調べてみると、どうもWindowsとの互換性のためっぽい。
  
-WindowsではVistaとWindows Server 2008から、パーティションの先頭を1MiBアライメントで揃えるようになったそうだ。Linuxはこれに追従したとのこと。1MiBアライメントなら、512バイトと4kBの両方の倍数なので所謂AFTアライメント問題が解消でき、将来、より大きなセクタサイズが登場した時に対応できる可能性も高まる。+WindowsではVistaとWindows Server 2008から、パーティションを1MiBアライメントで揃えるようになったそうだ。Linuxはこれに倣ったとのこと。1MiBアライメントなら、512バイトと4kBの倍数なので所謂AFTアライメント問題が解消でき、将来、より大きなセクタサイズが登場した時に対応できる可能性も高まる、というのが狙いらしい
  
-言われてみれば納得の理由だ。逆にFreeBSDが20KiBしか確保しないことが不安になってくる…。パーティション追加時に''gpart create -a 1M''1MiB境界揃えてやればいいんだけではあが、れだとパーティション一覧に“未使用領域”として計上されてしまうのが、ちょっとカッコ悪い。+言われてみれば納得の理由で、逆にFreeBSDが20KiBしか確保しないことが不安になってくる…。パーティション追加時に''gpart create -a 1M''とすればパーティションを1MiB境界揃えることはできる。一方で、First usable LBAを弄るものではないので、パーティション一覧を出したときにGPTと第1パーティションの間に“未使用領域”計上されてしまうのが、ちょっとカッコ悪い。
  
 どうでもいいけど調査の過程で、今更ながらCHSやらセクター63やらシリンダ境界規定やらを調べてしまった。 どうでもいいけど調査の過程で、今更ながらCHSやらセクター63やらシリンダ境界規定やらを調べてしまった。
 +
 +----
 +(2021-01-16 追記)
 +
 +Linuxのfdiskで切ったパーティションをFreeBSDで見てみた。
 +
 +<code>
 +> gpart show
 +=>        6  234423115  nvd0  GPT  (894G)
 +          6     131072      efi  (512M)
 +     131078   26214400      freebsd-zfs  (100G)
 +   26345478  208077643        - free -  (794G)
 +
 +=>      256  468843345  nvd1  GPT  (1.7T)
 +        256     131072      efi  (512M)
 +     131328   26214400      freebsd-zfs  (100G)
 +   26345728  375914496      !6a898cc3-1dd2-11b2-99a6-080020736631  (1.4T)
 +  402260224   13107200      !6a898cc3-1dd2-11b2-99a6-080020736631  (50G)
 +  415367424   53476177        - free -  (204G)
 +</code>
 +
 +nvd0がFreeBSDのgpart、nvd1がLinuxのfdiskで作成したもので、どちらも4kセクタである。
 +
 +FreeBSDのgpartもFirst usable LBAをちゃんと見ているようで、nvd1のESPの開始セクタ256セクタ=1MiB地点を正しく認識している。
 +
 +将来のことを考えると、GPTを作るところまではLinuxまたはWindowsでやった方がいいかもしれないなぁ。
  
 ===== 参考サイト ===== ===== 参考サイト =====
  • blog/2021/2021-01-12.1610628177.txt.gz
  • 最終更新: 2021-01-14 21:42
  • by Decomo