硬盘(U盘、移动硬盘)MBR、DBR简介
- 格式:rtf
- 大小:124.71 KB
- 文档页数:5
相信听说过硬盘MBR、硬盘分区表、DBR的朋友一定都不少。
可是,你清楚它们分别起什么作用吗?它们的具体位置又在哪里呢?硬盘上的MBR只有一份吗?什么是硬盘逻辑锁?如何制造和破解它呢??本文转载自家缘网,文中内容不代表本站观点,仅供参考。
一、必备基础知识:● 有关扇区编号的基本知识:介绍一下有关硬盘扇区编号规则的3个易混淆的术语“物理扇区编号“、“绝对扇区编号“和“逻辑扇区编号“。
我们都知道硬盘扇区的定位有两种办法:1. 直接按柱面、磁头、扇区3者的组合来定位(按这种编号方式得到的扇区编号称为物理扇区编号);2. 按扇区编号来定位(又分“绝对扇区编号“和“逻辑扇区编号“两种)。
这两种定位办法的换算关系如下图:(设图中所示硬盘每道扇区数均为63)如图所示,由于目前大多数硬盘采用的是一种“垂直分区结构“,故左图一磁头数为2、盘片数为1的硬盘,图中0磁头所对扇区的表示方法就有2种,即:0柱面0磁头1扇区=绝对0扇区,而1磁头所对扇区的表示方法也有2种,即:1柱面0磁头1扇区=绝对63扇区。
如果是如右图所示磁头数为4、盘片数为2的硬盘,那么则顺着垂直于盘片的箭头线方向进行如图的绝对扇区的编号。
上面,我们说了物理扇区、绝对扇区的编号方式,而逻辑扇区编号由于是操作系统采用的扇区编号方式,而操作系统只能读取分区内部的数据内容,故逻辑扇区是从各分区内的第一个扇区开始编号,如我们下文对mbr的说明可以知道:mbr这个扇区所在硬盘磁道是不属于分区范围内的,紧接着它后面的才是分区的内容,因此一般来说绝对63扇区= c:分区逻辑1扇区。
好,让我们列个表总结一下3种编号方式的不同:需要说明的是:本文假设所使用的硬盘每道扇区数都为63。
各位手头上所使用的硬盘具体的每道扇区数则可以在BIOS设置内有关硬盘参数的设置内查有关MBR、分区表、DBR的基本知识:☆ 硬盘MBR(硬盘主引导记录)及硬盘分区表介绍硬盘MBR就是我们经常说的“硬盘主引导记录”,简单地说,它是由FDISK等磁盘分区命令写在硬盘绝对0扇区的一段数据,它由主引导程序、硬盘分区表及扇区结束标志字(55AA)这3个部分组成,如下表:这3部分的大小加起来正好是512字节=1个扇区(硬盘每扇区固定为512个字节),因此,人们又形象地把MBR称为“硬盘主引导扇区”。
硬盘主引导扇区、分区表和分区引导扇区(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 时有可能改写它;它先于所有的操作系统被调入内存并发挥作用,然后才将控制权交给活动主分区内的操作系统(下图)。
MBR由三部分构成:1.主引导程序代码,占446字节2.硬盘分区表DPT,占64字节3.主引导扇区结束标志AA55H一、硬盘的主引导程序代码是从偏移0000H开始到偏移01BDH结束的446字节;主引导程序代码包括一小段执行代码。
启动PC 机时,系统首先对硬件设备进行测试,成功后进入自举程序INT 19H;然后读系统磁盘0柱面、0磁头、1扇区的主引导扇区MBR的内容到内存指定单元0:7C00 首地址开始的区域,并执行MBR程序段。
主引导代码实现下列功能:1.扫描分区表查找活动分区;2.寻找活动分区的起始扇区;3.将活动分区的引导扇区读到内存;4.执行引导扇区的运行代码。
如果主引导代码未完成这些功能,系统显示下列错误信息:Invalid partition tableError loading operating systemMissing operating system二、硬盘分区表DPT是从偏移01BEH开始到偏移01FDH结束的64字节(下图);硬盘分区表分为四小部分,每一小部分表示一个分区的信息,占16字节。
硬盘(U盘、移动硬盘)MBR、DBR简介硬盘(U盘、移动硬盘)MBR、DBR简介(摘自无忧)一、几个概念BIOS(Basic Input/Output System)基本输入输出系统,全称是ROM-BIOS,是只读存储器基本输入/输出系统的简写,它实际是一组被固化到电脑中,为电脑提供最低级最直接的硬件控制的程序CMOS(Complementary Metal Oxide Semiconductor)意是指互补金属氧化物半导体,一种大规模应用于集成电路芯片制造的原料,在计算机领域,CMOS常指保存计算机基本启动信息(如日期、时间、启动设置等)的芯片。
CMOS 的功耗很低,计算机主板上一个纽扣电池就可以给它长时间地提供电力,即使系统掉电,信息也不会丢失。
而当主板电池供电不足时CMOS的信息会丢失,此时启动机器会有一些特殊的现象,如启动时提示 CMOS 参数丢失需重新设置,甚至机器黑屏,不能启动,更换主板上的纽扣电池即恢复正常。
有时人们会把CMOS和BIOS混称,其实CMOS是主板上的一块可读写的RAM芯片,是用来保存BIOS的硬件配置和用户对某些参数的设定。
而对CMOS中各项参数的设定要通过专门的程序,现在多数厂家将CMOS设置程序做到了BIOS芯片中,在开机时通过按下某个特定键就可进入CMOS设置程序而非常方便地对系统进行设置,因此这种CMOS设置又通常被叫做BIOS设置。
ESCD(Extended System Configuration Data)扩展系统配置数据,ESCD是系统BIOS用来与操作系统交换硬件配置信息的一种手段,这些数据被存放在CMOS(一小块特殊的RAM,由主板上的电池来供电)之中,通常ESCD数据只在系统硬件配置发生改变后才会更新扇区(Sector)硬盘划分的最小单位,一个扇区固定为 512 个字节(Byte)MBR(master boot record)即主引导记录,有时也称主引导扇区。
MBR、DPT、DBR、BPB 、FAT详解2009-12-09 20:00MBR、DPT、DBR、BPB 详解硬盘主引导扇区= 硬盘主引导记录(MBR)+ 硬盘分区表(DPT)物理位置:0面0道1扇区(clindyer 0, side 0, sector 1)大小:512字节0MBR 446字节(0000--01BD)DPT 64字节(01BE--01FD)结束标志2字节(55 AA)功能:MBR通过检查DPT分区信息来引导系统跳转至DBR;读取: 使用NORTON DISKEDIT,在OBJECT菜单中选择DRIVE —>PHYSICAL DISK —>HARD DISK,然后在OBJECT菜单中选择DISK PARTITION TABLE即可读取,并使用TOOLS菜单中的WRITE OBJECT TO选项存入指定文件备份;写入: 使用NORTON DISKEDIT,在OBJECT菜单中选择DRIVE —>FLOOPY DISK,选择备份的DPT文件,然后使用TOOLS菜单中的WRITE OBJECT TO —>PHYSICAL SECTOR选项写入001 (clindyer 0, side 0, sector 1);详解:000H--08AH MBR启动程序(寻找开机分区)08BH--0D9H MBR启动字符串0DAH--1BCH 保留("0")1BEH--1FDH 硬盘分区表1FEH--1FFH 结束标志(55AA)活动分区主引导扇区(DBR)物理位置:1面0道1扇区(clindyer 0, side 1, sector 1)大小:FAT16 1扇区512字节FAT32 3扇区1536字节功能:包含机器CMOS等信息(0000--0059),核对该信息并引导指定的系统文件,如NTLDR等;读取: 使用NORTON DISKEDIT,在OBJECT菜单中选择DRIVE —> LOGICAL DISK —> DISK C,然后,在OBJECT菜单中选择BOOT RECORD即可读取,并使用TOOLS菜单中的WRITE OBJECT TO选项存入指定文件备份;写入: 使用NORTON DISKEDIT,在OBJECT菜单中选择DRIVE —> FLOOPY DISK,选择备份的DBR文件,然后使用TOOLS菜单中的WRITE OBJECT TO —> PHYSICAL SECTOR选项写入011 (clindyer 0, side 1, sector 1);详解:000H--002H 3 BYTE的跳转指令(去启动程序, 跳到03EH)003H--03DH BIOS参数区03EH--19DH DOS启动程序19EH--1E5H 开机字符串1E6H--1FDH 文件名(IO.SYS, MSDOS.SYS)1FEH--1FFH 结束标记(55AA)硬盘的数据结构初买来的硬盘是没有办法使用的,还要将它分区,格式化(我们这里所说的格式化是高级格式化,格式化分为高级格式化和低级格式化,低级格式的目的是在将磁盘格式化分成磁道、扇区、柱面),然后再安装上操作系统才可以使用。
硬盘MBR简单介绍MBR(Master Boot Record),中文意为主引导区记录,位于整个硬盘的0柱面0磁道1扇区,共占用了63个扇区,但实际只使用了1个扇区(512字节)。
在总共512字节的主引导记录中,MBR又可分为三部分:第一部分为pre-boot 区(引导程序),占446字节,负责检查硬盘分区表、寻找可引导分区并负责将可引导分区的引导扇区(DBR)装入内存,系统由此开始启动;第二部分是Partition table区(分区表),占64个字节,每份16字节的4份硬盘分区表(因此,一块硬盘最多可以分4个主分区或者3个主分区+1个扩展分区,一个扩展分区可以分多个逻辑分区),里面记载了每个分区的类型、大小和分区开始、结束的位置等重要内容。
第三部分是magic number(幻数),占2个字节,固定为55AA。
这3部分的大小加起来正好是512字节=1个扇区(硬盘每扇区固定为512个字节),因此,人们又形象地把MBR称为“硬盘主引导扇区”。
这个扇区所在硬盘磁道上的其它扇区一般均空出,且这个扇区所在硬盘磁道是不属于分区范围内的,紧接着它后面的才是分区的内容,操作系统是无法读取的。
为了便于理解,一般将MBR分为广义和狭义两种,广义的MBR包含整个扇区(引导程序,分区表,及幻数),也就是上面所解释的。
而狭义的MBR仅指引导程序(以后不特殊说明指狭义概念),不同的操作系统MBR是不同的,用安装盘装写硬盘MBR,而GHOST 恢复C盘却不行,因此初次装系统或更换操作系统类型一般都用安装盘安装。
相关问题:1、区分MBR区、DBR区、FAT区、DIR区和DATA区?(1)0磁道0柱面区(也有人直接将该区称为MBR),包括广义MBR区+剩余未用的62个扇区。
0磁道0柱面1扇区,广义的MBR区,共占用512字节,包括狭义MBR(446字节)+DPT分区表(64字节)+55AA结束标志(2字节),MBR通过检查DPT分区信息引导系统跳转至DBR。
硬盘现在市场上以3.25英寸.为主.磁盘片的数据结构按照磁道从低到高可以分为5部分.(1)MBR:位于硬盘的0柱.0磁头.1扇区的位置.被称为零磁道位置.(2)DBR位于硬盘的0柱.1磁头.0扇区的位置.它是由格式化命令产生的.(3)FAT:位于硬盘的0柱面,1磁头,2扇区的位置.其由硬盘的容量来决定.(4)DIR:屏幕上显示的内容就是该区的内容.(5)DATA:主要负责硬盘中数据的存放,当数据复制到硬盘时,数据就存储在这个区中.硬盘的接口类型(1).IDE接口指盘体与控制器集成在一起的硬盘驱动器,又称为ATA接口或PATA接口,IDE接口有40针,采用40芯,或80芯的扁平数据线与其进行连接,(2)SCAI接口(小型计算机)具有更高的数据传输率.支持热插拔.(3).SATA接口采用串行连接方式,具有结构简单,支持热插拔,传输速率快的优点DMA:直接内存存取.允许外部设备和存储器之间读写数据.既不通过CPU,也不需要CPU的于预,是硬盘控制器的工作模式.跳线:其中 MA表示主盘, 而 SL 表示从盘.硬盘的性能指标:(1).转速硬盘的转速越快.硬盘平均寻道时间和数据存取时间也就越短,其数据的传输率也越高.(2)硬盘缓冲区容量的大小直接影响硬盘的整体性能.目前言主流的IDE硬盘数据缓存为2M—8M.(3)磁头技术(4)平均寻道时间主要用于描述硬盘读取数据的能力.其单位为MS.(5)平均潜伏时间(6)防震技术(7)单碟容量(8)最大内部数据传输率是指磁头至硬盘缓存间的最大数据传输率.(9)最大外部数据传输率数据从内存传送至硬盘的高速缓冲区或高速缓冲区至内存的传输率.(10)连续无故障时间硬盘品牌日立. 迈拓希捷三星等1、接口包括电源插口和数据接口两部分,其中电源插口与主机电源相联,为硬盘工作提供电力保证。
数据接口则是硬盘数据和主板控制器之间进行传输交换的纽带,根据联接方式的差异,分为EIDE接口和SCSI接口。
通常情况下可以这样描述这几个概念:MBR:为计算机启动后从可启动介质上首先装入内存并且执行的代码,通常用来解释分区结构。
以硬盘为例,通常为LBA的0扇区。
EBR:自MICROSOFT推出扩展分区的概念后,扩展分区就沿用了基本分区所采用的DPT 结构,为了加以区别,人们通常把扩展分区的分区表所在的扇区称为EBR、E MBR、扩展MBR或虚拟MBR.DBR:为操作系统进入文件系统以后可以访问的第一个扇区,通常用来解释文件系统,在UNIX类文件系统中,等同于SUPERBLOCK。
FAT文件系统原理一、硬盘的物理结构:硬盘存储数据是根据电、磁转换原理实现的。
硬盘由一个或几个表面镀有磁性物质的金属或玻璃等物质盘片以及盘片两面所安装的磁头和相应的控制电路组成(图1),其中盘片和磁头密封在无尘的金属壳中。
硬盘工作时,盘片以设计转速高速旋转,设置在盘片表面的磁头则在电路控制下径向移动到指定位置然后将数据存储或读取出来。
当系统向硬盘写入数据时,磁头中“写数据”电流产生磁场使盘片表面磁性物质状态发生改变,并在写电流磁场消失后仍能保持,这样数据就存储下来了;当系统从硬盘中读数据时,磁头经过盘片指定区域,盘片表面磁场使磁头产生感应电流或线圈阻抗产生变化,经相关电路处理后还原成数据。
因此只要能将盘片表面处理得更平滑、磁头设计得更精密以及尽量提高盘片旋转速度,就能造出容量更大、读写数据速度更快的硬盘。
这是因为盘片表面处理越平、转速越快就能越使磁头离盘片表面越近,提高读、写灵敏度和速度;磁头设计越小越精密就能使磁头在盘片上占用空间越小,使磁头在一张盘片上建立更多的磁道以存储更多的数据。
二、硬盘的逻辑结构。
硬盘由很多盘片(platter)组成,每个盘片的每个面都有一个读写磁头。
如果有N个盘片。
就有2N个面,对应2N个磁头(Heads),从0、1、2开始编号。
每个盘片被划分成若干个同心圆磁道(逻辑上的,是不可见的。
)每个盘片的划分规则通常是一样的。
硬盘基本知识(磁道、扇区、柱面、磁头数、簇、MBR、DBR)2010-09-25 10:32转载自 j2h3344最终编辑 sophejr硬盘的DOS管理结构1.磁道,扇区,柱面和磁头数硬盘最基本的组成部分是由坚硬金属材料制成的涂以磁性介质的盘片,不同容量硬盘的盘片数不等。
每个盘片有两面,都可记录信息。
盘片被分成许多扇形的区域,每个区域叫一个扇区,每个扇区可存储128×2的N次方(N=0.1.2.3)字节信息。
在DOS中每扇区是128×2的2次方=512字节,盘片表面上以盘片中心为圆心,不同半径的同心圆称为磁道。
硬盘中,不同盘片相同半径的磁道所组成的圆柱称为柱面。
磁道与柱面都是表示不同半径的圆,在许多场合,磁道和柱面可以互换使用,我们知道,每个磁盘有两个面,每个面都有一个磁头,习惯用磁头号来区分。
扇区,磁道(或柱面)和磁头数构成了硬盘结构的基本参数,帮这些参数可以得到硬盘的容量,基计算公式为:存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数要点:(1)硬盘有数个盘片,每盘片两个面,每个面一个磁头(2)盘片被划分为多个扇形区域即扇区(3)同一盘片不同半径的同心圆为磁道(4)不同盘片相同半径构成的圆柱面即柱面(5)公式:存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数(6)信息记录可表示为:××磁道(柱面),××磁头,××扇区磁道:当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。
这些磁道用肉眼是根本看不到的,因为它们仅是盘面上以特殊方式磁化了的一些磁化区,磁盘上的信息便是沿着这样的轨道存放的。
相邻磁道之间并不是紧挨着的,这是因为磁化单元相隔太近时磁性会相互产生影响,同时也为磁头的读写带来困难。
硬盘分区的相关概念(主分区,扩展分区,逻辑分区,MBR,DBR)简介:指定⽂件系统格式前需要分区,分区概念,对理解操作系统启动很有必要,分区是硬盘被系统使⽤的前置条件。
记录并且归纳了⼀下,可能存在Windows和Linux系统⼀些概念的混淆,欢迎指正1,系统启动过程简介BIOS在知道了哪些硬件基本信息后开始读硬盘,⾸先读取MBR(Master Boot Record,即主引导记录)然后从MBR中了解操作的位置从⽽加载操作系统。
⽽这个MBR的内容是在分区操作的时候确定的。
MBR的在硬盘的位置和格式是固定的(即硬盘上第0磁道的第⼀个扇区)。
补充内容:硬盘⾸扇区:即主引导扇区主引导扇区:每块硬盘(不是每个分区)都只有⼀个主引导扇区,即该硬盘0号柱⾯,0号磁头的第⼀个扇区,⼤⼩为512字节。
主引导扇区包含的MBR(硬盘主引导记MBR占446bytes)、DPT(分区表DP占64bytes)、MN(硬盘有效标志Magic Numbe占2byte。
AA和55被称为幻数(Magic Number),BOIS读取MBR的时候总是检查最后是不是有这两个幻数,如果没有就被认为是⼀个没有被分区的硬盘),这3个区域是操作系统⽆关的,在每块硬盘上都存在;MBR是⼀段可执⾏程序,由各个操作系统写⼊不同的代码。
MBR的存储空间限制为446字节,MBR所做的唯⼀的事情就是装载第⼆引导装载程序。
Windows产⽣的MBR装载运⾏PBR;GRUB产⽣的MBR装载运⾏grldrMBR:它是⼀段程序,长度为446字节,作⽤是加载bootloader的。
主引导扇区2,为什么要分区2.1,对数据隔离,⽅便格式化和数据安全主要⽅⾯:系统需要重装⾸先系统分区需要进⾏格式化,所在分区数据需要提前处理次要⽅⾯:读取越频繁,磁盘越容易受损,把读写频繁的⽬录挂载到⼀个单独的分区关于Linux分区,⽐较赞成单独分区的列出来(按优先级排列):1.根⽬录(/),必须挂载到分区!2.家⽬录(/home):⾮常建议挂载的单独分区!3./SWAP(交换分区/虚拟内存):根据本机内存决定若本机实体内存较⼤,⽽且系统应⽤环境对内存需求不⾼(如本机内存有4G,⽽只是⽤于⽇常练习),可以不需要该分区。
总结构:MBR-->隐含扇区-->DBR-->保留扇区-->FAT1-->FAT2-->DATA(数据区)
解释:MBR-->DBR(之间为隐含扇区数) DBR-->FAT1(之间为保留扇区数)
DBR详细说明: 1 0E---0F为保留扇区数,例如26 00(十进制38),即保留扇区为38
2 1C---1F为隐含扇区,例如3F 00 00 00(十进制63),即隐含扇区为63
3 24---27(FAT12为16-17)为一个FAT所占扇区数,例如D1 02 00 00(十制制721),即一个FAT占721个扇区
4 0D为每簇所占扇区数,例如08(十进制8),即每簇等于8个扇区
5 0B---0C为每扇区字节数,例如00 02(十制制512),即一扇区等于512个字节
6 32---33为当前DBR的备份,例如06 00(十进制6),即DBR备份位于当前DBR+6扇区
7 52---56:文件格式显示位置(FAT12不是)
8 10为FAT个数:例如02(十进制2),即FAT数为2个.
附图
1
MBR详细说明: 1C6---1C9为DBR所在的扇区数,例如3F 00 00 00(十进制63),即DBR位于63扇区.
2。
主引导扇区(MBR),分区表(DPT)及活动分区(DBR)主引导扇区:硬盘的0柱⾯、0磁头、1扇区(也叫主引导记录MBR),⼤⼩为512Byte。
分区表(DPT):位于主引导分区,从偏移01BEH开始到偏移01FDH结束的64字节。
活动分区DBR:DBR(DOS BOOT RECORD,原意为DOS引导记录),位于柱⾯0,磁头1,扇区1(操作系统可以访问的第⼀个扇区),即逻辑扇区0。
DBR分为两部分:DOS引导程序和BPB(BIOS参数块)⼀、硬盘的0柱⾯、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR),该记录占⽤512个字节,它⽤于硬盘启动时将系统控制权转给⽤户指定的、在分区表中登记了某个操作系统分区。
MBR的内容是在硬盘分区时由分区软件(如FDISK)写⼊该扇区的,MBR不属于任何⼀个操作系统,不随操作系统的不同⽽不同,即使不同,MBR也不会夹带操作系统的性质,具有公共引导的特性。
但安装某些多重引导功能的软件或LINUX的LILO时有可能改写它;它先于所有的操作系统被调⼊内存并发挥作⽤,然后才将控制权交给活动主分区内的操作系统。
MBR由三部分构成:1.主引导程序代码,占446字节2.硬盘分区表DPT,占64字节3.主引导扇区结束标志AA55H标准 MBR 结构地址描述长度(字节)Hex Oct Dec0000 0000 0 代码区 440(最⼤ 446)01B8 0670 440 选⽤软盘标志 401BC 0674 444 ⼀般为空值; 0x0000 201BE 0676 446 标准 MBR 分区表规划(四个16 byte的主分区表⼊⼝) 6401FE 0776 510 55h MBR 有效标志:0xAA55 201FF 0777 511 AAhMBR, 总⼤⼩: 446 + 64 + 2 = 512⼆、硬盘的主引导程序代码是从偏移0000H开始到偏移01BDH结束的446字节;主引导程序代码包括⼀⼩段执⾏代码。
我的U盘分析优盘上的数据按照其不同的特点和作用大致可分为5 部分:MBR 区、DBR 区、FAT 区、FDT区和DA TA 区。
MBR DBR 保留扇区FAT1 FAT2 FDT=32 DATA 剩余扇区一、主引导记录(MBR)绝对扇区号为:MBR_LBA=0x00000000 处是主引导记录,等同位于硬盘的0 磁道0 柱面1 扇区。
在总共512 字节的主引导扇区中,MBR 只占用了其中的446 个字节(ofs:0 - ofs:1BDH),另外的64 个字节(ofs:1BEH - ofs:1FDH)交给了DPT(Disk Partition Table 盘分区表),最后两个字节“55 AA”(ofs:1FEH - ofs:1FFH)是分区的结束标志。
MBR 定义如下:typedef struct {uchar bootcode[446]; //ofs:0.启动代码。
“FA 33 C0 8E D0 BC…”.PartitionTable PT[4]; //ofs:446.分区表length=4*16.uint EndingFlag; //ofs:510.结束标识:0xAA55.}MBR_tag;Bootcode[446]启动代码一般是固定的,用于引导x86,不用管。
PartitionTable PT[4]分区表项的定义如下:typedef struct {uchar BootFlag; //启动标志CHS StartCHS; //分区开始的柱面、磁头、扇区uchar SystemID; //分区类型CHS EndCHS; //分区结束的柱面、磁头、扇区ulong RelativeSectors; //分区起始扇区数,指分区相对于记录该分区的分区表的扇区位置之差//(该分区表:LBA=0x0)。
ulong TotalSectors;//分区总扇区数}PartitionTable;其中CHS 为一个柱面、磁头、扇区的结构,定义如下:struct CHS {uchar Head; //磁头。
硬盘的DOS管理结构1.磁道,扇区,柱面和磁头数硬盘最基本的组成部分是由坚硬金属材料制成的涂以磁性介质的盘片,不同容量硬盘的盘片数不等。
每个盘片有两面,都可记录信息。
盘片被分成许多扇形的区域,每个区域叫一个扇区,每个扇区可存储128×2的N次方(N=0.1.2.3)字节信息。
在DOS中每扇区是128×2的2次方=512字节,盘片表面上以盘片中心为圆心,不同半径的同心圆称为磁道。
硬盘中,不同盘片相同半径的磁道所组成的圆柱称为柱面。
磁道与柱面都是表示不同半径的圆,在许多场合,磁道和柱面可以互换使用,我们知道,每个磁盘有两个面,每个面都有一个磁头,习惯用磁头号来区分。
扇区,磁道(或柱面)和磁头数构成了硬盘结构的基本参数,帮这些参数可以得到硬盘的容量,基计算公式为:存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数要点:(1)硬盘有数个盘片,每盘片两个面,每个面一个磁头(2)盘片被划分为多个扇形区域即扇区(3)同一盘片不同半径的同心圆为磁道(4)不同盘片相同半径构成的圆柱面即柱面(5)公式:存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数(6)信息记录可表示为:××磁道(柱面),××磁头,××扇区2.簇“簇”是DOS进行分配的最小单位。
当创建一个很小的文件时,如是一个字节,则它在磁盘上并不是只占一个字节的空间,而是占有整个一簇。
DOS视不同的存储介质(如软盘,硬盘),不同容量的硬盘,簇的大小也不一样。
簇的大小可在称为磁盘参数块(BPB)中获取。
簇的概念仅适用于数据区。
本点:(1)“簇”是DOS进行分配的最小单位。
(2)不同的存储介质,不同容量的硬盘,不同的DOS版本,簇的大小也不一样。
(3)簇的概念仅适用于数据区。
3.扇区编号定义:绝对扇区与DOS扇区由前面介绍可知,我们可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域,或是说柱面/磁头/扇区与磁盘上每一个扇区有一一对应关系,通常DOS将“柱面/磁头/扇区”这样表示法称为“绝对扇区”表示法。
磁盘常用的分区格式有以下几种:
1. MBR(Master Boot Record):MBR 是一种较旧的分区格式,广泛用于BIOS 系统。
MBR 分区表可以最多支持 4 个主分区或 3 个主分区和 1 个扩展分区。
每个主分区或扩展分区可以容纳一个逻辑分区。
2. GPT(GUID Partition Table):GPT 是一种较新的分区格式,主要用于UEFI 系统。
GPT 分区表支持更大的磁盘容量,可以最多支持128 个分区。
GPT 还具有更好的数据恢复和容错性能,并提供了更多的元数据备份。
3. FAT(File Allocation Table):FAT 是一种较旧的文件系统,用于在DOS 和Windows 系统中对磁盘进行格式化。
FAT32 是FAT 的一种更现代化的变体,它支持较大的磁盘容量和文件大小限制。
FAT 文件系统在兼容性方面表现良好,但不支持一些现代功能,如文件权限和加密。
4. NTFS(New Technology File System):NTFS 是Windows 系统中的默认文件系统,支持较大的磁盘容量和文件大小,提供更高级的功能,如文件权限、压缩和加密。
NTFS 还具有更好的稳定性和容错性能。
5. ext4(Fourth Extended File System):ext4 是Linux 系统中最常用的文件系统之一。
它是ext 文件系统家族的最新版本,支持更大的文件和分区大小,并提供了许多现代特性,如日志记录、数据恢复和文件系统扩展性。
这些是常见的磁盘分区格式,选择使用哪种格式取决于你的操作系统、系统需求以及对功能和性能的要求。
硬盘(U盘、移动硬盘)MBR、DBR简介(摘自无忧)
一、几个概念
BIOS(Basic Input/Output System)基本输入输出系统,全称是ROM-BIOS,是只读存储器基本输入/输出系统的简写,它实际是一组被固化到电脑中,为电脑提供最低级最直接的硬件控制的程序
CMOS(Complementary Metal Oxide Semiconductor)意是指互补金属氧化物半导体,一种大规模应用于集成电路芯片制造的原料,在计算机领域,CMOS常指保存计算机基本启动信息(如日期、时间、启动设置等)的芯片。
CMOS 的功耗很低,计算机主板上一个纽扣电池就可以给它长时间地提供电力,即使系统掉电,信息也不会丢失。
而当主板电池供电不足时CMOS的信息会丢失,此时启动机器会有一些特殊的现象,如
启动时提示 CMOS 参数丢失需重新设置,甚至机器黑屏,不能启动,更换主板上的纽扣电池即恢复正常。
有时人们会把CMOS和BIOS混称,其实CMOS是主板上的一块可读写的RAM芯片,是用来保存BIOS的硬件配置和用户对某些参数的设定。
而对CMOS中各项参数的设定要通过专门的程序,现在多数厂家将CMOS设置程序做到了BIOS芯片中,在开机时通过按下某个特定键就可进入CMOS设置程序而非常方便地对系统进行设置,因此这种CMOS设置又通常被叫做BIOS设置。
ESCD(Extended System Configuration Data)
扩展系统配置数据,ESCD是系统BIOS用来与操作系统交换硬件配置信息的一种手段,这些数据被存放在CMOS(一小块特殊的RAM,由主板上的电池来供电)之中,通常ESCD数据只在系统硬件配置发生改变后才会更新
扇区(Sector)
硬盘划分的最小单位,一个扇区固定为 512 个字节(Byte)
MBR(master boot record)
即主引导记录,有时也称主引导扇区。
位于整个硬盘的 0 扇区(硬盘的 0~62 即前 63 个扇区为保留扇区,目前只有 MBR 占用其中的第一个或前几个扇区),可以看作是硬盘的第一个扇区,通常只占用这一个扇区,如 XP 的 MBR,grub4dos占用 0~17 共 18 个扇区
DBR(DOS boot record)
即操作系统引导记录区,也称分区的主启动代码,位于分区的第 0 扇区,通常只占用这一个扇区,特殊情况也要占用其它保留扇区,而 grub4dos 如果是写入硬盘 MBR 方式则不修改也不使用 DBR
以 H 结尾或以 0x 开头的数字表示该数字为十六进制数
二、主机启动过程
1. 内部电源打开,初始化,等待一小段时间用来产生稳定的电流。
如果主板芯片和 CPU 收到了不符合规定的电流,将自动产生一个RESET信号。
在主板没有收到电源的 Power Good 信号之前,重复步骤1
2. 执行 BIOS 中 0FFF0h 处的代码。
这里只有一条 JMP 指令,将跳转到真正的 BIOS 启动程序处
3. BIOS 开始加电自检(Power-On Self Test, POST),如果出现错误,启动停止
4. BIOS 开始寻找显卡,找到的话将执行显卡的 BIOS,接着显卡初始化,将显示一段显卡信息,我们开机看到的第一屏就是它
5. BIOS 开始执行所有其他设备的 BIOS,包括软驱,硬盘、光驱等
6. BIOS 显示启动信息
7. BIOS 开始额外的检测。
一般有内存检测,如果内存有问题,将显示错误消息
8. BIOS 探测所有的硬件,将显示如硬盘、光驱信息等
9. BIOS 给出一个已知硬件的列表
10. BIOS 更新 ESCD
10. BIOS 按照设置的驱动器顺序找驱动器,如果驱动器存在的话继续找 MBR,如果找不到驱动器,系统显示错误信息并停止
11. MBR 从分区表中找到第一个活动分区(分区描述中第一个字节为 80H),然后读取并执行这个活动分区的分区引导记录,而分区引导记录将负责引导系统(如 XP)
步骤11中若为 grub4dos MBR则依次查找各个分区的根目录是否有 grub4dos 的启动文件(通常为 grldr,写入 MBR 时可以指定此文件名),也就是说若是 grub4dos MBR 可以不设置活动分区
上面是打开电源开关(或按Reset键)进行冷启动时的过程,在DOS下按Ctrl+Alt+Del组合键(或从Windows中选择重新启动计算机)来进行热启动时将从步骤8开始
三、硬盘(U盘、移动硬盘)MBR简介
这里用到一个强大的磁盘查看编辑工具 WinHex,可以手动保存和恢复 MBR、DBR
运行 WinHex,选择工具->打开磁盘,如图
其中 HD0 为本机硬盘,RM1 为 U 盘,选择 HD0,确定上方为硬盘的分区情况,下方为硬盘的内容,打开是默认位置在 0 扇区,即上方的“起始扇区”,点击上方的分区即可切换到各分区的起始扇区
完整的 0 扇区(XP 的 MBR)如下
其中 0x0000~0x01FF 即为硬盘的 0 扇区,这个扇区的内容分为 3 部分
第 1 部分(0x0000~0x01BD)446 个字节为完整的 XP MBR,选中这部分内容保存到文件即可作为 MBR 的备份,将此备份内容写入硬盘的 0x0000~0x01BD 位置即可恢复 XP MBR,其中左边可读的部分即为 MBR 找不到活动分区时的错误信息,使用 Paragon Partition Manager、PTDD 磁盘分区表医生等工具均可将硬盘的 MBR 恢复为(写入) XP MBR
第 2 部分(0x01BE~0x01FD)64 个字节为硬盘的分区表(Disk Partition Table, DPT),每 16 个字节描述一个主分区,所以一个硬盘最多可以有 4 个主分区
分区表的每一分区的第 1 个字节是活动标志,其值为80H时,表示该分区是当前活动分区,可引导,其值为00H时,表示该分区不可引导
第 3 部分(0x01FE~0x01FF)2 个字节“55 AA”是分区有效结束标志
下图为 grub4dos MBR 的第一个扇区
其他扇区内容请参考附件
其中 0x0003 处一个字节为启动时等待按键的延时,图中为 0x06 就是 6 秒
四、硬盘(U盘、移动硬盘)DBR简介
没有深入研究 DBR 到底占用几个扇区,对于 ntldr 的 DBR,用 WinHex 查看时可以看到ntfs 分区的前 7 个扇区有内容,fat32 前 3 个扇区有内容,不同的分区软件可能会有不同,有兴趣者可以试试先将有内容的前几个扇区保存为文件,然后清除第 1 个扇区(分区的 0 扇区)之外的其他扇区的内容(用 0 填充,可以用 U 盘或者光盘启动 PE 再用 WinHex 恢复),若能正常启动表示只用第 1 个扇区即可,否则后面的内容也是有效内容
NTBOOT.EXE(#1附件中有)可以修复 ntldr 的 DBR
Bootsect.exe(好像 vista 安装盘中有,没有使用过)可以修复 bootmgr 和 ntldr 的 DBR,微软官方说法:Bootsect.exe 更新硬盘分区的主启动代码以在 BOOTMGR 和 NTLDR 之间切换。
可以使用此工具还原计算机上的启动扇区。
此工具会替换 FixFAT 和 FixNTFS
这两个工具都是只能修改 DBR,而不能修改 MBR
下面是 ntfs 分区中 ntldr DBR 的第一个扇区(用 XP 做的分区)
其中左边可读的部分即为 DBR 在分区根目录找不到 ntldr 文件时的错误信息,最后两个字节“55 AA”是分区有效结束标志
下面是 fat32 分区中 ntldr DBR 的第一个扇区(用Paragon Partition Manager做的分区)
五、使用 WinHex 保存或写入磁盘
写入操作具有一定危险性,请慎用
保存磁盘的前 63 (0~62)个扇区的内容到文件
1. 计算 62 扇区的结束位置为 63*512 - 1=32555=0x7DFF
2. 在十六进制代码区右键选择编辑->定义选区,输入开始 0,结束 7DFF,确定
如果只保存当前扇区,右键选择编辑->复制扇区->至新文件即可
3. 右键选择编辑->复制选块->至新文件,若复制到剪贴板则右键选择编辑->复制选块->正常
将硬盘中的 XP MBR 复制到 U 盘
1. 选中硬盘 0 扇区的 0x0000~0x01BD,右键选择编辑->复制选块->正常
注意不可以选中整个扇区,否则会覆盖 U 盘(目标盘)的分区表
2. 将光标移至 U 盘的 0x0000 处,如下图
3. 右键选择编辑->剪贴板数据->写入,此时会提示写入的偏移地址,注意检查偏移地址是否正确。