Linux系统下GiB和GB的换算详细解析

简介

GiB和GB都是磁盘容量表示的单位,具体换算如下:

GiB(Gibibyte)是信息或计算机硬盘存储的一个单位
1KiB = 1024 Byte
1MiB = 1024 KiB = 1048576 Byte
1GiB = 1024 MiB
1TiB = 1024 GiB
GB(gigabyte)是十进制的容量单位
1KB=1000Byte
1MB=1000KB
1GB=1000MB
1TB=1000GB

目前linux系统中查看磁盘容量大小的工具如parted、fdisk都是以内核读取的磁盘块数量再进行换算而来,具体磁盘块数量查看命令:

[root@localhost /]# cat /sys/block/sda/size 
1218663424

可以通过该块数量去换算成GiB和GB:

具体实例:

磁盘每一块默认是包含512Byte,换算GiB过程:

1218663424*512/1024/1024/1024=581.1040GiB

与fdisk显示一致。
Linux系统下GiB和GB的换算详细解析

同理换算GB过程:

1218663424*512/1000/1000/1000=623.9557GB

与parted显示一致。
Linux系统下GiB和GB的换算详细解析

注:parted显示的是GB单位,fdisk是显示的GiB单位。

分区误差解析:
在安装linux系统进行自动全盘分区后会出现磁盘末端分区位置不是磁盘最后块位置,具体如上fdisk查看磁盘信息图所示。
原因有如下:
在获取磁盘具体数量后会进行四舍五入运算显示以GiB和GB为单位的数值,最终显示磁盘大小比实际偏大,如上parted显示的磁盘容量就比实际的偏大,因为其换算后采用四舍五入操作,因此在安装全盘分区时,会进行舍去末尾小数操作,防止磁盘分区失败,最终分区下来的块位置与磁盘块位置不一致的情况。
磁盘其他知识链接:MBR和GPT磁盘分区表类型对比详解

上一篇:parted扩展磁盘分区(实践篇)


下一篇:Linux系统与管理 - (七)磁盘管理❤