首页 > 其他分享 >磁盘的分区表2T容量问题猜想

磁盘的分区表2T容量问题猜想

时间:2023-06-25 22:11:51浏览次数:40  
标签:2T 字节 分区 扇区 分区表 开机 磁盘

磁盘的分区表容量问题猜想

磁盘结构:

这个可自行百度。或者我觉得这个不错:https://blog.csdn.net/qq_52247089/article/details/120586306

看完结构后就知道了磁盘:主要参数有 磁头、磁柱、扇区 。其中磁盘是圆的 随着半径增大外面的面积比里面的面积大。

先说说历史:刚开始的磁盘的每个磁道的扇区都是一样的,外面大的磁密度比较低,所以有些浪费了空间。

原本的磁盘容量容量是很小的,随着技术的提升,在计算机开始发力的阶段,最大的磁盘的磁柱一般为1023个,磁头的数量为255,扇区数为64.扇区的容量为512bytes。然后就有了3D参数寻址,CHS巡道。

如果按照CHS巡道,那么最大只有256x1024x64*512=8,589,934,592bytes(8Gb)在现在看来多么的小。

后来经过发展,把每个扇区的磁密度都设为一样,所以每个磁道的扇区的磁道数不一样了,容量可以更大了,可以超过8gb了。

MBR

磁盘从生产到使用要经过3个步骤,1.低级格式化(厂家自行格式化,把不太合格的扇区隐蔽掉,进行分磁头号,柱面号,扇区号。)2.进行分区操作(把一个磁盘进行分成几大块。)3。格式化(将分区里面的容量格式化拥有文件系统达到可用。)当然一般我们的工具直接把2和3融为一体,一步完成。

首先为什么要有MBR?都知道计算机的底层是一大堆二进制指令,计算机主板上有个CMOS芯片,里面储存着计算机硬件的相关信息,(以前的台式机主板的纽扣电池没电,时间一长台式机开机就会蹦出一大堆东西)。CMOS

里面的硬件参数为BOIS(BOISS是韧体,就是包含程序的硬件)程序提供参数,BOIS相当于是个最初的管理者,BOIS经过检测后发现一切正常,那么就会把磁盘里面的程序主引导记录(MBR),MBS储存在磁盘的0磁头0柱面0扇区,宏观上MBS分为两部分,扇区一共512bytes,第一部分446bytes就是开机管理程序,64bytes是分区表,剩下的2bytes是引导去是否合法为55AA(AA55看是大端小端读入模式方式)。BOIS会先看最后2bytes是不是AA55,如果是才会执行446bytes的开机管理程序。(注意这些东西产生是软件产生的,而软件又依托与操作系统,所以平台可能会有些坑留着,比如安装上系统linux和Windows,最好先安装Windows再安装linux,详细自己问度娘),BOIS发现AA55可是使用,就会加载446bytes的开机管理程序(boot loader)(又是一个小程序,一个引导另一个更高级的程序)。BOIS加载完管理程序后就退出了。加载程序有三个功能(《鸟叔的linux私房菜》);

提供选单:用户可以选择不同的开机项目,这也是多重引导的重要功能!
载入核心文件:直接指向可开机的程序区段来开始操作系统;
转交其他 loader:将开机管理功能转交给其他 loader 负责。(转给其它开机管理程序呀,也就是说磁盘可以不止一个开机管理程序)

开机管理程序根据设定的指引信息和根据分区表的内容确定系统的加载程序在哪个扇区。所以这个扇区很重要(hacker攻击这个区域就系统就开不起来了。)把系统的加载程序加载到内存中后也就没有开机管理程序的事了。

回主话题:为什么MBR只能用2t空间,多了不行。跟分区表有关。分区表一共64,有个四个分区,每个16bytes。具体内容如下:大佬的连接https://blog.csdn.net/gkxg001/article/details/82870109

https://www.cnblogs.com/shao-ye/p/11202680.html

存贮字节位 内容及含义
第1字节 引导标志。若值为80H表示活动分区,若值为00H表示非活动分区。
第2、3、4字节 本分区的起始磁头号、扇区号、柱面号。其中: 磁头号——第2字节; 扇区号——第3字节的低6位; 柱面号——为第3字节高2位+第4字节8位。
第5字节 分区类型符。 00H——表示该分区未用(即没有指定); 06H——FAT16基本分区; 0BH——FAT32基本分区; 05H——扩展分区; 07H——NTFS分区; 0FH——(LBA模式)扩展分区(83H为Linux分区等)。
第6、7、8字节 本分区的结束磁头号、扇区号、柱面号。其中: 磁头号——第6字节; 扇区号——第7字节的低6位; 柱面号——第7字节的高2位+第8字节。
第9、10、11、12字节 逻辑起始扇区号 ,本分区之前已用了的扇区数。
第13、14、15、16字节 本分区的总扇区数。

就行上面大佬说的,超过1023后的柱面仍是1023,不会变了。具体是哪个扇区要根据第9、10、11、12、4个bytes逻辑起始扇区号和第13、14、15、16决定本分区的范围。而上面的CHS3D参数用于不在进行直接指向分区扇区。而是间接通过运算计算出逻辑扇区(有LBA 、LARGE等方式,磁盘上增添了一个新器件用于计算好像)。

最后的四个字节(”主分区的扇区总数”),决定了这个主分区的长度。也就是说,一个主分区的扇区总数最多不超过2的32次方。2^32=4,294,967,296扇区,每个扇区512bytes。总容量4,294,967,296*512/1024/1024/1024/1024=2T。(TB-GB-MB-KB-BYTES)。

所以虽然扩展分区一直可以扩展逻辑分区但是不能突破2T,如果需用更大的磁盘,那就是关于分区表的事情了。所以用了GPT分区了。

gpt 和MBR是磁盘的管理者 而每个分区的文件系统又是具体的管理者

标签:2T,字节,分区,扇区,分区表,开机,磁盘
From: https://www.cnblogs.com/heha/p/17504118.html

相关文章

  • 添加ASM磁盘报错ORA-02097和ORA-15014
    添加ASM磁盘报错ORA-02097和ORA-15014背景:   这是一套正在安装的11.2.0.1RAC,GridInfrastructure已经安装完成,ASMLib和磁盘分区均已完成,在通过asmca图形界面创建磁盘的时候没有发现成员盘。问题现象:问题分析:从报错信息上来看可以很明显的看出是因为参数asm_diskstring参......
  • 磁盘管理 -- 对拷 dd 命令
    dd命令简介 dd--转换和复制文件复制文件(指定大小),根据操作数进行转换和格式化; 参数:if=FILE//从FILE文件中读取;即指定源文件;如果不指定if默认从stdin读取;of=FILE//写入到FILE文件;即指定目标文件,如果不指定o......
  • 关于lvm磁盘管理-lv的大小调整-lv的扩展与缩减
    关于lvm磁盘管理中,lv的扩展可以使用lvextend命令,lv的缩减可以使用lvreduce命令另外还有一个lvresize命令,为调整lv的大小,既可以扩容/扩展,也可以缩减,用户与lvextend和lvreduce差第一部分,关于lv的扩展-扩容以如下一个叫lvData的lv为例,大小为1G[root@qq-5201351~]#lvs|greplv......
  • [WePE]使用Dism++备份系统是报错“磁盘空间不足”
    造冰箱的大熊猫@cnblogs2023/6/24问题:使用安装了WePE的优盘启动计算机,进入WinPE环境后使用Dism++备份操作系统时,提示“磁盘空间不足”。原因:WePE会创建一个卷标为WEPE、盘符为X、容量为8GB的虚拟分区,用于存放WinPE系统。Dism++在进行操作系统备份时,先将数据写入X:\Windows\temp......
  • kafka学习之五_多个磁盘的性能验证
    kafka学习之五_多个磁盘的性能验证背景周末在家学习kafka上午验证了grafana+kafka_exporter的监控下午想着验证一把性能相关.kafka学习之三里面,有成套的脚本.我这边想起来之前还有一个机器,是四个单盘HDD,我可以直接进行使用和验证.测试思路计划创建四个partitio......
  • Windows操作系统磁盘碎片整理程序的作用
    Windows操作系统磁盘碎片整理程序的作用是优化硬盘的存储和访问效率,提升系统的整体性能。磁盘碎片是指文件在硬盘上分散存储的情况,导致文件的不连续存储,从而增加了文件读取和写入的时间。磁盘碎片整理程序通过重新组织文件的存储位置,将文件片段整理成连续的空间,以减少磁盘访问的时......
  • blktrace分析Linux磁盘io
    blktrace包安装后有blktrace、blkparse、btt、blkiomon这4个命令,其中blktrace负责采集I/O事件数据,blkparse负责将每一个I/O事件数据解析为纯文本方便阅读,btt、blkiomon负责统计分析。转:https://www.cnblogs.com/codelogs/p/16060775.htmlhttps://www.cnblogs.com/citrus/p/151......
  • Postgresql 如何降低 wal 占用磁盘空间,降低磁盘存储成本
    POSTGRESQLWAL的存储一直是一个值得讨论的问题,到底一个POSTGRESQL在极端的情况下,可以用多少的空间来存储WAL日志。这里不是要讨论逻辑复制槽,也不是讨论ARCHIVE,这里要讨论是一种极端的方法,尝试将POSTGRESQLWAL占用的磁盘空间最小化。这里主要针对的对象是,单机的POSTGRESQL,不......
  • centos6以lvm划分磁盘分区swap/root禁用swap导致重启kernel异常
    目的禁用swap,虚机重启正常envcentos6.9root/swaplvm形式终端kernel异常,导致系统无法正常启动(引导出了问题)步骤正确禁用swap步骤1、sync刷新内存数据到磁盘2、关闭swapswapoff-a(有足够内存,防止内存不够频繁交换空间)3、注释/etc/fstab4、查看grub加载是......
  • Centos 7.X根分区磁盘扩容(非LVM)或home数据盘
    原配置100G,改配后110G   查看当前磁盘情况df-h   查看磁盘信息fdisk-l删除分区 新建分区 更新磁盘   [root@localhost~]#df-h文件系统容量已用可用已用%挂载点devtmpfs1.9G01.9G0%/devtmpfs......