提出问题

老早以前的问题了,今天分区的时候按照近似算法又出现又出现了近似值,
这99.98简直不能忍
硬盘分区按照1G=1024M换算分区后不是整数(想分10G,分区时填入大小102400M.但是分区完毕显示却是99.9G或近似值9.XXG,而不是10G整)。本篇为这个问题的原理分析和解决办法

先给出直接通用方案,特殊情况直接跳到4寻找精确值

硬盘分区的时候不能按照简单的按1024=1G 来设置
正确公式为(N-1)4+1024N,N为想要的大小,单位GB,最终计算结果单位为MB
即,如果想分出5GB整的分区,则公式为:
(5-1)4+10245=5136MB.(而不是1024*5=5120MB)

文章目录

  • 提出问题
  • 先给出直接通用方案,特殊情况直接跳到4寻找精确值
  • 1.什么是分区
  • 2.扩展分区和逻辑分区
  • 3.分区格式
    • 3.1 fat16
    • 3.2 fat32
    • 3.3 ntfs
    • 3.4 linux
    • 3.5 exFAT
  • 3.补充一点:整数分区通常的算法是M=(G-1)X4+1024*G,但并不完全准确
  • 4.常用1GB到200GB最精确的整数分区

1.什么是分区

分区从实质上说就是对硬盘的一种格式化。当我们创建分区时,就已经设置好了硬盘的各项物理参数,指定了硬盘主引导记录(即Master Boot Record,一般简称为MBR)和引导记录备份的存放位置。而对于文件系统以及其他操作系统管理硬盘所需要的信息则是通过之后的高级格式化,即Format命令来实现。

安装操作系统和软件之前,首先需要对硬盘进行分区和格式化,然后才能使用硬盘保存各种信息。许多人都会认为既然是分区就一定要把硬盘划分成好几个部分,其实我们完全可以只创建一个分区使用全部或部分的硬盘空间。不过,不论我们划分了多少个分区,也不论使用的是SCSI硬盘还是IDE硬盘,都必须把硬盘的主分区设定为活动分区,这样才能够通过硬盘启动系统。

2.扩展分区和逻辑分区

DOS和FAT文件系统最初都被设计成可以支持在一块硬盘上最多建立24个分区,分别使用从C到Z 24个驱动器盘符。但是主引导记录中的分区表最多只能包含4个分区记录,为了有效地解决这个问题,DOS的分区命令FDISK允许用户创建一个扩展分区,并且在扩展分区内在建立最多23个逻辑分区,其中的每个分区都单独分配一个盘符,可以被计算机作为独立的物理设备使用。关于逻辑分区的信息都被保存在扩展分区内,而主分区和扩展分区的信息被保存在硬盘的MBR内。

这也就是说无论硬盘有多少个分区,其主启动记录中只包含主分区(也就是启动分区)和扩展分区两个分区的信息。

3.分区格式

3.1 fat16

对电脑老"鸟"而言,对这种硬盘分区格式是最熟悉不过了,我们大都是通过这种分区格式认识和踏入电脑门槛的。它采用16位的文件分配表,能支持的最大分区为2gb,是目前应用最为广泛和获得操作系统支持最多的一种磁盘分区格式,几乎所有的操作系统都支持这一种格式,从dos、win3.x、win95、win97到win98、windows nt、win2000/XP,甚至火爆一时的linux都支持这种分区格式。

但是fat16分区格式有一个最大的缺点,那就是硬盘的实际利用效率低。因为在dos和windows系统中,磁盘文件的分配是以簇为单位的,一个簇只分配给一个文件使用,不管这个文件占用整个簇容量的多少。而且每簇的大小由硬盘分区的大小来决定,分区越大,簇就越大。

例如1gb的硬盘若只分一个区,那么簇的大小是32kb,也就是说,即使一个文件只有1字节长,存储时也要占32kb的硬盘空间,剩余的空间便全部闲置在那里,这样就导致了磁盘空间的极大浪费。fat16支持的分区越大,磁盘上每个簇的容量也越大,造成的浪费也越大。所以随着当前主流硬盘的容量越来越大,这种缺点变得越来越突出。

97操作系统中推出了一种全新的磁盘分区格式fat32。

3.2 fat32

这种格式采用32位的文件分配表,使其对磁盘的管理能力大大增强,突破了fat16对每一个分区的容量只有2gb的限制,运用fat32的分区格式后,用户可以将一个大硬盘定义成一个分区,而不必分为几个分区使用,大大方便了对硬盘的管理工作。而且,fat32还具有一个最大的优点是:

在一个不超过8gb的分区中,fat32分区格式的每个簇容量都固定为4kb,与fat16相比,可以大大地减少硬盘空间的浪费,提高了硬盘利用效率。

目前,支持这一磁盘分区格式的操作系统有win97、win98和win2000/XP。但是,这种分区格式也有它的缺点,首先是采用fat32格式分区的磁盘,由于文件分配表的扩大,运行速度比采用fat16格式分区的硬盘要慢;另外,由于dos系统和某些早期的应用软件不支持这种分区格式,所以采用这种分区格式后,就无法再使用老的dos操作系统和某些旧的应用软件了。

3.3 ntfs

ntfs分区格式是一般电脑用户感到陌生的,它是网络操作系统windows nt的硬盘分区格式,使用windows nt的用户必须同这种分区格式打交道。其显著的优点是安全性和稳定性极其出色,在使用中不易产生文件碎片,对硬盘的空间利用及软件的运行速度都有好处。它能对用户的操作进行记录,通过对用户权限进行非常严格的限制,使每个用户只能按照系统赋予的权限进行操作,充分保护了网络系统与数据的安全。

2000也支持这种硬盘分区格式。不过与windows nt不同的是,win2000使用的是ntfs5.0分区格式。ntfs5.0 的新特性有"磁盘限额"–管理员可以限制磁盘使用者能使用的硬盘空间;“加密”–在从磁盘读取和写入文件时,可以自动加密和解密文件数据等。随着 win2000的普及,广大电脑用户会逐渐熟悉这种分区格式的。

3.4 linux

linux操作系统是去年it媒体炒得最为火爆的操作系统。由于该系统为自由软件,几乎不用花钱就能装入电脑,所以赢得了许多用户。它的磁盘分区格式与其他操作系统完全不同,共有两种格式:

一种是linux native主分区,一种是linux swap交换分区。这两种分区格式的安全性与稳定性极佳,结合linux操作系统后,死机的机会大大减少,能让我们摆脱windows常常崩溃的噩梦。但是,目前支持这一分区格式的操作系统只有linux,对linux系统不感兴趣的用户也只能望洋兴叹了。

通过以上的介绍,我想你一定对常见的硬盘的分区格式有所了解了。那么,赶快根据你所需要安装的操作系统,给你的硬盘确定分区格式吧。

硬盘必须先经过分区才能使用,磁盘经过分区之后,下一个步骤就是要对硬盘进行格式化(FORMAT)的工作,硬盘都必须格式化才能使用。

格式化是在磁盘中建立磁道和扇区,磁道和扇区建立好之后,电脑才可以使用磁盘来储存数据。

在Windows和DOS操作系统下,都有格式化Format的程序,不过,一旦进行格式化硬盘的工作,硬盘中的数据可是会全部不见喔!所以进行这个动作前,先确定磁盘中的数据是否还有需要,如果是的话先另行备份吧。

3.5 exFAT

[font]exFAT(全称Extended File Allocation Table File System,扩展FAT,即扩展文件分配表)是Microsoft在Windows Embeded6.0(包括Windows CE6.0、Windows Mobile)中引入的一种适合于闪存的文件系统。对于闪存,NTFS文件系统过于复杂,exFAT更为适用。

相对FAT文件系统,exFAT有如下好处:

  1. 增强了台式电脑与移动设备的互操作能力
  2. 单文件大小最大可达16EB(2305 843009 213693 952字节,就是16M个TB,1TB=1024G)
  3. 簇大小可高达32MB
  4. 采用了剩余空间分配表,剩余空间分配性能改进
  5. 同一目录下最大文件数可达65536个
  6. 支持访问控制
  7. 支持TFAT采用该文件系统的闪存盘不支持Windows Vista ReadyBoost。Windows Vista SP1支持该文件系统。

请注意:exFAT只是一个折中的方案,只为U盘而生。[/font]

[font class=“Apple-style-span” style=“font-weight: bold;” id=“bks_cf464ay1”] 需要严格注意的是,这种分区只有vista支持,其他系统不能使用,xp可以通过替换驱动文件的方式支持此格式,但是只能读写,不能格式化[/font]

3.补充一点:整数分区通常的算法是M=(G-1)X4+1024*G,但并不完全准确

硬盘分区 整G整数法(从1g到200g最精确的整数分区)(转)整数分区通常的算法是M=(G-1)X4+1024*G,M为分区时输入的大小.比如我们所需要的分区为10G,则(10-1)X4+1024X10,结果为10276M,实际上这种算法并不准确。

硬盘一般有255磁头,63扇区(此处待考证,一般没那么多的磁头,但后面的结果还是正确的),故每柱面大小为:

512byte x255 x63=8225280bytes=7.84423828125 M

如果要分4G,那么要4×1024M=4096M

需要柱面数为4096÷7.84423828125=522.166

取整数既为523个柱面,应分M数为523×7.84423828125=4102.53662109375M,不管小数点后面几位都进1,也就是4103M,windows就认为是4.00G了。(此处有疑问,为何4103M但windows却识别为整G)

这个方法NTFS和FAT32通用。

4.常用1GB到200GB最精确的整数分区

GB BM
1G 1028M
2G 2056M
3G 3075M
4G 4103M
5G 5123M
6G 6150M
7G 7170M
8G 8198M
9G 9217M
10G 10245M
15G 15367M
20G 20482M
25G 25604M
30G 30726M
35G 35841M
40G 40963M
45G 46085M
50G 51208M
55G 56322M
60G 61444M
65G 66567M
70G 71681M
75G 76803M
80G 81926M
85G 87048M
90G 92162M
95G 97285M
100G 102407M
110G 112644M
120G 122888M
130G 133125M
140G 143362M
150G 153606M
160G 163843M
170G 174088M
180G 184324M
190G 194561M
200G 204806M

硬盘分区按照1G=1024M换算分区后不是整数(想分10G,分区时填入大小102400M.但是分区完毕显示却是99.9G或近似值9.XXG,而不是10G整)。本篇为这个问题的原理分析和解决办法相关推荐

  1. 换ssd后Oracle,更换SSD固态硬盘后电脑无法开机原因分析和解决办法

    更换SSD固态硬盘后电脑无法开机原因分析和解决办法 有网友先自己电脑反应慢,将硬盘换成了SSD固态硬盘,自己使用Win8.1系统,重启电脑正常,但是系统更新后,电脑开机出现如下界面,提示: Windo ...

  2. 计算机无法识别新挂硬盘,电脑更新后系统不识别移动硬盘的原因分析及解决办法 系统无法识别移动硬盘教程(两种方...

    今天把电脑系统进行了更新,然后插入移动硬盘,电脑无法识别系统.折腾了半天时间,问题解决了.下面小编把系统无法识别移动硬盘的解决办法分享到脚本之家平台帮助那些和我遇到同样问题的朋友. 方法一:1.先尝试 ...

  3. Spring 事务原理篇:@EnableTransactionManagement注解底层原理分析技巧,就算你看不懂源码,也要学会这个技巧!

    前言 学习了关于Spring AOP原理以及事务的基础知识后,今天咱们来聊聊Spring在底层是如何操作事务的.如果阅读到此文章,并且对Spring AOP原理不太了解的话,建议先阅读下本人的这篇文章 ...

  4. EasyNVR开启录像后,录像回看无数据的原因分析及解决办法

    EasyNVR平台优秀的视频能力在于通过RTSP/ONVIF协议,将前端接入设备的音视频资源进行采集,并转码成适合全平台.全终端分发的视频流格式,包括RTMP.FLV.HLS.WebRTC等格式,从而 ...

  5. 第四篇:决策树分类算法原理分析与代码实现

    前言 本文详细介绍机器学习分类算法中的决策树算法,并全面详解如何构造,表示,保存决策树,以及如何使用决策树进行分类等等问题. 为了全面的理解学习决策树,本文篇幅较长,请耐心阅读. 算法原理 每次依据不 ...

  6. [JAVA]第二篇(内存管理,HashMap内存泄漏解决办法)

    网上看到一个关于内存泄漏处理的例子,原网址:http://www.jb51.net/article/49428.htm,下面笔者将具体分析下这篇文章中的代码,并从中学习JAVA的内存管理. (Begi ...

  7. pandas - 特别篇(关于读取DataFrame数据显示不完全的解决办法)

    今天在做数据处理的时候,发现,pandas.read_csv()读出来的数据,因为数据量太大,行列之前做了省略处理. Rank Title ... Revenue (Millions) Metasco ...

  8. 服务器系统 固态硬盘速度慢,SSD速度慢的原因和解决办法 电脑装了固态硬盘还慢怎么办...

    SSD作为一种使用NAND为存储介质的硬盘,相比传统的碟片式机械硬盘理论速度要快上上十倍,而从机械硬盘升级为固态硬盘,可以让电脑开关机速度.软件载入速度.流畅度有很大的提升.不过,经常有部分网友表示, ...

  9. bangteng文件夹各种方式尝试后删除不了的解决办法

    今天突然之间发现,在C盘的C:\Program Files 下 和 C:\Program Files (x86) 文件夹下发现了有一个 bangteng 的文件夹,里面还有个kangle文件夹, 尝试 ...

最新文章

  1. java与bartender_Java调取Bartender使用教程.md
  2. odoo之可选择多个内容显示问题
  3. eclipse html tab宽度,Eclipse 设置Tab键为4个空格
  4. java设计一个程序后怎么测试_Java语言程序设计(第1阶段学习测试)(都平)
  5. linux学习笔记:vim编辑器的各种用法操作命令
  6. EasyClick 易点云测
  7. html 图层嵌套特点,ps图层有哪几种类型?
  8. cmd文件闪退问题追踪办法
  9. 道通诉大疆337调查之专利分析
  10. kotlinx.serialization处理Json解析
  11. 计算机学硕专硕的区分,跟大家说说学硕、专硕、如何区别以及涉及到的一些政策问题...
  12. 计算机工资表2017,薪级工资对照表2017年最新
  13. python中sklearn实现决策树及模型评估_Python sklearn决策树算法实践
  14. 求函数在x0处的增量_设函数y=2x^2,已知其在点x0处自变量增量时,对应函数增量的线性主部为-0.6,则x0=()A.0B.1C.-0....
  15. EXCEL的100种便捷用法(2):怎么将EXCEL里面一个单元格的数据拆分为多列
  16. 对tcp三次握手的详解之 理解TCP序列号(Sequence Number)和确认号(Acknowledgment Number)
  17. 《富爸爸 穷爸爸》读书笔记
  18. 多测师肖sir___app测试(新增001)
  19. “DDS” 你为什么要丢数据丫
  20. oracle split 以及 简单json解析存储过程

热门文章

  1. 从了解Linux开始
  2. 基于Verilog HDL与虚拟实验平台的【计算机组成】与CPU实验第四章:七段译码器
  3. 软件工程基础知识--认识软件工程
  4. 【Joshua B. Tenenbaum】非线性降维的全局几何框架
  5. 百度地图api卫星地球模式的调用
  6. 使用Quartus II9.0实现用74161计数器设计一个20进制的计数器
  7. SpringCloud版本Hoxton SR5 --- 第四讲:Hystrix 熔断、限流(线程)、降级
  8. 电子技术——反馈系统概述
  9. 序列标注 | (5) 命名实体识别技术综述
  10. CCF201709-02公共钥匙盒