本章学习内容

--------介绍MBR、GPT

--------不同的启动流程

--------分区结构

--------分区差异

--------磁盘管理方式

一、介绍MBR、GPT

MBR(Master Boot Record)主引导记录和GUID(GUID Partition Table,简写为GPT)全局唯一标识分区列表是磁盘的俩种的分区方式,它们各自占据了从磁盘的0磁道0扇区开始的不同的字节数大小,这俩种不同分区方式也决定了磁盘的各种特性,是计算机启动之前最先加载的程序。

二、启动流程

既然谈到了了磁盘的分区方式,我想这里很有必要介绍一下与之对应的启动方式。对于Legacy BIOS+MBR和UEFI BIOS+GPT这俩种技术而言,后者虽然使用人群不大,但是更先进,因为Windows8的诞生,让这一技术真正走进了人们的视野。GRUB是一个多系统启动引导程序,先启动grub再记载磁盘的MBR或者GPT,是传统的启动方式。

三、详解分区结构

1、分区展示

MBR磁盘示图

在MBR磁盘的第一个扇区内保存着启动代码和硬盘分区表。启动代码的作用是指引计算机从活动分区引导启动操作系统,也可以叫做Bootloader;分区表的作用是记录硬盘的分区信息。在MBR中,分区表的大小是固定的,一共可容纳4个主分区信息。最后是磁盘有效标志,它是磁盘分区的校验位。

GPT磁盘示图

在GTP磁盘的第一个扇区中同样有一个与MBR(主引导记录)类似的标记,叫做PMBR。PMBR的作用是,当使用不支持GPT的分区工具时,整个硬盘将显示为一个受保护的分区,以防止分区表及硬盘数据遭到破坏。而其中存储的内容和MBR一样。

2、分区细看

<1>centos7默认从2048号扇区开始,1--2047号扇区(每个扇区512byte)的1M空间为grub预留

<2>接下来细看0号扇区的512字节,即主引导记录

<3>演示MBR的作用

◆添加一块200G的磁盘,并创建文件系统

◆把sda的MBR转移至新磁盘

              ◆重新查看

/dev/sda的MBR在/dev/sdb中生效,sdb拥有了和sda一样的分区

◆破坏/dev/sdb的bootloader,sdb将无法启动,此处只作破坏

               ◆再破坏其分区标识符

               ◆查看其分区

以上证明了在MBR中,bootloader引导系统启动,而分区标识符一旦被破坏,虽然文件系统不会被破坏,但是分区会随之消失。

注意:生产生活中通常我们会备份MBR

四、俩种分区的差异

1、在MBR中,分区表的大小是固定的,一共可容纳4个主分区信息。在MBR分区表中逻辑块地址采用32位二进制数表示,因此一共可表示2^32(2的32次方)个逻辑块地址。如果一个扇区大小为512字节,那么硬盘最大分区容量仅为2TB。

2、GPT的分区方案之所以比MBR更先进,是因为在GPT分区表头中可自定义分区数量的最大值,也就是说GPT分区表的大小不是固定的。另外,GPT分区方案中逻辑块地址(LBA)采用64位二进制数表示,可以计算一下2^64是一个多么庞大的数据,以我们的需求来讲完全有理由认为这个大小约等于无限。除此之外,GPT分区方案在硬盘的末端还有一个备份分区表,保证了分区信息不容易丢失。

涉及专业术语:

CHS:标准的硬盘模式,它限定硬盘容量才8G,非常有效,现在市场上已经没有了!

LAB:逻辑块寻址模式,是现在最常用的一种,常见的为500G,1T

五、磁盘管理方式

在MBR和GPT的基础,我们再来宏观了解一下整个磁盘上数据的分布。其实在磁盘上,是分为一个个数据块的,一个块的大小通常时4K,而又把大量的数据块,分为有限的块组。每个块组中,有DGT、Block bitmap、Inode bitmap、Inode table和不均匀超级块,下图:

换一种思路来理解磁盘数据块的分布方式

关于各个数据块存储的信息,以下作简要介绍

◆ Boot block: 前面已经介绍过,里面存储的是MBR或者GDT等系统启动的程序

◆ Super block:记录着磁盘上所有数据块组的信息以及数据块的大小、inode大小......一旦损坏,数    据丢失,需备份多次

◆ GDT:存储着每个块组的磁盘块的数量,需备份多次

◆ Block bitmap:是磁盘块上数据块的索引,是加快查找inode的一种非常重要的数据结构

◆ Inode bitmap:作用同Block bitmap

◆ Inode table:遍历inode bitmap

所以:我们在操作一个数据时,在磁盘内部实现的机制是相当复杂的,首先通过inode table查找来分配空闲的inode,再根据inode bitmap找的对应的数据块,当然,关于inode的详细机制,我们前面已经介绍过,此处不做详细解释。

linux mbr gpt 区别,MBR、GPT的结构和区别相关推荐

  1. 懒人版黑苹果mbr安装_MBR和GPT的区别,选择适合自己的

    最近很多对电脑不太熟悉的人问我MBR和GPT还有uefi究竟是什么东西,怎么选择?为什么我安装系统的时候会出现硬盘格式?下边我先简单介绍下mbr和gpt的问题. MBR分区 MBR的意思是" ...

  2. linux无损转换磁盘成gpt分区,Linux下数据无损动态修改MBR分区表格式为GPT

    个人博客站点:https://www.hiecho.cn 1.简介 腾讯云官网中有一篇帮助文档"扩容Linux文件系统,https://www.qcloud.com/document/pro ...

  3. uefi+guid分区与legacy+mbr分区_对硬盘进行分区时,GPT和MBR有什么区别

    MBR的局限性,它是存在于驱动器开始部分的一个特殊的启动扇区,但是它支持最大2TB磁盘,它无法处理大于2TB容量的磁盘:GPT意为GUID分区表正逐渐取代MBR的新标准,能够实现巨大的容量.以下是详细 ...

  4. linux gpt转mbr命令,Diskpart命令将gpt格式转换成mbr教程

    预装Win8的电脑,磁盘为GPT格式的,如果需要安装Win7等早期版本系统,需要转换为MBR格式的,使用Diskpart命令即可完成转换. 操作步骤: 注意:转换磁盘格式需要清空磁盘中的所有分区和数据 ...

  5. linux mbr转换成gpt分区格式,MBR怎么转换为GPT?硬盘MBR格式转换成GPT格式教程

    硬盘MBR格式怎么转换成GPT格式?这是很多小白电脑用户所不了解的.首先介绍一下硬盘gpt格式,GPT是一种全局唯一标识分区表(GUID Partition Table,缩写:GPT),是指全局唯一标 ...

  6. linux系统重装win7 磁盘格式为gpt,怎么更改为,win10改win7怎么将硬盘格式由gpt转mbr?...

    [文章导读]随着近两年发布的笔记本.台式机等预装的全是win10系统,但有些用户还是想用win7,所以就有很多用户问win10怎么改win7系统呀,win10改win7装机条件的不一样需求,win7的 ...

  7. nvme分区选mbr还是guid_win10 双系统 Ubuntu UEFI+GPT bios+mbr 理论与实践

    以前都是在虚拟机和阿里云的服务器上玩Linux,这次鉴于需要在笔记本上装双系统.装双系统对配置的要求不高.毕竟每次只运行一个系统.我的笔记本是4G内存,混合硬盘(比较差那种,只有8G固态),4核的i7 ...

  8. 硬盘分区格式GPT与MBR无损互相转换而不破坏硬盘存储资料

    重装系统有时候需要转换硬盘格式和分区方式,最近两年生产的笔记本电脑几乎都是UEFI+GPT分区方式的系统,WIN10改WIN7 32位系统的时候需要将硬盘分区方式从GPT改成MBR.有时候想升级配置, ...

  9. 什么是MBR/UEFI/GPT?MBR与UEFI具体区别是什么?

    一.什么是MBR MBR是Master Boot Record(主引导记录)的缩写,是存储在计算机硬盘的第一个扇区(通常是第0个扇区)中的一个特殊的引导扇区. MBR包含了启动计算机所需的信息,例如分 ...

  10. GPT转MBR怎么转?GPT转MBR完整图文教程

    GPT转MBR分区怎么转?现在很多笔记本的硬盘分区都是GPT模式,如果想装XP的话,那只能将GPT磁盘转换成MBR磁盘分区才行.接下来,简单说说如何将GPT分区转成MBR分区! 如果本身电脑有两个硬盘 ...

最新文章

  1. Hibernate中get方法和load方法的区别
  2. HTML在计算机中指什么,计算机正在执行的指令存放在什么中
  3. java mkfifo_在Java中创建命名管道
  4. codeigniter 禁止ip登录_「开源资讯」baigo SSO v4.0 beta-3 发布,单点登录系统
  5. 趣味编程:函数式链表的快速排序
  6. 百度飞桨和Imagination宣布在全球AI生态系统方面开展合作
  7. 线程本地ThreadLocal的介绍与使用!
  8. Honey Dance I believe
  9. linux junit
  10. php百度知道小偷,随风百度知道(小偷采集) php版 v2.0.0X
  11. Spring的AOP中的责任链模式
  12. 虚拟机安装DOS系统步骤
  13. 多多客id是什么意思_拼多多skuid是什么意思(关于sku编码的详细介绍)
  14. Bzoj4556: [Tjoi2016Heoi2016]字符串
  15. Spring Boot 2.1.6.RELEASE embed tomcat启动过程
  16. 网址在QQ微信被拦截怎么办 微信屏蔽网址解决办法
  17. char如何储存那么多汉字
  18. Linux kernel log与调试
  19. 基于android的电子词典设计_基于Android平台下的电子词典的设计与实现
  20. 字节Java高级岗:K8S太火了!花10分钟玩转它不香么

热门文章

  1. Data Lab 2(深入理解计算机系统)
  2. 如何打造高质量的NLP数据集
  3. Deecamp2019年试题A卷详解和感受
  4. 神经网络中常用的误差平方和损失函数是什么
  5. 怎么用计算机算lnx,ln计算(log计算器在线)
  6. 函数重载 overload
  7. select ajax加载数据,ajax 执行成功后返回j页面加载 joson 数据(加载select数据)
  8. 大数据是什么?与云计算有什么关系?
  9. 单电路板双W5500驱动代码,基于WIZnet官方驱动修改,STM32H743/H750
  10. 使用ps 制作gif 动图