看《鸟哥的Linux私房菜》的时候,说是partition table只能有四个分区,想知道为什么,以下参考自Wiki

1 第一个扇区

磁盘的第一个扇区(也可以叫做MBR,根据语境确定是第一个扇区还是主引导分区)记录了整块磁盘的重要信息,是计算机开机后访问磁盘时所必须要读取的首个扇区。主要有三个部分:

  1. 主引导分区(Master Boot Record,MBR):主要作用是检查分区表是否正确,并且在系统硬件完成自检以后将控制权交给磁盘上的引导程序(如GNU,GRUB);
  2. 分区表(partition table):占据64个字节,可以对四个分区的信息进行描述,其中每个分区的信息占据16个字节;
  3. 结束标志字:0x55AA,最后两个字节,是检验主引导记录是否有效的标志。

标准MBR结构如下:

地址 描述 长度(字节)
0 代码区 440(最大446)
440 选用磁盘标志 4
444 一般为空值; 0x0000 2
446 标准MBR分区表规划(四个16 byte的主分区表入口) 64
511 MBR有效标志:0x55AA 2

MBR总大小:446 + 64 + 2 = 512。


2 分区表

由于每个分区信息需要16个字节,所以对于采用MBR型分区结构的磁盘,最多只能识别4个主(primary)或扩展(extend)分区。扩展分区也是主要分区的一种,但它与主分区的不同在于理论上可以划分为无数个逻辑分区。

那为什么每个分区信息是16个字节呢?这16个字节又代表什么呢?

因为这16个字节中的每个字节都表示了一种定义,具体每个字节的定义可以参见磁盘分区结构信息。

偏移 长度(字节) 意义
00H 1 分区状态:00–>非活动分区;80–>活动分区;其它数值没有意义
01H 1 分区起始磁头号(HEAD),用到全部8位
02H 2 分区起始扇区号(SECTOR),占据02H的位0-5;该分区的起始磁柱号(CYLINDER),占据02H的位6-7和03H的全部8位
04H 1 文件系统标志位
05H 1 分区结束磁头号(HEAD),用到全部8位
06H 2 分区结束扇区号(SECTOR),占据06H的位0-5;该分区的结束磁柱号(CYLINDER),占据06H的位6-7和07H的全部8位
08H 4 分区起始相对扇区号
0CH 4 分区总的扇区数

下面是一个例子,如果某一分区在磁盘分区表的信息如下:

80 01 01 00 0B FE BF FC 3F 00 00 00 7E 86 BB 00

从中可以看到:

  • 最前面的“80”是一个分区的激活标志,表示系统可引导;
  • “01 01 00”表示分区开始的磁头号为1,开始的扇区号为1,开始的柱面号为0;
  • “0B”表示分区的系统类型是FAT32,其他比较常用的有04(FAT16)、07(NTFS);
  • “FE BF FC”表示分区结束的磁头号为254,分区结束的扇区号为63、分区结束的柱面号为764;
  • “3F 00 00 00”表示首扇区的相对扇区号为63(小端序);
  • “7E 86 BB 00”表示总扇区数为12289662(小端序)

3 主分区和扩展分区

磁盘中最多可以有4个Primary和Extended的扇区,而Extended只能有一个,如果要把磁盘分区成四个分区,那么只能是:

P+P+P+P
或者
P+P+P+E

上面的情况中, 3P+E只有三个主分区可用,因为Extended不能被格式化作为数据访问的分区,还需要进一步分区成逻辑分区。如果要四个都可用,就需要分区成4P。

扩展分区中逻辑驱动器的引导记录是链式的。每一个逻辑分区都有一个和MBR结构类似的扩展引导记录(EBR),其分区表的第一项指向该逻辑分区本身的引导扇区,第二项指向下一个逻辑驱动器的EBR,分区表第三、第四项没有用到。

需要注意的问题:

  1. 主分区和扩展分区最多只有四个
  2. 扩展分区最多只能有一个
  3. 逻辑分区是由扩展分区持续切割出来的分区
  4. 只有主分区和逻辑分区才能被格式化作为数据访问的分区
  5. Linux系统默认将前4个序号作为主分区或扩展分区,而逻辑分区的序号肯定从5开始

下图来自Inside the Linux boot process,较为清晰的画出了MBR中各个部分的结构

【Linux】MBR磁盘分区表只能有四个分区?相关推荐

  1. Linux中磁盘的管理(格式化、分区、挂载)

    文章目录 Linux中磁盘的管理(分区.格式化.挂载) 一.认识磁盘 1.什么是磁盘: 2.磁盘运行机理: 3.磁盘的扇区.磁道.柱面: 4.磁盘的分类: 二.磁盘的分区 1.为什么要分区 (1)易于 ...

  2. linux parted新建分区表,新增存储用Parted分区并建LVM卷

    新增存储用Parted分区并建LVM卷 一,Parted分区 1,parted分区 # parted /dev/sda GNU Parted 2.1 使用 /dev/sda Welcome to GN ...

  3. Linux基础篇——Linux磁盘操作(磁盘基础知识、分类、分区、挂载、卸载、扩容)详解

    目 录 1. 概 念 2. 为啥要分区 3. 磁盘的结构 4. 磁盘的分类 4.1 IDE硬盘 4.2 SCSI硬盘 4.3 SATA硬盘 4.4 固态硬盘 5. 磁盘分区命名规则 6. 磁盘分区类型 ...

  4. linux mbr 分区表修复,磁盘分区中MBR的模拟损坏及修复

    目前对于硬盘的分区方式有两种:MBR和GPT.本文只是为了介绍分区中的MBR的备份和恢复,所以不对GPT分区做过多的介绍. 我们先来对MBR的分区方式进行一个简单的介绍: 上图说明: 采用MBR分区的 ...

  5. linux mbr 分区表修复,备份/恢复MBR和分区表,以及无备份修复MBR及分区表错误;浅谈引导故障和分区方案...

    [原创]备份/恢复MBR和分区表以及无备份修复MBR和分区表错误,浅谈引导故障和分区方案.(完成66%) (这是我博客中的一篇文章,现在发到这里来) 手工备份/恢复MBR和分区表,以及无备份修复MBR ...

  6. guid linux 识别的分区表_GUID分区与MBR分区有什么区别?

    展开全部 GUID分区与MBR分区是两种磁盘的组织方式,主要是分区信息信息储存方式.备份功能和分62616964757a686964616fe4b893e5b19e31333431366238区数量和 ...

  7. Linux(一): 磁盘分区

    1. 磁盘分区 linux的设备都是以文件命名的,分区命名的文件的规则是什么?如何进行磁盘分区的,一个磁盘可以分多少区,主分区和逻辑分区,分区挂载目录是怎么样的.BIOS和UEFI分别是啥?MSDOS ...

  8. 3 什么是linux磁盘分区,3. Linux系统磁盘分区介绍

    1. 磁盘分区基本知识 1)磁盘在使用前一般要先分区(相当于建房子要分房间一样). 2)磁盘分区一般有主分区.扩展分区和逻辑分区之分.一块磁盘最多可以有4个主分区,其中一个主分区的位置可以用一个扩展分 ...

  9. linux的磁盘管理与文件系统

    目录 一.磁盘管理 1.磁盘的基础介绍 2.磁盘的分类 3.识别磁盘 4.磁盘的分区 二.文件系统 1.文件系统的介绍 2.文件系统的分类 3.磁盘创建文件系统 4.挂载和解挂载 一.磁盘管理 1.磁 ...

最新文章

  1. SQL Server 中各个系统表的作用
  2. python第三方开发软件_python开发者的必备工具(一)
  3. javascript中的运算符号
  4. BlockingQueue常用方法add、off、put、take、poll使用说明
  5. java oracle 图片_JAVA读取Oracle中的blob图片字段并显示
  6. TCP服务器端和客户端建立连接 - 服务器端的回调处理
  7. stateless_Spring Stateless State Security第3部分:JWT +社会认证
  8. GroupID和ArtifactID
  9. 1 io口 stm32_从STM32分享各种硬件以及总线之GPIO简介
  10. java int 128 ==_为什么 Java Integer 中“128==128”为false,而”100==100“为true?
  11. 错误的模糊应用(类继承问题)
  12. percona-toolkit源码编译安装
  13. java lbp_LBP特征提取原理及代码实现
  14. 当前版本与卡刷包android_小米5s卡刷包android版本不一致怎么解决
  15. 6502精品仿真软件(联锁)
  16. 最详细的IIS发布站点步骤
  17. 星际争霸1,如何有效提高apm和hotkey
  18. 操作系统的中的 IO
  19. Latex不能编译eps文件
  20. 什么品牌台灯最舒服?盘点2023最好的台灯品牌

热门文章

  1. 短视频素材怎么找?怎么做短视频运营?
  2. 【Derivation】随机过程及应用(三) - 高斯分布/正态分布的期望和方差
  3. 爬取腾讯课堂的课程评论
  4. thinkadmin V6 Experiences
  5. python二分查找时间复杂度_时间复杂度 二分查找
  6. 微信小程序iOS系统上echarts不能滑动的问题
  7. 超好看的情侣纪念日记录单页HTML自适应源码
  8. [内附完整源码和文档] 基于JSP的网上订餐管理系统的设计与实现
  9. 如何制作趣味头像?分享几种制作头像的方法
  10. 【经验分享】调试STM32F107VC单片机驱动DP83848以太网PHY芯片时遇到的问题