最精确硬盘分区的算法
本文最后更新于 4384 天前,其中的信息可能已经有所发展或是发生改变。
  1. 硬盘厂商为了换算方便,是按照千进制来计算硬盘容量的,一块1TB的硬盘实际容量是
    1,000,000,000,000Bit=976,562,500KB=953,674MB=931GB左右

    分区后实际可用容量会更小;

  2. 操作系统实际计算硬盘容量是按照1024进制,由此导致实际可用容量小于标称容量,硬盘容量越大,“损失”的容量也越大;
  3. 电脑当中实际显示的分区大小,既不是按照硬盘厂商的设计也不是操作系统的设计,而是另有误差。原因就是硬盘在分区和格式化之后还会在硬盘上占用一定的空间用来存储磁盘结构和数据位置等信息;
  4. 对于FAT32分区,每1024字节可用容量会使用4字节用于存储磁盘结构和数据存储位置等信息,但分区中第一GB可用容量却不占用额外的存储容量,因此FAT32整数分区公式为:
应分配MB数=(分区GB数-1)×4+1024×分区GB数
  1. 对于NTFS分区,原理更加复杂。NTFS分区的最小容量单位不可能精确到1MB,而是柱面大小。硬盘一般有255磁头,63扇区,
故每柱面大小为:512bitx255x63=8225280bit=7.84423828125MB

如果要分10GB,那么应当是10x1024MB=10240MB 实际需要柱面数为10240?.84423828125=1305.4 柱面只可能算整数,即1306个柱面 这样实际应分MB数为1306×7.84423828125=10244.575MB 不管小数点后面几位都进1,也就是10245MB,这样系统才能认成是10.0GB了 上面的计算方法太过复杂,原理大家了解一些就行了,真正操作时如果还用公式计算器慢慢换算,那就效率太低了。现在已经有人为我们设计了简单方便的硬盘整数分区计算器,支持FAT32和NTFS两种格式:

0
下面附10GB到200GB整10GB递增的精确计算结果:

10GB = 10245MB 20GB = 20482MB 30GB = 30726MB 40GB = 40963MB 50GB = 51208MB 60GB = 61444MB 70GB = 71681MB 80GB = 81926MB 90GB = 92162MB 100GB = 102407MB 110GB = 112644MB 120GB = 122888MB 130GB = 133125MB 140GB = 143362MB 150GB = 153606MB 160GB = 163843MB 170GB = 174088MB 180GB = 184324MB 190GB = 194561MB

此精确分区结果,在管理工具-磁盘管理界面,和Windows资源管理器里面显示的是整数,

10G就是10.00GB,20G就是20.00GB,40G就是40.00GB.

p.s,强迫症的人伤不起..

文章名称:《最精确硬盘分区的算法》
文章链接:https://www.1udd.com/925.html
版权声明:本文采用 License 知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
风险声明:本站资源仅供个人学习交流,请于下载后 24 小时内删除,请勿用于商业用途,否则法律问题自行承担!
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇