【Linux】MBR磁盘分区表只能有四个分区?
看《鸟哥的Linux私房菜》的时候,说是partition table只能有四个分区,想知道为什么,以下参考自Wiki
1 第一个扇区
磁盘的第一个扇区(也可以叫做MBR,根据语境确定是第一个扇区还是主引导分区)记录了整块磁盘的重要信息,是计算机开机后访问磁盘时所必须要读取的首个扇区。主要有三个部分:
- 主引导分区(Master Boot Record,MBR):主要作用是检查分区表是否正确,并且在系统硬件完成自检以后将控制权交给磁盘上的引导程序(如GNU,GRUB);
- 分区表(partition table):占据64个字节,可以对四个分区的信息进行描述,其中每个分区的信息占据16个字节;
- 结束标志字: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,分区表第三、第四项没有用到。
需要注意的问题:
- 主分区和扩展分区最多只有四个
- 扩展分区最多只能有一个
- 逻辑分区是由扩展分区持续切割出来的分区
- 只有主分区和逻辑分区才能被格式化作为数据访问的分区
- Linux系统默认将前4个序号作为主分区或扩展分区,而逻辑分区的序号肯定从5开始
下图来自Inside the Linux boot process,较为清晰的画出了MBR中各个部分的结构
【Linux】MBR磁盘分区表只能有四个分区?相关推荐
- Linux中磁盘的管理(格式化、分区、挂载)
文章目录 Linux中磁盘的管理(分区.格式化.挂载) 一.认识磁盘 1.什么是磁盘: 2.磁盘运行机理: 3.磁盘的扇区.磁道.柱面: 4.磁盘的分类: 二.磁盘的分区 1.为什么要分区 (1)易于 ...
- linux parted新建分区表,新增存储用Parted分区并建LVM卷
新增存储用Parted分区并建LVM卷 一,Parted分区 1,parted分区 # parted /dev/sda GNU Parted 2.1 使用 /dev/sda Welcome to GN ...
- Linux基础篇——Linux磁盘操作(磁盘基础知识、分类、分区、挂载、卸载、扩容)详解
目 录 1. 概 念 2. 为啥要分区 3. 磁盘的结构 4. 磁盘的分类 4.1 IDE硬盘 4.2 SCSI硬盘 4.3 SATA硬盘 4.4 固态硬盘 5. 磁盘分区命名规则 6. 磁盘分区类型 ...
- linux mbr 分区表修复,磁盘分区中MBR的模拟损坏及修复
目前对于硬盘的分区方式有两种:MBR和GPT.本文只是为了介绍分区中的MBR的备份和恢复,所以不对GPT分区做过多的介绍. 我们先来对MBR的分区方式进行一个简单的介绍: 上图说明: 采用MBR分区的 ...
- linux mbr 分区表修复,备份/恢复MBR和分区表,以及无备份修复MBR及分区表错误;浅谈引导故障和分区方案...
[原创]备份/恢复MBR和分区表以及无备份修复MBR和分区表错误,浅谈引导故障和分区方案.(完成66%) (这是我博客中的一篇文章,现在发到这里来) 手工备份/恢复MBR和分区表,以及无备份修复MBR ...
- guid linux 识别的分区表_GUID分区与MBR分区有什么区别?
展开全部 GUID分区与MBR分区是两种磁盘的组织方式,主要是分区信息信息储存方式.备份功能和分62616964757a686964616fe4b893e5b19e31333431366238区数量和 ...
- Linux(一): 磁盘分区
1. 磁盘分区 linux的设备都是以文件命名的,分区命名的文件的规则是什么?如何进行磁盘分区的,一个磁盘可以分多少区,主分区和逻辑分区,分区挂载目录是怎么样的.BIOS和UEFI分别是啥?MSDOS ...
- 3 什么是linux磁盘分区,3. Linux系统磁盘分区介绍
1. 磁盘分区基本知识 1)磁盘在使用前一般要先分区(相当于建房子要分房间一样). 2)磁盘分区一般有主分区.扩展分区和逻辑分区之分.一块磁盘最多可以有4个主分区,其中一个主分区的位置可以用一个扩展分 ...
- linux的磁盘管理与文件系统
目录 一.磁盘管理 1.磁盘的基础介绍 2.磁盘的分类 3.识别磁盘 4.磁盘的分区 二.文件系统 1.文件系统的介绍 2.文件系统的分类 3.磁盘创建文件系统 4.挂载和解挂载 一.磁盘管理 1.磁 ...
最新文章
- SQL Server 中各个系统表的作用
- python第三方开发软件_python开发者的必备工具(一)
- javascript中的运算符号
- BlockingQueue常用方法add、off、put、take、poll使用说明
- java oracle 图片_JAVA读取Oracle中的blob图片字段并显示
- TCP服务器端和客户端建立连接 - 服务器端的回调处理
- stateless_Spring Stateless State Security第3部分:JWT +社会认证
- GroupID和ArtifactID
- 1 io口 stm32_从STM32分享各种硬件以及总线之GPIO简介
- java int 128 ==_为什么 Java Integer 中“128==128”为false,而”100==100“为true?
- 错误的模糊应用(类继承问题)
- percona-toolkit源码编译安装
- java lbp_LBP特征提取原理及代码实现
- 当前版本与卡刷包android_小米5s卡刷包android版本不一致怎么解决
- 6502精品仿真软件(联锁)
- 最详细的IIS发布站点步骤
- 星际争霸1,如何有效提高apm和hotkey
- 操作系统的中的 IO
- Latex不能编译eps文件
- 什么品牌台灯最舒服?盘点2023最好的台灯品牌