MSDOS(MBR)和GPT--早期的Linux系统采用MBR的方式来处理开机引导程序和分区表,这些通常放在磁盘的第一个扇区(512字节)中,但是MBR分区只能抓取2TB的容量等等的限制,新的分区格式GPT因此产生

一、MBR

MBR位于整个磁盘的的第一个扇区,总体分为三部分:

boot loader:主要作用是把内核加载到内存中,引导系统加载

分区表DPT(16字节*4):保存着磁盘的分区信息,由于DPT只有64字节,因此最多只能划分四个分区,说到底对于磁盘的分区不过只是对DPT的分区而已,当然了,系统会预留一个扩展分区(Extended),扩展分区本身并不能创建文件系统格式化,对它继续划分,这样就可以划分出更多的分区(逻辑分区),而且每个逻辑分区中的前几个扇区也会用来记载分区信息。

其中每个16字节包含的内容如下:

第一个字节:80表示活动分区,00表示非活动分区

第二个字节:表示磁头号,占8位

第三个字节:高2位,表示柱面号,低6位,表示扇区号

第四个字节:表示柱面号,占8位

第2 3 4位总共24位,(8位磁头,10位柱面,6位扇区)能表示8G的空间

第五个字节:记录分区类型,0表示分区未使用

创建分区默认是83,更改为8e的效果图:

第六个字节:表示磁头结束号,占8位

第七个字节:高2位,柱面结束号,低6位,扇区结束号

第八个字节:表示柱面结束号,占8位

第九个字节至第十二字节:分区起始LBA地址,隐藏扇区数目

第十三字节至第十六字节:分区结束LBA地址,分区的总扇区数

共4*8=32位,能表示2T的空间

结束标志字 55 AA

一个逻辑分区前有一个EBR(512字节),和MBR的结构一样,只是EBR中的前446字节中没有数据,16字节*4中,第一个16字节指向当前逻辑分区,第二个16字节指向下一个EBR,剩下的两个16字节未使用,总之硬盘使用都会先读取MBR,如果硬盘的MBR坏掉,那么这整个硬盘也就坏了。

二、GPT

随着硬盘的容量越来越大,传统的MBR支持的2TB空间已经无法支持现在大容量的硬盘,于此出现了GPT分区格式,GPT使用LBA来处理,并且第一个LBA为LBA 0(从0开始编号)

支持128个分区

使用128位的UUID表示磁盘分区

仅支持UEFI的启动方式(传统的BIOS只能支持MBR,如果想要只从GPT启动只能使用UEFI)

GPT使用34个LBA区块记录分区信息,同时为了防止传统的MBR只有一个分区表带来的限制,GPT用磁盘的最后33个LBA作为另一个备份

结构:

LBA 0:PMBR (512字节)

对于传统的操作系统默认启动是MBR,因此为了保证GPT下能够启动仅支持MBR的操作系统,预留了512字节作为保护MBR,其结构和MBR类似,其中的55AA是必须的,在原来的分区表中现在存放着特殊标志的分区,表示为GPT之意,这样不懂GPT分区的管理程序就不会认识该磁盘,进一步保护了磁盘。

LBA 1:GPT分区头

该LBA区块记录了分区表的位置和大小,GPT备份区的位置,以及校验位(CRC32),操作系统可以根据校验位判断该GPT是否正确,若错误则可以根据最后的备份恢复该GPT。

LBA 2—33:分区表

每个LBA区块可以划分4个分区记录,所以总共可以有4*32=128个分区记录,每个分区记录512/4=128字节,128字节中分出64字节来表示开始和结束扇区号,所以每个分区最大限制容量为2^64*512Bytes=2^33TB=8ZB。

. . . :分区

GPT格式没有扩展分区的概念,因此每个分区都可以格式化

LBA N-32...LBA N:备份区域

小tips:理论上GPT格式可以无限划分分区(128以上),但是如果划分的过多的话,好像128之后的分区就不能够格式化使用了。

linux中mbr最大多少分区,Linux学习—MBR和GPT相关推荐

  1. Linux中fdisk创建扩展分区,linux fdisk创建分区

    在这个时候,你应该在你的硬盘上有大量可用作 Slackware 分区的未分区空间. 现在你已经准备好了创建你的 Linux 根分区.你可以用 Linux 版的 fdisk 来做到这一点. 为了给一个硬 ...

  2. Linux中不同MTD设备分区,Linux MTD设备总结

    1 flash如何分区? 见内核配置与编译 系统启动后,在dev目录下,/dev/mtd0,1,2等代表char型设备,mtd0代表flash的第一分区,依次类推:/dev/mtdblock0,1,2 ...

  3. linux中怎么格式化磁盘分区,Linux 磁盘分区及格式化

    先使用fdisk -l 列出设备的分区.我这里的/dev/sdb 磁盘是我向运行在virtualbox中的虚拟机 添加的虚拟磁盘.顺便来说下往运行在virtualbox 中的系统添加虚拟磁盘的方法.首 ...

  4. 在Linux中对硬盘进行分区、格式化和挂载

    在Linux中对硬盘进行分区.格式化和挂载 我最近有一个全新的4-TB硬盘加入我的电脑.所以我需要在Linux中安装它.为此,我需要执行以下操作: 分区 格式化 挂载 检查是否已安装硬盘驱动器 分区 ...

  5. linux对磁盘进行分区_如何在Linux中对磁盘进行分区

    linux对磁盘进行分区 在Linux中创建和删除分区是一种常规做法,因为在使用存储设备(如硬盘驱动器和USB驱动器)之前,必须先对其进行某种结构化. 在大多数情况下,大型存储设备被分为称为parti ...

  6. 关于 Linux中逻辑卷/物理分区等知识的一些总结

    我的需求: 准备红帽考试,这块听课听得稀里糊涂的. 我是这样做的: 请教了公司大佬,书里找了些资料.这里整理笔记加以记忆,不足之处请小伙伴指出来.生活加油.2021.01.08 一,思维导图梳理关系 ...

  7. linux中_Linux基础知识(Linux系统、Linux中的链表)

    Linux系统简介 Linux系统的结构及特点 Linux系统的结构图如下图所示: 从上图可以看出,Linux是一个典型的宏内核(一体化内核)结构.硬件系统上面时硬件抽象层,在硬件抽象层上面时内核服务 ...

  8. centos sudo不能运行_如何在 Linux 中配置 sudo 访问权限 | Linux 中国

    Linux 系统中 root 用户拥有 Linux 中全部控制权力.Linux 系统中 root 是拥有最高权力的用户,可以在系统中实施任意的行为.-- Magesh Maruthamuthu Lin ...

  9. 19. linux中权限详解,Linux权限位,读写执行权限真正含义,chmod详解

    linux中权限详解,Linux权限位,读写执行权限真正含义,chmod详解 文章目录 Linux权限位 读写执行 三种权限真正含义和作用 权限对文件的作用 权限对目录的作用 示例 chmod 使用数 ...

  10. linux取证教程,Linux中的取证(Forensics in Linux)

    Linux中的取证(Forensics in Linux) 数字调查的主要问题是通过加密或任何其他格式保护重要证据或数据. 基本示例是存储密码. 因此,有必要了解Linux操作系统在数字取证实施中的使 ...

最新文章

  1. 如何避免操作系统中多线程资源竞争的互斥与同步?
  2. C++ link2005 error 错误 解决方法汇总(一般重复定义,如果都是不就是 函数定义和实现没有分离)...
  3. VTK修炼之道71:交互与Widget_观察者/命令模式
  4. 利用numpy删除DataFrame某一行/列、多行内容
  5. JavaScript字符串操作方法大全,包含ES6方法 2
  6. .container的应用
  7. 将地址强制转换为指针
  8. python—模块-sys
  9. GIMP教程 1 图片剪裁
  10. 台式计算机键盘驱动,提示检测到不兼容的键盘驱动程序怎么解决 教你几个步骤轻松修复...
  11. RGB颜色转16进制颜色
  12. 如何下载旧版本android NDK
  13. C# 添加Excel水印
  14. 01-Java中的集合
  15. 手把手从0打造电商平台前端
  16. 计算机十一月份成绩,CPU天梯图2018年11月最新版 十一月台式电脑CPU性能排行
  17. 曾红过那英,巅峰时却远嫁日本,
  18. 蜗牛—《他们最幸福》
  19. 【学员分享】新东方英语学费价目表!
  20. Linux vi简介以及命令

热门文章

  1. [openwrt] ubus实现进程间通信举例
  2. Red5服务器搭建,流媒体rtmp推流实现H5在线直播以及遇到的坑
  3. Java网络编程并实现一对一聊天室功能
  4. 【已解决】戴尔笔记本wifi速度慢的问题。
  5. ubuntu 18.04.1安装RTL8821CE无线网卡驱动
  6. YY语音CTO赵斌的技术创业
  7. 简明 s3cmd 安装与使用手册
  8. Unity项目捏脸解决方案BlendShape
  9. cadence allegro - PCB线路敷铜渲染
  10. 计算机日志文件事件ID,教程分享:如何在Windows上对用户配置文件服务事件ID进行故障排除!...