磁盘分区MSDOS与GPT的区别

与支持最大卷为2TB并且每个磁盘最多有4个主分区(或3个主分区,1个扩展分区)的MBR磁盘分区样式相比,GPT磁盘分区样式支持最大卷128EB并且每磁盘的分区数没有上限,只受到操作系统限制(由于分区表本身需要占用一定空间,最初规划硬盘分区时,留给分区表的空间决定了最多可以有多少个分区,IA-64版Windows限制最多有128个分区,这也是EFI标准规定的分区表的最小尺寸)。与MBR分区的磁盘不同,至关重要的平台操作数据位于分区,而不是位于非分区或隐藏扇区。另外,GPT分区磁盘有备份分区表来提高分区数据结构的完整性。

1.硬盘结构

  • 设备类型:

    1. 块设备:block,存取单位“块”,通常为随机访问的,块设备通常有缓存
    2. 字符设备:char,存取单位“字符”,通常为顺序访问的,字符设备没哟缓存
  • 设备号码
    不论是块设备还是字符设备都有两个编号

    1. 主要编号:major number,标识设备类别
    2. 次要编号:minor number,标识统一类别下的不同设备
  • 设备文件
    关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信

  • 接口
    1. 并行
      IDE 133MB/s 早期家用电脑
      SCSI:640 MB/s 早期服务器
    2. 串口
      SATA 6Gbps 家用电脑
      SAS 6gbps 服务器
      USB 480MB/s
  • 机械硬盘结构
    1. track 磁道
      磁盘上的圈,每个盘面最多可以放10bit=1024磁道 外圈编号小,内圈编号大。
    2. sector扇区
      磁道分割出来的小块,每个磁道可以存6bite扇区,也就是2^6=64个 0-63个扇区 一个扇区512byte大小
    3. head磁头
      磁头数=盘面数 8bit 256个
    4. cylinder柱面
      所有磁盘的对应磁道64*256*512byte=8M
  • CHS和LBA

    1. CHS
      早期硬盘划分采用,24bit寻址
      其中前10位表示cylinder,中间8位表示head,后面6位表示sector
      最大寻址空间8GB

    2. LBA
      ZBR区位记录扇区结构
      采用48个bit位寻址
      最大寻址空间128PB

2. MSDOS

2.1 1概述

早期的Linux系统为了兼容Windows的磁盘,使用支持Windows的MBR的方式来处理开机管理程序与分区表,这些记录在第一个扇区,这个扇区通常为512bytes大小,所以第一个扇区会有两个数据

  • 1、主要启动记录区(MBR):可以按照开机管理程序的地方,有446bytes

  • 2、分区表(partition table):记录整个硬盘分区的状态,有64bytes

由于分区表所在区块仅有64bytes容量,而每个分区表需要占用16bytes,因此最多仅能有四组记录区,每组记录区记录了该区段的起始与结束的磁柱号码。

上图假设磁盘只有400个磁柱,共分4个分区,第四个分区所在301-400号磁柱的范围,这四个分区被称为主要(primary)或延伸(extended)分区。利用延伸分区可以划分更多的分区,也就是所谓的逻辑分区(logical partition)

2.2 MSDOS结构

  • 磁盘引导记录MBR由4个部分组成,放在0扇区

    1. 主引导程序(偏移地址0000H—008H),它负责从活动分区中装载,并运行系统引导程序
    2. 出错信息数据区,偏移地址0089H—00E1H为出错信息,00E2H—01BDH全为0字节
    3. 分区表(DPT,Disk Partition Table)含4个分区项,偏移地址01BEH—01FDH,每个分区表项长16个字节,共64字节为分区项1、分区项2、分区项3、分区项4
    4. 结束标志字,偏移地址01FE—01FF的2个字节值为结束标志55AA

  • MBR中的DPT结构

    1. 第1字节引导标志:
      值为80H表示为活动分区
      值为00H表示非活动分区
    2. 第2、3、4字节
      起始磁头号-第2字节;
      起始扇区号-第3字节的低6位;
      起始柱面号-第3字节的高3位+第4字节8位
    3. 第5字节,分区类型符
      00H- -表示该分区未用
      06H- -FAT16基本分区
      0BH- -FAT32基本分区
      05H- -扩展分区
      07H- -NTFS分区
      0FH- -(LBA模式)扩展分区(83H位Linux分区)
    4. 第6、7、8字节
      结束磁头号-第6字节;
      结束扇区号-第7字节的低6位;
      结束柱面号-第7字节的高2位+第8字节
    5. 第9、10、11、12字节
      本分区之前已用的扇区数
    6. 第12、14、15、16字节
      本分区的总扇区数

3. GPT分区

为了兼容与所有的磁盘,在扇区的定义上面,大多会使用所谓的逻辑区块地址(LBA)来处理,GPT将磁盘所有区块以LBA来规划,而第一个LBA称为LBA0,与MBR仅使有一个区块不同,GPT除了前面的34个LBA之外,整个磁盘的最后33个LBA也拿来作为另一个备份

  • LBA0(MBR相容区块)
    假设的MBR,避免旧系统不识别GPT分区
  • LBA1(GPT表头记录)
    记录分区本身位置与大小,同时记录了备份用的GPT分区放置位置以及分区表的检验机制码(CRC32)

  • LBA2-33(实际记录分区信息)
    从LBA2区块开时,每个LBA都可以记录4笔分区记录,所以默认情况下可以有4×32=128笔分区记录,因为每个LBA有512bytes,因此每个记录用到128bytes的空间,除了每个记录所需要的标识符和相关记录外,GPT在每个记录中分别提供64bits来记录开始/结束的扇区号码,因此,GPT分区表对于单一分区来说,他的最大容量限制就是8ZB。

为了对比理解附一个结构图

附表 支持GPT格式的系统

注:分区工具无法转换MBR,可能导致的原因是磁盘内存在资料,解决方法,将所有分区格式化

引导

  • 旧电脑bios配合MBR引导分区
  • 新电脑UEFI配合GPT引导分区
  • bios配合GPT不能启动计算机,只能当数据盘

Linux学习16-磁盘分区MSDOS与GPT的区别相关推荐

  1. Linux学习(CentOS-7)---磁盘分区(概念、分区方法、分区方案)

    2016-09-23 16:28 13512人阅读 评论(0) 收藏 举报 分类: Linux学习(6) 版权声明:本文为博主原创文章,未经博主允许不得转载. 1磁盘分区相关的概念 1.1什么是磁盘 ...

  2. linux格式化ext4分区工具,linux学习笔记-磁盘分区、格式化与挂载

    磁盘分区.格式化与挂载 磁盘分区.格式化与挂载 一.给磁盘分区 分区工具介绍 fdisk:分区时只修改分区表信息:操作简单:不支持大于2T的分区:只能使用交互式来分区. parted:直接将分区信息写 ...

  3. Linux进阶篇--磁盘分区管理

    Linux进阶篇–磁盘分区管理 11.1 磁盘基础介绍 设备文件 * I/O Ports:I/O设备地址 * 设备类型:   块设备:block,存取单位"块",来自于磁盘   字 ...

  4. 磁盘分区MBR与GPT详解

    一  磁盘 磁盘的组成主要有磁盘盘.机械手臂.磁盘读取头与主轴马达所组成, 而数 据的写入其实是在磁盘盘上面.磁盘盘上面又可细分出扇区(Sector)与磁道(Track)两种单位, 其中扇 区的物理量 ...

  5. linux查看磁盘分区恢复磁盘,在Linux,误删磁盘分区怎么恢复呢【转】

    在我们运维工作中,频繁的操作,可能命令写入错误,造成磁盘分区的删除,那么应该怎么办呢?怎么恢复磁盘分区呢? 一不小心删除了磁盘分区.如下图,删除了sda磁盘的第一个分区,为系统boot分区,系统如果重 ...

  6. linux:查看磁盘分区信息和文件系统格式

    查看实例上的数据盘信息(GPT/MBR) 磁盘标签类型对应: dos => MBR gpt => GPT # fdisk -l磁盘 /dev/vda:42.9 GB, 4294967296 ...

  7. linux 挂载32T文件系统,linux Centos下磁盘分区及文件系统创建与挂载(示例代码)

    linux Centos下磁盘分区及文件系统创建与挂载 MBR(Master Boot Record)是传统的分区机制,应用于绝大多数使用BIOS的PC设备. 1.MBR支持32bit和64bit系统 ...

  8. linux Centos下磁盘分区及文件系统创建与挂载

    linux Centos下磁盘分区及文件系统创建与挂载 MBR(Master Boot Record)是传统的分区机制,应用于绝大多数使用BIOS的PC设备. 1.MBR支持32bit和64bit系统 ...

  9. Linux学习16 软件包和启动项管理

    Linux学习16 软件包和启动项管理 一.RedHat/CentOS包管理 1. 包管理工具RPM (1) 简介 (2) RPM包命名规则 (3) 常用操作 使用RPM安装软件 校验 升级 卸载 2 ...

  10. Linux下清除磁盘分区及残留raid信息

    Linux下清除磁盘分区及残留raid信息 适用场景: 1. 查看硬盘编号 2. 删除磁盘分区 3. 删除磁盘内残留raid信息 *本文适用于430-8i等只有低速格式化或没有格式化功能的HBA卡使用 ...

最新文章

  1. yahoo註冊.com 域名1.99$/年
  2. Python Scrapy爬虫框架实战应用
  3. 《Clojure数据分析秘笈》——2.6节调整词频值的度量
  4. 谈谈设计不足(under-engineering)与过度设计(over-engineering)
  5. Bitcoin0.21版 公链开发(4) Apache windows上安装
  6. react学习(35)----getFieldDecorator will override value
  7. hihoCoder 1116 计算 (线段树)
  8. SpringBoot+Shiro+ehcache实现登录失败超次数锁定帐号
  9. python(33)多进程和多线程的区别
  10. Java使用Redis
  11. [研究笔记]Lambda表达式学习笔记
  12. zookeeper3.4.6 使用研究
  13. springboot mybatis 事务_真香——Github上的优秀SpringBoot框架
  14. 阿里云播放器直播rtsp、rtmp、flv流,flash播放直播流
  15. C# 嵌入式数据库LiteDB
  16. Python 爬取蜂鸟网的照片
  17. 菱形杨辉三角形c语言,C++输出上三角/下三角/菱形/杨辉三角形(实现代码)
  18. 银河麒麟下安装ftp服务
  19. 无线通信技术_Fundamentals of Wireless Communication_QA
  20. 安检x光机原理计算机实现,安检X光机组成及工作原理(图文)

热门文章

  1. 计算机云班课王清答案,基于蓝墨云班课的移动学习实践
  2. 德勤 oracle par面,德勤霸王PAR面两次,谈感受,发面经
  3. 车架号识别系统-VIN码识别查询
  4. Craps 赌博游戏
  5. git lfs mac 安装_GIT LFS 安装及使用
  6. 牛客多校第九场 Niuniu is practicing typing.(kmp优化)
  7. 压力传感器常用的3种检测方法
  8. 幼儿园故事导入语案例_幼儿语言活动方案优秀案例合集
  9. Windows 自带的 UTF8 字符 颜文字表情符号
  10. 米家扫地机器人静音模式在哪_米家扫地机器人2代发布日期确定:带拖地功能...