hf -hが正しい合計ディスク容量を返しますが、hfのデフォルト値が無効なブロック数の1024であるのはなぜですか?

hf -hが正しい合計ディスク容量を返しますが、hfのデフォルト値が無効なブロック数の1024であるのはなぜですか?

hf30Gb仮想ドライブが割り当てられたVirtualBox VMであるLubuntuでコマンドをテストしています(注:実際のGbはgibi / mebiではありません。)。ただし、次のコマンドを使用するとhf非常に奇妙なことが起こります。

root@vbox:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           292M  1,2M  291M   1% /run
/dev/sda1        30G   20G  8,2G  71% /
tmpfs           1,5G     0  1,5G   0% /dev/shm
tmpfs           5,0M  4,0K  5,0M   1% /run/lock
tmpfs           4,0M     0  4,0M   0% /sys/fs/cgroup
tmpfs           292M   92K  292M   1% /run/user/1000
root@vbox:~# df
Filesystem     1K-blocks     Used Available Use% Mounted on
tmpfs             298632     1180    297452   1% /run
/dev/sda1       30833564 20826180   8523272  71% /
tmpfs            1493144        0   1493144   0% /dev/shm
tmpfs               5120        4      5116   1% /run/lock
tmpfs               4096        0      4096   0% /sys/fs/cgroup
tmpfs             298628       92    298536   1% /run/user/1000
root@vbox:~# df --block-size=1
Filesystem       1B-blocks        Used  Available Use% Mounted on
tmpfs            305799168     1208320  304590848   1% /run
/dev/sda1      31573569536 21326008320 8727830528  71% /
tmpfs           1528979456           0 1528979456   0% /dev/shm
tmpfs              5242880        4096    5238784   1% /run/lock
tmpfs              4194304           0    4194304   0% /sys/fs/cgroup
tmpfs            305795072       94208  305700864   1% /run/user/1000
root@vbox:~# tune2fs -l /dev/sda1
tune2fs 1.46.5 (30-Dec-2021)
Filesystem volume name:   <none>
Last mounted on:          /
Filesystem UUID:          eb1f771e-14d9-461b-98b4-1e399a7ddeb0
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              1974272
Block count:              7865088
Reserved block count:     366932
Free blocks:              3060668
Free inodes:              1637218
First block:              0
Block size:               4096
Fragment size:            4096
Group descriptor size:    64
Reserved GDT blocks:      1023
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Flex block group size:    16
Filesystem created:       Mon Dec  7 20:34:27 2020
Last mount time:          Sat Jul 29 08:28:43 2023
Last write time:          Sat Jul 29 08:28:43 2023
Mount count:              31
Maximum mount count:      -1
Last checked:             Mon Dec  7 20:34:27 2020
Check interval:           0 (<none>)
Lifetime writes:          36 GB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               256
Required extra isize:     32
Desired extra isize:      32
Journal inode:            8
First orphan inode:       1186725
Default directory hash:   half_md4
Directory Hash Seed:      fd016d91-9723-4dcc-9880-0b2a65e0bb49
Journal backup:           inode blocks
Checksum type:            crc32c
Checksum:                 0x54deee1a

ご覧のdf -hとおり、正確な正確な30 Gbが返されますが、基本dfまたはdf --block-size=1おおよそのバイトが返されます600 000 000

さらに興味深いことに、tune2fs -l /dev/sda14kブロックの正確な数が表示され、合計は32 215 400 448バイトまたは30.0029 Gb

df Size列は絶対バイト合計を返す必要があるため、これは5%予約ブロックでは確かに問題ではありません。これをどのように説明しますか?

ベストアンサー1

おすすめ記事