-
2021-01-14 14:48:41
硬盘主引导扇区、分区表和分区引导扇区
(MBR
、
DPT
、
DBR
、
BPB)
详解
硬盘的主引导扇区,分区表,分区引导扇区
(MBR
、
DPT
、
DBR
、
BPB)
是电脑
BIOS
自检完
成后,操作系统开始引导系统前整个电脑运作过程中
需要检查的重要参数,硬盘的主引导
扇区,分区表,分区引导扇区
(MBR
、
DPT
、
DBR
、
BPB)
参数错误可能导致系统无法启动或
存储的数据丢失,这片文
章我们介绍一下硬盘的主引导扇区,分区表,分区引导扇区
(MBR
、
DPT
、
DBR
、
BPB)
的详细信息。
硬盘的
0
柱面、
0
磁头、
1
扇区称为主引导扇区(也叫主引导记录
MBR
),该记录占
用
512
个字节,它用于硬盘启动时将系统控制权转给用户指定的、在分区表中登记了某个
操作系统分区。
MBR
的内容是在硬盘分区时由分区软件(如
FDISK
)写入该扇区的,
MBR
不属于任何一个操作系统,不随操作系统的不同而不同,即使不同,
MBR
也不会夹带操作
系统的性质,具有公共引导的特性。但安装某些多重引导功能的软件或
LINUX
的
LILO
时
有可能改写它;
它先于所有的操作系统被调入内存并发挥作用
,然后才将控制权交给活动主
分区内的操作系统(下图)。
更多相关内容 -
备份U盘分区表,未雨绸缪
2021-01-14 14:48:42有时候,由于操作不当将...用winhex打开U盘,可以看到第一个扇区(512Byte)的情况:如图所示:0x00-0x1BD为MBR的内容,这里不需要关注。这里主要关注的是0x01BE-0x1FD的内容。0x1FD的两个字节是分区结束标志(55AA)分...有时候,由于操作不当将U盘或者移动硬盘插入到电脑的时候会变成RAW格式,不可读取,这样的话就杯具了,只能用恢复软件试试看。
但是,如果一开始进行了备份的话,处理起来就简单多了。
用winhex打开U盘,可以看到第一个扇区(512Byte)的情况:
如图所示:0x00-0x1BD为MBR的内容,这里不需要关注。
这里主要关注的是0x01BE-0x1FD的内容。
0x1FD的两个字节是分区结束标志(55AA)
分区表有16*4 = 64Byte,每一个分区占16个byte,一共有4个分区,其中,最多有4个主分区。
由于一般U盘只分一个分区,所以这里只关注一个。
可以看到,8020开始的就是第一个分区了。
下面是分区表的说明:
以这里的分区为例,
802021000CFEFFFF000800000038DD01
这一串是这个U盘的分区表数值。
下面把它拆开来:
80 202100 0C FEFFFF 00080000 0038DD01
80
活动分区
202100
起始CHS
0C
FAT32
FEFFFF
结束CHS
00080000
已用扇区数
0038DD01
此分区总扇区数
下面来打开diskgenius来参照下吧:
因为格式还没搞清楚,下面先分析到这里。
下面来看怎么备份恢复分区表。
现在先在U盘里面新建一个记事本吧:
然后备份分区表,这里为了方便,把整个MBR一起备份,也就是第一个扇区被备份了:
先选中第一个扇区的内容,
选择编辑->复制选块->至新文件
然后就保存成功了。
接下来进行破坏吧。
点击确定后保存。这样就破坏完成了。接下来重新插拔U盘。
可以看到它已经完蛋了:
接下来恢复吧:
在已经打开的备份文件上点击右键->编辑->复制选快->正常
然后数据就在剪切板里面了。
在需要恢复的U盘第一扇区的0字节上点击右键->编辑->剪切板数据->写入,然后点击保存就ok了。
接下来重新插拔U盘,发现数据已经回来了:
目前还有可能的一种办法是根据文件系统大小来计算分区表的数据,这样就算没有备份分区表也可以搞定它了。
目前还没有搞清楚里面的计算方法。
-
重装系统必须注意了!硬盘分区表类型(MBR、GPT)选择很重要-文件系统类型
2021-01-17 09:33:20前段时间,电脑学习小编买了一块3T的机械硬盘用于存放视频教程,买回来第一件事就是给硬盘分区,小编只想分一个3T大的区就行了,默认情况下,我的分区表类型选择了MBR,但是,格式化后发现根本不能分一个区,这到底...前段时间,电脑学习小编买了一块3T的机械硬盘用于存放视频教程,买回来第一件事就是给硬盘分区,小编只想分一个3T大的区就行了,默认情况下,我的分区表类型选择了MBR,但是,格式化后发现根本不能分一个区,这到底是怎么回事呢?其实,这就是硬盘分区表 MBR和GPT的区别。
那么MBR和GPT到底有什么区别呢?
MBR分区表(Master Boot Record的缩写),即硬盘主引导记录分区表,它只支持容量在 2.1TB 以下的硬盘,超过2.1TB的硬盘只能管理2.1TB,最多只支持4个主分区或三个主分区和一个扩展分区,扩展分区下可以有多个逻辑分区。
GPT分区表(GUID Partition Table的缩写),即全局唯一标识分区表,GPT对分区数量没有限制,但Windows最大仅支持128个GPT分区,GPT可管理硬盘大小达到了18EB。只有基于UEFI平台的主板才支持GPT分区引导启动。
这就是电脑学习小编为什么买的一个3T的硬盘无法用MBR分成一个盘的原因了,你有遇到吗?
最近有小伙伴在后台留言问小编,win10系统选择什么分区表类型?其实这个和系统没有太大关系,只和启动方式有关系。
硬盘分区格式为MBR格式,启动模式应该为Legacy;(以前电脑基本采用这种方式)
硬盘分区格式为GUID(GPT)格式,启动模式应该为UEFI。(现在新电脑基本采用这种方式)
MBR主引导记录早在1983年IBM PC DOS 2.0中就已经提出,又叫做主引导扇区。之所以叫“主引导记录”,是因为它是存在于驱动器开始部分的一个特殊的启动扇区。这个扇区包含了已安装的操作系统的启动加载器和驱动器的逻辑分区信息。是计算机开机后访问硬盘时所必须要读取的首个扇区,它在硬盘上的三维地址为(柱面,磁头,扇区)=(0,0,1)。
MBR是由分区程序(如Fdisk,Parted)所产生的,它不依赖任何操作系统,而且硬盘引导程序也是可以改变的,从而能够实现多系统引导。
主引导扇区是硬盘的第一扇区。它由三个部分组成,主引导记录MBR、硬盘分区表DPT和硬盘有效标志。在总共512字节的主引导扇区里MBR占446个字节,偏移地址0000H–0088H),它负责从活动分区中装载,并运行系统引导程序;第二部分是Partition table区(DPT分区表),占64个字节;第三部分是Magic number,占2个字节。
在Linux系统中,硬盘分区命名为sda1-sda4或者hda1-hda4(其中a表示硬盘编号可能是a、b、c等等)。在MBR硬盘中,分区号1-4是主分区(或者扩展分区),逻辑分区号只能从5开始。
在MBR分区表中,一个分区最大的容量为2T,且每个分区的起始柱面必须在这个disk的前2T内。你有一个3T的硬盘,根据要求你至少要把它划分为2个分区,且最后一个分区的起始扇区要位于硬盘的前2T空间内。如果硬盘太大则必须改用GPT。
全局唯一标识分区表(GUID Partition Table,缩写:GPT)是一个实体硬盘的分区结构。它的推出是和UEFI BIOS相辅相成的,鉴于MBR的磁盘容量和分区数量已经不能满足硬件发展的需求,GPT首要的任务就是突破了2.2T分区的限制,最大支持18EB的分区。它是EFI(可扩展固件接口标准)的一部分,用来替代BIOS中的主引导记录分区表。但因为MBR分区表不支持容量大于2.2TB(2.2 × 1012字节)的分区,所以也有一些BIOS系统为了支持大容量硬盘而用GPT分区表取代MBR分区表。
在MBR硬盘中,分区信息直接存储于主引导记录(MBR)中(主引导记录中还存储着系统的引导程序)。但在GPT硬盘中,分区表的位置信息储存在GPT头中。但出于兼容性考虑,硬盘的第一个扇区仍然用作MBR,之后才是GPT头。
而在分区数量上,GPT会为每一个分区分配一个全局唯一的标识符,理论上GPT支持无限个磁盘分区,不过在Windows系统上由于系统的限制,最多只能支持128个磁盘分区,基本可以满足所有用户的存储需求。在每一个分区上,这个标识符是一个随机生成的字符串,可以保证为地球上的每一个GPT分区都分配完全唯一的标识符。
与支持最大卷为2TB(Terabytes)并且每个磁盘最多有4个主分区(或3个主分区,1个扩展分区和无限制的逻辑驱动器)的MBR磁盘分区的样式相比,GPT磁盘分区样式支持最大卷为18 EB(Exabytes)(1EB=1048576TB)并且每磁盘的分区数没有上限,只受到操作系统限制(由于分区表本身需要占用一定空间,最初规划硬盘分区时,留给分区表的空间决定了最多可以有多少个分区,IA-64版Windows限制最多有128个分区,这也是EFI标准规定的分区表的最小尺寸)。与MBR分区的磁盘不同,至关重要的平台操作数据位于分区,而不是位于非分区或隐藏扇区。另外,GPT分区磁盘有备份分区表来提高分区数据结构的完整性。
其中转换为GPT的时候可以创建两个隐藏分区,ESP和MSR。ESP是efi系统分区用于保存引导文件,MSR是微软的保留分区,用于安装操作系统。
-
linux下给U盘分区&制作文件系统
2021-01-14 14:48:40这几天读到TLCL-Storage Media一节,不由的想要折腾一下U盘,...初探先看看U盘接受windows格式化以后的样子,这应该是我们对付U盘最常用的一招:一言不合,格之。不同于Ubuntu/Win等桌面发行版本,服务器型(非图形...这几天读到TLCL-Storage Media一节,不由的想要折腾一下U盘,一直以来U盘只是被拿来暂存数据,其内部有没有文件系统,数据怎么管理,那是从来也不清楚,本文就依葫芦画瓢,折腾下手中的Kingston U盘
注:本文非教程,仅学以致乐。
初探
先看看U盘接受windows格式化以后的样子,这应该是我们对付U盘最常用的一招:一言不合,格之。
不同于Ubuntu/Win等桌面发行版本,服务器型(非图形化的系统?)的linux系统通常不主动挂载U盘,因此当U盘插入树莓派后,命令行是不会有任何提示的,那我们如何知道U盘是否被系统所识别呢?
那就只能查看系统日志信息了,当有硬件设备被系统识别时,是会在日志中留下痕迹的,两种查看方式:
直接翻看最末尾的日志缓存
使用日志命令查看最后输出的信息
可以看到,系统识别出来了Kingston U盘,并识别为文件sda,该文件内只有一个磁盘分区为sda1.
除了查看日志以外,由于插入的是USB设备,还可以使用lsusb/lsblk来查看设备信息,U盘拔插前后,会发现
是新增的blk,对应的就是Kingston U盘。
图中的sda只是系统识别到的一个设备文件,但并没有挂载在系统的目录树中,默认不可访问,我们可以使用fdisk来详细的查看sda的文件信息。
采用dos分区表,即MBR,文件系统为fat32,单个分区,最小扇区为512字节。
创建分区
初始化分区表
进行分区的前提是磁盘已经有了分区表,考虑到MBR已经是非常古老的分区表,此处尝试在U盘上使用新的GPT分区表:
在gdisk命令模式下,输入o指令,删除磁盘上的所有分区,并将U盘默认的msdos分区表改为gpt分区表,此时再输入p指令,磁盘中已没有分区信息。
注:图中有行提示信息:
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): Y
有的旧MBR工具无法识别新的GPT分区表,为防止被当作未分区盘,在磁盘前面创建受保护的MBR以跳过MBR工具的误识别。
创建子分区
此处依葫芦画瓢,参照《鸟哥的linux私房菜》第七章,创建三个子分区,类型分别为 8300 Linux filesystem/0700 Microsoft basic data/8200 Linux swap.
创建第一个分区:
因为磁盘无任何分区,第一次创建,默认为分区1,起始扇区号选择默认,终止扇区选择5G空间的地址扇区,类型默认为linux文件系统。
继续创建第二个分区:
此时默认为分区2,起始扇区号选择默认(即分区1后的第一个扇区),终止扇区选择9G空间的地址扇区,类型通过L指令查询后,选择为Windows文件系统。
最后创建第三个分区:
创建完成后,U盘此时的分区表现如下:
除了形态上为一个U盘,磁盘分区划分是不是很像电脑内置磁盘。
最后,别忘了输入w保存设置。
再使用lsblk查看下我们的磁盘的新划分情况
此时磁盘的三个分区已经被系统检测到,但是默认依然未挂载,所以第四列的MOUNTPOINT为空。
创建文件系统
写在前面:创建文件系统时,我曾试过在分区1创建vfat文件系统,且依然能够被系统正常识别,因此纳闷:创建分区时需要输入分区类型,而在分区上创建文件系统时,也需要指定文件系统类型,这两者有啥关联影响?
截取一段网友的回复,个人认为解释的比较合理。
为分区1创建xfs文件系统
当前使用的raspberry 系统默认不支持创建xfs类型,需先安装xfs工具 sudo apt install xfsprogs
为分区2创建vfat文件系统
为分区3创建swap分区
创建swap分区就得用mkswap命令来创建了。
挂载U盘分区
分区创建好,文件系统创建好,接下来就需要将分区挂载在系统目录上了,这样才能对磁盘进行数据访问。
文件系统挂载
先创建两个空文件夹,然后使用mount命令挂载,最后使用df(device free)命令查看挂载的设备信息详情。
此时我们就可以对分区进行数据读取操作了,在应用层看来,flash/u1 flash/u2只是两个普通文件夹,并不需要关心其背后关联的是U盘的两个分区。
swap分区挂载
swap分区还是特立独行,使用独有的命令进行操作。
小测试-比较分区数据的传输速率
本测试使用强大的dd命令,大致测试手段为:拷贝一个256MB的文件到分区中,比较两个不同文件系统分区的传输速率。
初略来看,使用mkfs的默认配置创建的两个分区中,xfs在此kingston U盘上的表现要优于vfat。
-
Windows--如何查看硬盘分区表类型
2019-02-18 09:28:391、什么是硬盘分区表 人们在使用电脑时,有时由于异常操作,有时由于病毒侵袭,会导致某个分区消失或硬盘无法启动。究其原因,就是硬盘分区表受损。硬盘分区表可以说是支持硬盘正常工作的骨架。操作系统正是通过它把... -
硬盘分区表丢失错误怎么修复TestDisk使用教程
2021-05-27 01:24:34如果你遇到病毒或者ghost使用错误导致整个硬盘或者移动硬盘的分区表丢失或损坏的话,那么表现就是你的硬盘会由原来的多个分区变成一个分区数据全无,系统也无法启动,移动硬盘会出现插电脑没反应或者移动硬盘由几个... -
教你硬盘分区表格式GUID和MBR怎么区分
2020-12-29 07:30:17我们的电脑硬盘分区格式一共有两种,一种是GUID(GPT),一种是MBR。现在购买的新电脑大多是预装有Win10系统,用户会发现电脑上500G的硬盘大多只有两个分区C盘和D盘,这时用户们都会想多分出几个分区来吧?但是许多 ... -
MBR磁盘(分区表备份恢复)
2019-09-25 21:13:01介绍 硬盘主引导MBR由4个部分组成 主引导程序(偏移地址0000H--0088H),它... 分区表(DPT,Disk Partition Table)含4个分区项,偏移地址01BEH--01FDH,每个分区表项长16个字节,共64字节为分区项1、分区项2、分... -
涨姿势:MBR和GPT硬盘分区表的那些事儿
2021-05-13 07:15:48很多网友询问MR和GPT的问题,涉及到硬盘操作系统的安装,其实除了MBR和GPT分区表,UEFIBIOS也是和操作系统紧密联系在一起的,下面我们就来聊聊硬盘分区表和UEFIBIOS的知识。从Intel6系列主板之后,就开始提供... -
linux 读写磁盘扇区
2020-12-02 13:20:51广告关闭云服务器1核2G首年99年,还有多款热门云产品满足您的上云需求为何更改为 4096 字节扇区? 如果您熟悉磁盘结构,就知道磁盘是被分解成扇区 的,大小通常是 512 字节; 所有读写操作均在成倍大小的扇区中进行... -
磁盘分区表备份、删除和恢复
2019-03-28 14:31:04MBR分区表存放在硬盘0磁道第0个扇区内,总共512字节,前446字节为bootloader,中间64位为磁盘分区表信息,每个分区信息占16个字节,总共存放在4个分区。 查看硬盘的十六进制文件,在硬盘前512字节中,从2080开始... -
硬盘分区表格式GUID和MBR知识普及
2018-01-14 22:23:00如果你的电脑原装系统是win8或者以上的,那么他的硬盘分区表格式为GUID(GPT)格式的;如果是win7以下的,那么一般就是MBR的了。 除此之外我们还可以利用分区工具DiskGenius进行判断,这个工具当进入U启动的时候... -
几个概念:MBR,GPT,EFI分区,混合分区表,BootCamp
2021-05-15 02:51:5864B的分区表(DPT);2B的结束代码。简单跟踪一下操作系统的启动过程吧:打开机器电源——BIOS自检——BIOS根据COMS里的设置选择启动磁盘——BIOS复制启动磁盘MBR到内存——MBR的引导代码指向DPT中标记为活动的分区里... -
【手机闪存】手机UFS类型闪存GPT(GUID磁盘分区表)初始化
2019-07-24 21:43:20簇(块):由于操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相邻的扇区组合在一起,形成一个簇,然后再对簇进行管理。每个簇可以包括2、4、8、16、32或64个扇区。显然,簇是操作系统所使用的逻辑概念,而... -
假期自学日记——鸟哥的linux私房菜(1)-分区表与文件系统
2019-07-28 00:27:10之前总说自己要跳出自己专业转计算机要自学云云,付出的努力却一直不够,大学两年功夫也只把离散、数据结构与算法学到略懂一二,深刻反省后决定将自己的学习经历整理写下,一为总结复习,二为激励自己。 由于本人... -
Linux之——UltraISO写入引导扇区时弹出“找到多于1个分区”解决方法
2020-04-13 09:36:34在制作的我过程中出现一个问题:再写入Syslinux引导扇区时总是弹出”找到多于1个分区“的窗口,也写不了引导扇区。经过一番努力终于找到了解决办法。 准备工作:首先在电脑里卖弄安装UltraI... -
【小白装系统】——硬盘分区表格式GUID和MBR知识普及
2015-10-11 10:57:41如果你的电脑原装系统是win8或者以上的,那么他的硬盘分区表格式为GUID(GPT)格式的;如果是win7以下的,那么一般就是MBR的了。 除此之外我们还可以利用分区工具DiskGenius进行判断,这个工具当进入U启动的... -
【数据恢复】重建分区表恢复文件-恢复diskpart clean
2016-08-11 17:45:14TestDisk 是一款开源软件,受GNU General Public License (GPL v2+)条款保护. TestDisk:http://www.cgsecurity.org/wiki/TestDisk_CN TestDisk 是一款强大 的免费数据恢复软件! 早期主要是设 -
硬盘:主分区、扩展分区、逻辑分区、活动分区、系统分区、启动分区、引导扇区、MBR解析
2018-04-16 14:10:02主分区,扩展分区,逻辑分区,活动分区,系统分区,启动分区。。。。。。。。。 主引导扇区,MBR,bootloader。。。。。。。。。。 各种概念,你都清楚什么意思吗? 花了一天的时间终于研究清楚了,网上好多帖子... -
linux下给U盘分区并制作文件系统-u盘文件系统
2021-05-14 02:47:32初探不同于Ubuntu/Win等桌面发行版本,服务器型(非图形化系统)的linux系统通常不主动挂载U盘,因此当U盘插入后是不会有任何提示的,那我们如何知道U盘是否被系统所识别呢?那就只能查看系统日志信息了,当有硬件设备... -
shell中给sd卡或u盘分区
2021-05-13 14:14:46#/dev/sdb 就是目标sd卡或者u盘DRIVE=/dev/sdbdd if=/dev/zero of=$DRIVE bs=1024 count=1024#获取sd卡容量;| 管道符号:将上一层的输出作为下一层的输入。awk 是个工具此处为抓取上层输出的所有内容中的第五项内容... -
Linux系统下重要的分区及其作用
2021-05-11 04:05:49我们都知道硬盘分区包括主分区、扩展分区、逻辑分区三种类型,之所以会有这样的区分,是因为在硬盘的主引导扇区中用来存放分区信息的空间只有64个字节(主引导扇区一共只有512字节空间),而每一个分区的信息都要占用... -
修改主分区表给U盘分区
2012-11-02 23:48:36最近在学习文件系统,突发奇想想给U盘分个区,发现用DiskGenius分出两Fat32的主分区发现...而且分区的顺序跟在 u盘mbr0扇区的分区表有关(通过windows自带的快速格式化会把mbr给清没了 只留下dbr) 于是就有了这个更 -
Linux学习笔记(2)——U盘的挂载与分区
2019-11-01 22:53:33使用mount指令把U盘(U盘不能为NTFS格式,否则不能识别)挂载到udisk目录下,在挂接U盘前我的系统里只有一块硬盘,用ls指令查看设备目录如下: glen@ubuntu:/$ ls /dev/sd* /dev/sda /dev/sda1 /dev/sda2 /dev/... -
mbr分区表备份、删除和恢复
2019-03-24 10:49:05MBR分区磁盘的分区表信息存放在硬盘0磁道第0个扇区内总共512字节 前446字节为bootloader。 中间64位为磁盘分区表信息,每个分区信息占16个字节,总计存放4个分区。(这段就是需要备份出来的数据) 最后的aa55为结束... -
nvme分区选mbr还是guid_老毛桃winpe的DiskGenius分区工具使用说明
2020-11-20 11:16:20操作指引: 起始分区操作请看:第1步 GUID分区表(GPT硬盘)操作请看:第2~7步; MBR分区表操作请看:第8~13步。 请确定好需要使用的分区表后查看相对应的教程。教程步骤 1.右击-硬盘HD0-再点击-快速... -
linux中如何备份和恢复磁盘分区表
2017-12-12 19:21:17如何备份和恢复分区表 0磁道的0扇区512字节包含 主引导程序占446字节 主分区表占64字节 和结束位(2字节) 如果0扇区损坏或者破坏能造成很严重的后果,我们备份一下0扇区。 备份扇区 [root@centos7 ~]# dd if=/...