跳转至

磁盘容量显示差异问题分析

问题描述

在 Ubuntu 系统中,为什么系统显示的磁盘大小要比实际(厂商标称)小很多?如何查看磁盘的原始大小?

查看磁盘原始大小的方法

1. 使用 fdisk 命令

sudo fdisk -l
输出示例:
Disk /dev/sda: 512.1 GB, 512110190592 bytes
255 heads, 63 sectors/track, 62260 cylinders, total 1000215216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
这里显示的 512.1 GB 就是 fdisk 识别到的磁盘原始容量。

2. 使用 lsblk 命令

lsblk
该命令会以树状结构显示磁盘及分区信息,包括容量信息。

3. 使用 parted 命令

# 查看所有磁盘
sudo parted -l

# 查看特定磁盘
sudo parted /dev/sda print

系统显示容量小于实际容量的原因

1. 单位换算差异

  • 厂商标注:使用十进制(1 GB = 1000 MB = 10^9 字节)
  • 系统显示:使用二进制(1 GiB = 1024 MiB = 2^30 字节)
  • 换算关系:1 GB ≈ 0.931 GiB

2. 分区和文件系统开销

  • 文件系统元数据占用
  • 索引节点(inode)占用
  • 日志文件占用
  • LVM 元数据占用(如果使用)

3. 系统保留空间

  • 超级用户(root)预留空间(通常为 5%)
  • 文件系统维护空间

容量换算参考

TB 与 TiB 换算

  • 1 TB(十进制)= 10^12 字节
  • 1 TiB(二进制)= 2^40 字节 ≈ 1.0995 × 10^12 字节

常见容量换算示例

  • 7.68 TB ≈ 6.98 TiB
  • 16.0 TB ≈ 14.55 TiB

换算公式: [ \text{TiB} = \frac{\text{TB} \times 10{12}}{2} ]

查看磁盘容量的命令对比

查看物理容量(原始大小)

sudo fdisk -l
lsblk
sudo parted -l

查看可用容量(文件系统)

df -h
du -sh

总结

  1. 系统显示的磁盘容量小于厂商标称容量是正常现象
  2. 差异主要来自单位换算、文件系统开销和系统保留空间
  3. 使用不同的命令可以查看不同层面的容量信息
  4. 建议同时使用多个命令来全面了解磁盘容量情况
回到页面顶部