admin管理员组

文章数量:1531302

2024年7月31日发(作者:)

硬盘整数分区计算方法一般算法:

分区大小=(分区大小-1)×4+1024×分区大小

如果按照硬盘分区整数G计算公式X-1)*4+1024*X=Y 其中X就是你想要得到的

整数分区的数值,单位是G,Y是你分区时应该输入的数字,单位是M,

比如40GB=(40-1)×4+1024×40=41116MB 按照这样的计算方法:

5G=5136MB

10G=10276MB

15G=15416MB

20G=20556MB

30G=30836MB

40G=41116MB

30G以内,输入上面的数据,如10G你输入10276,在Windows资源管理器里面

显示的刚好10.00GB,而在管理工具-磁盘管理界面显示就是10.04GB,如果是

40G你输入41116,那么在Windows资源管理器里面显示的刚好40.01GB。

因此上面的计算公式还不是很准确。

最精确硬盘分区的算法如下:

硬盘一般有255磁头,63扇区,故每柱面大小为:

512byte x 255 x 63=8225280bytes =7.84423828125 MB

如果要分40GB,那么要40x1024MB=40960MB

需要柱面数为40960÷7.84423828125=5221.66

取整数既为5222个柱面

应分M数为5222x7.84423828125=40962.6123046875MB

不管小数点后面几位都进1,也就是40963MB,windows就认为是40GB了。

这个方法NTFS和FAT32通用。

下面附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。

这样是不是就清晰多了???下次给硬盘分驱的时候心里只需记住这几组数字

集合对硬盘进行整数分区了

个人感觉有些用,拿来供兄弟们参考[参考]硬盘整数分区计算方法一般算法(来

自电脑报):分区大小=(分区大小-1)4+1024分区大小 如果按照硬盘分区

整数G计算公式X-1)*4+1024*X=Y 其中X就是你想要得到的整数分区的数值,单

位是G,Y是你分区时应该输入的数字,单位是M, 比如40GB

个人感觉有些用,拿来供兄弟们参考[参考]硬盘整数分区计算方法一般算法

(来自电脑报):分区大小=(分区大小-1)×4+1024×分区大小

如果按照硬盘分区整数G计算公式X-1)*4+1024*X=Y 其中X就是你想要得到的

整数分区的数值,单位是G,Y是你分区时应该输入的数字,单位是M,

比如40GB=(40-1)×4+1024×40=41116MB 按照这样的计算方法:

5G=5136MB

10G=10276MB

15G=15416MB

20G=20556MB

30G=30836MB

40G=41116MB

30G以内,输入上面的数据,如10G你输入10276,在Windows资源管理器里面

显示的刚好10.00GB,而在管理工具-磁盘管理界面显示就是10.04GB,如果是

40G你输入41116,那么在Windows资源管理器里面显示的刚好40.01GB。

因此上面的计算公式还不是很准确。

最精确硬盘分区的算法如下(来自网络搜索):

硬盘一般有255磁头,63扇区,故每柱面大小为:

512byte x 255 x 63=8225280bytes =7.84423828125 MB

如果要分40GB,那么要40x1024MB=40960MB

需要柱面数为40960÷7.84423828125=5221.66

取整数既为5222个柱面

应分M数为5222x7.84423828125=40962.6123046875MB

不管小数点后面几位都进1,也就是40963MB,windows就认为是40GB了。

这个方法NTFS和FAT32通用。

下面附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。

要想吧分区显示为整数,可没有那么简单,下面我就为大家详细分析硬盘分区容量显示之谜:

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数

5. 对于NTFS分区,原理更加复杂。NTFS分区的最小容量单位不可能精确到1MB,而是

柱面大小。硬盘一般有255磁头,63扇区,故每柱面大小为:512bitx255x63=8225280bit

=7.84423828125MB

如果要分10GB,那么应当是10x1024MB=10240MB

实际需要柱面数为10240÷7.84423828125=1305.4

柱面只可能算整数,即1306个柱面

这样实际应分MB数为1306x7.84423828125=10244.575MB

不管小数点后面几位都进1,也就是10245MB,这样系统才能认成是10.0GB了

上面的计算方法太过复杂,原理大家了解一些就行了,真正操作时如果还用公式+计算

器慢慢换算,那就效率太低了。现在已经有人为我们设计了简单方便的硬盘整数分区计算器,

支持FAT32和NTFS两种格式:

如果是给WIn7分系统盘的话,它会自动预留100MB的隐藏分区,因此在输入分区容量的

时候,必须把计算器的数值+100,非系统分区则不需要 。

本文来自: 异域动漫论坛(/) 详细文章参考:

/

分区大小显示为整数的计算方法:

想要的大小为G,单位是GB,计算分区设置大小M的公式:

M=(G-1)*4+1024*G

关于硬盘种类、物理几何结构及硬盘容量、分区大小计算;

1、硬盘种类、物理几何结构

硬盘的种类主要是SCSI 、IDE 、以及现在流行的SATA等;任何一种硬盘的生产都要一定的

标准;随着相应的标准的升级,硬盘生产技术也在升级;比如 SCSI标准已经经历了SCSI-1 、

SCSI-2、SCSI-3;其中目前咱们经常在服务器网站看到的 Ultral-160就是基于SCSI-3标

准的;IDE 遵循的是ATA标准,而目前流行的SATA,是ATA标准的升级版本;IDE是并口

设备,而SATA是串口,SATA的发展目的是替换IDE;

硬盘的物理几何结构是由盘、磁盘表面、柱面、扇区组成,一个张硬盘内部是由几张碟片叠加在

一起,这样形成一个柱体面;每个碟片都有上下表面;磁头和磁盘表面接触从而能读取数据;

2、硬盘容量及分区大小的算法;

我们通过fdsik -l 可以发现如下的信息:

Disk /dev/hda: 80.0 GB, 8 bytes

255 heads, 63 sectors/track, 9729 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/hda1 * 1 765 6144831 7 HPFS/NTFS

/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)

/dev/hda3 2806 9729 55617030 5 Extended

/dev/hda5 2806 3825 8193118+ 83 Linux

/dev/hda6 3826 5100 10241406 83 Linux

/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris

/dev/hda8 5199 6657 11719386 83 Linux

/dev/hda9 6658 7751 8787523+ 83 Linux

/dev/hda10 7752 9729 15888253+ 83 Linux

其中 heads 是磁盘面;sectors 是扇区;cylinders 是柱面;每个扇区大小是 512byte,也

就是0.5M;

通过上面的例子,我们发现此硬盘有 255个磁盘面,有63个扇区,有9729个柱面;所以整

个硬盘体积换算公式应该是:

磁面个数 x 扇区个数 x 每个扇区的大小512 x 柱面个数 = 硬盘体积 (单位bytes)

所以在本例中磁盘的大小应该计算如下:

255 x 63 x 512 x 9729 = 8 bytes

提示:由于硬盘生产商和操作系统换算不太一样,硬盘厂家以10进位的办法来换算,而操作系

统是以2进位制来换算,所以在换算成M或者G 时,不同的算法结果却不一样;所以我们的硬

盘有时标出的是80G,在操作系统下看却少几M;

上面例子中,硬盘厂家算法 和 操作系统算数比较:

硬盘厂家: 8 bytes = 80023749.120 K = 80023.749120 M (向大单位

换算,每次除以1000)

操作系统: 8 bytes = 78148192.5 K = 76316.594238281 M (向大单位

换算,每次除以1024)

我们在查看分区大小的时候,可以用生产厂家提供的算法来简单推算分区的大小;把小数点向前

移动六位就是以G表示的大小;比如 hda1 的大小约为 6.144831G ;

二、关于硬盘分区划分标准及合理分区结构;

1、硬盘分区划分标准

硬盘的分区由主分区、扩展分区和逻辑分区组成;所以我们在对硬盘分区时要遵循这个标准;主

分区(包括扩展分区)的最大个数是四个,主分区(包含扩展分区)的个数硬盘的主引导记录

MBR(Master Boot Recorder)决定的,MBR存放启动管理程序(GRUB,LILO,NTLOARDER

等)和分区表记录。其中扩展分区也算一个主分区;扩展分区下可以包含更多的逻辑分区;所以

主分区(包括扩展分区)范围是从1-4,逻辑分区是从5开始的;比如下面的例子:

Device Boot Start End Blocks Id System

/dev/hda1 * 1 765 6144831 7 HPFS/NTFS

/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)

/dev/hda3 2806 9729 55617030 5 Extended

/dev/hda5 2806 3825 8193118+ 83 Linux

/dev/hda6 3826 5100 10241406 83 Linux

/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris

/dev/hda8 5199 6657 11719386 83 Linux

/dev/hda9 6658 7751 8787523+ 83 Linux

/dev/hda10 7752 9729 15888253+ 83 Linux

通过这个例子,我们可以看到主分区有3个,从 hda1-hda3 ,扩展分区由 hda5-hda10 ;

此硬盘没有主分区4,所以也没有显示主分区hda4 ;但逻辑分区不可能从4开始,因为那是

主分区的位置,明白了吧;

2、硬盘设备(包括移动存储设备)在Linux或者其它类Unix系统的表示;

IDE 硬盘在Linux或者其它类Unix系统的一般表示为 hd* ,比如hda、hdb ... ... ,我们

可以通过 fdisk -l 来查看;有时您可能只有一个硬盘,在操作系统中看到的却是 hdb ,这与

硬盘的跳线有关;另外hdc 大多表示是光驱设备;如果您有两块硬盘,大多是 hda和hdb。

在这方面说的太多也无用,还是以fdisk -l 为准为好;

SCSI 和SATA 硬盘在Linux通常也是表示为 sd* ,比如 sda 、sdb ... ... 以fdisk -l 为

移动存储设备在linux表示为 sd* ,比如 sda 、sdb ... ... 以fdisk -l 为准

3、合理的规划分区;

关于一个磁盘的分区,一个磁盘应该有四个主分区,其中扩展也算一个主分区;存在以下情况:

1)分区结构之一:四个主分区,没有扩展分区;

[主|分区1] [主分|区2] [主|分区3] [主|分区4]

这种情况,如果您想在一个磁盘上划分五个以上分区,这样是行不通的;

三个主分区 一个扩展分区;

[主|分区1] [主|分区2] [主|分区3] [扩展分区]

[逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区8] ... ...

这种情况行得通,而且分区的自由度比较大;分区也不受约束,能分超过5个分区;这只是举

一个例子;

2)最合理的的分区方式;

最合理的分区结构:主分区在前,扩展分区在后,然后在扩展分区中划分逻辑分区;主分区的个

数+扩展分区个数要控制在四个之内;比如下面的分区是比较好的;

[主|分区1] [主|分区2] [主|分区3] [扩展分区]

[逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区8] ... ...

[主|分区1] [主|分区2] [扩展分区]

[逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区8] ... ...

[主|分区1] [扩展分区]

[逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区8] ... ...

最不合理的分区结构: 主分区包围扩展分区;比如下面的;

[主|分区1] [主|分区2] [扩展分区] [主|分区4] [空白未分区空间]

[逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区8] ... ...

这样 [主|分区2] 和 [主|分区4] 之间的 [扩展分区] 是有自由度,但[主|分区4]后的[空白

未分区空间]怎么办?除非把主分区4完全利用扩展分区后的空间,否则您想在主分区4后再划

一个分区是不可能的,划分逻辑分区更不可能; 虽然类似此种办法也符合一个磁盘四个主分区

的标准,但这样主分区包围扩展分区的分区方法实在不可取;

我们根据这个标题,查看一下我们的例子,是不是符合这个标准呢?

Device Boot Start End Blocks Id System

/dev/hda1 * 1 765 6144831 7 HPFS/NTFS

/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)

/dev/hda3 2806 9729 55617030 5 Extended

/dev/hda5 2806 3825 8193118+ 83 Linux

/dev/hda6 3826 5100 10241406 83 Linux

/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris

/dev/hda8 5199 6657 11719386 83 Linux

/dev/hda9 6658 7751 8787523+ 83 Linux

/dev/hda10 7752 9729 15888253+ 83 Linux

本文标签: 分区硬盘整数扩展磁盘