パーティションサイズとdf出力が異なるのはなぜですか?

パーティションサイズとdf出力が異なるのはなぜですか?

/dev/sda1パーティションがあります。
ディスクユーティリティは容量を154 GBで表示します。
df-hプログラム

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             123G  104G   14G  89% /
devtmpfs             1006M  280K 1006M   1% /dev
none                 1007M  276K 1006M   1% /dev/shm
none                 1007M  216K 1006M   1% /var/run
none                 1007M     0 1007M   0% /var/lock
none                 1007M     0 1007M   0% /lib/init/rw

結果が異なる理由は何ですか?欠落している31GBはどこに行きましたか?

答え1

パーティションの容量が異なる可能性がある理由の1つは、パーティションがいっぱいになった場合に備えて、ルート用のいくつかのスペースを確保することです。ルート用に予約されたスペースがなく、パーティションがいっぱいになるとシステムは機能しません。ただし、この違いは通常約1%であるため、お客様の場合は違いは記載されていません。 dfのマニュアルページから

引数がマウントされたファイルシステムを含むディスクデバイスノードの絶対ファイル名である場合、dfはデバイスノードを含むファイルシステム(常にルートファイルシステム)ではなく、そのファイルシステムの空き容量を示します。

したがって、dfは実際にはファイルシステムのサイズ、通常はデバイスのサイズを示しますが、あなたの場合はそうではないかもしれません。ファイルシステムはパーティション全体に拡張されますか?

する

resize2fs /dev/sda1

違いはありますか?このコマンドは、パーティション全体を含むようにファイルシステムを増やそうとします。しかし、これを試している場合は、バックアップがあることを確認してください。

答え2

主な違いは、一部の人々は1KBが1000バイトであると言い、他の人は1KBが1024バイトであると言うからです。

Gnomeディスクユーティリティは、ディスクメーカーがディスクサイズをこの方法で説明しているため、1KB = 1000バイトを使用して容量を表示します。これはディスク容量です154,000,000,000バイト

一方、ほとんどのオペレーティングシステムは1KB = 1024バイトを表します。すべてのツールはこのルールが好きdffdisk使用されます。したがって、154,000,000,000バイト/ 1024 / 1024 / 1024 =143.4GB

jlliagreが正確に指摘したように(そしてGillesが出力を要求したときにヒントを与えたfdisk)、ディスクユーティリティはハードドライブ全体のサイズを知らせます。ただし、/dev/sda1ハードドライブの単一パーティションです。たとえば、ハードドライブには、4〜8 GBのスワップパーティション(仮想メモリとも呼ばれます)、通常は約100 MBのブートパーティションなど、いくつかの異なるパーティションがあります。

出力を公開していないfdisk -l /dev/sdaため、スワップパーティションが8 GBであるとします。今私たちがしなければならないことは135GB

その後、これらの違いに貢献するいくつかの異なる要因があります。

たとえば、ファイルシステムは特定のディスクパーティションを使用してメタデータを保存します。メタデータは、ファイル名、ファイル権限、パーティションのどの部分がどのファイルに属しているか、パーティションのどの部分が利用可能かなどの情報です。私のシステムでは、パーティションの約2%がこの目的に使用されます。あなたのスペースが似ていると仮定すると、利用可能なスペースが約に減ります。132GB

ファイルシステムは、rootユーザーのみが使用できるいくつかのスペースを予約できます。私のシステムではパーティションの5%なので、あなたの場合、総容量は約125GB

正確な数字は、ext2、ext3、ext4、fat、ntfs、btrfsなどを使用するかどうか、パーティションをフォーマットするときに使用した設定によって異なります。

ext2またはext3を使用している場合は、sudo tune2fs -l /dev/sda1スペースがどこに行くのかを知ることが役に立ちます。

答え3

おそらくinodeで使用することもできます。 MBRの一部のボリュームが不足している可能性があります。

答え4

sda1 はディスク全体ではなく、最初のプライマリパーティションです。 df出力に表示されないマウントされていない別のパーティションを作成した可能性があります。あるいは、何らかの理由で sda1 が空き領域をすべて満たしていないか、ファイルシステムがそのパーティションの空き領域をすべて使用していない可能性があります。 。

fdisk -lパーティションテーブルがどのように見えるかを教えてくれます。

関連情報