磁盘容量显示差异问题分析¶
问题描述¶
在 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
总结¶
- 系统显示的磁盘容量小于厂商标称容量是正常现象
- 差异主要来自单位换算、文件系统开销和系统保留空间
- 使用不同的命令可以查看不同层面的容量信息
- 建议同时使用多个命令来全面了解磁盘容量情况