ソースの表示以前のリビジョンバックリンク全て展開する/折り畳む文書の先頭へ Share via Share via... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer Reddit Teams最近の変更Send via e-Mail印刷パーマリンク × « loader.efiで任意のパーティションのFreeBSDをブートする PVEのWindows 10ゲストでSR-IOVのVFが動いた! » LinuxがGPTを1MB確保するのはWindowsとの互換性のため LinuxでGPTを作ると、First usable LBAの値が512バイトセクタドライブで2048、4kセクタドライブで256となる。すなわち、LinuxはGPTとして1MiBを確保する。 GPTの情報を格納するのに必要なサイズは16.5KiBなので、本来は33セクタ@512Bまたは5セクタ@4KiBで事足りる。FreeBSDの39セクタ@512Bに慣れた身からすると、無駄とも思えるサイズである。 この理由を調べてみると、どうもWindowsとの互換性のためっぽい。 WindowsではVistaとWindows Server 2008から、パーティションを1MiBアライメントで揃えるようになったそうだ。Linuxはこれに倣ったとのこと。1MiBアライメントなら、512バイトと4kBの倍数なので所謂AFTアライメント問題が解消でき、将来、より大きなセクタサイズが登場した時に対応できる可能性も高まる、というのが狙いらしい。 言われてみれば納得の理由で、逆にFreeBSDが20KiBしか確保しないことが不安になってくる…。パーティション追加時にgpart create -a 1Mとすればパーティションを1MiB境界で揃えることはできる。一方で、First usable LBAを弄るものではないので、パーティション一覧を出したときにGPTと第1パーティションの間に“未使用領域”が計上されてしまうのが、ちょっとカッコ悪い。 どうでもいいけど調査の過程で、今更ながらCHSやらセクター63やらシリンダ境界規定やらを調べてしまった。 (2021-01-16 追記) Linuxのfdiskで切ったパーティションをFreeBSDで見てみた。 > gpart show => 6 234423115 nvd0 GPT (894G) 6 131072 1 efi (512M) 131078 26214400 2 freebsd-zfs (100G) 26345478 208077643 - free - (794G) => 256 468843345 nvd1 GPT (1.7T) 256 131072 1 efi (512M) 131328 26214400 2 freebsd-zfs (100G) 26345728 375914496 3 !6a898cc3-1dd2-11b2-99a6-080020736631 (1.4T) 402260224 13107200 4 !6a898cc3-1dd2-11b2-99a6-080020736631 (50G) 415367424 53476177 - free - (204G) nvd0がFreeBSDのgpart、nvd1がLinuxのfdiskで作成したもので、どちらも4kセクタである。 FreeBSDのgpartもFirst usable LBAをちゃんと見ているようで、nvd1のESPの開始セクタ256セクタ=1MiB地点を正しく認識している。 将来のことを考えると、GPTを作るところまではLinuxまたはWindowsでやった方がいいかもしれないなぁ。 参考サイト virt-alignment-scan(1) - Linux man page Logical Disk Manager - Wikipedia hard drive - Why does the partition start on sector 2048 instead of 63? - Super User GPT(GUID Partition Table)のパーティションテーブル構造のメモ (r271-635) Kozupon.com - ディスクの構造とOSの起動! ハードディスクの構造とパーティション by eslab - Ⅱ.アドレシング モード (Addressing Mode) ハードディスクの構造とパーティション by eslab - Ⅵ.ブートセクタ (Boot Sector) 起動しない対策 Linux on 4 KB sector disks: Practical advice – IBM Developer Linux で 4096 バイトセクタ HDD を fdisk - daily dayflower Linuxでディスクを追加する Comments Name E-Mail Website 人間の証明として、ボックス内の全ての文字を入力してください。 この項目は空のままにして下さい:Preview Comment blog/2021/2021-01-12.txt 最終更新: 2021-09-26 08:27by Decomo