搜档网
当前位置:搜档网 › 硬盘主引导记录详解

硬盘主引导记录详解

硬盘主引导记录详解
硬盘主引导记录详解

硬盘的数据结构对于一些朋友来说总是很神密!为什么我们删除了的文件用软件能找到?为什么我们格式化了的硬盘数据还能找回来?要回答这一切,你就得对硬盘的数据结构有个清醒的认识。

硬盘上的数据由五大部分组成,它们分别是:MBR区、DBR区,FAT区,DIR区和DATA区。

1.MBR(Main Boot Record)区,即主引导记录区,位于整个硬盘的0磁道0柱面1扇区.

2.DBR(Dos Boot Record)区,操作系统引导记录区。位于硬盘的0磁道1柱面1扇区,是操作系统可以直接访问的第一个扇区.

3.FAT(File Allocation Table文件分配表)区;

4.DIR(Directory)根目录区,记录着根目录下每个文件(目录)的起始单元,文件的属性等;

5.DATA区是真正意义上的数据存储的地方,位于DIR区之后,占据硬盘上的大部分数据空间。

了解了硬盘数据的基本结构,今天我们把重点放在mbr所在的扇区:主引导扇区。主引导扇区包括:mbr,dpt和结束标志。位于硬盘的0磁道0柱面1扇区,用diskman可以读出其中的内容,下面是一次操作的结果:

表一:

0 1 2 3 4 5 6 7 8 9 A B C D E F

00000000 EB48 90D0 BC00 7CFB 5007 501F FCBE 1B7C

00000010 BF1B 0650 57B9 E501 F3A4 CBBE BE07 B104

00000020 382C 7C09 7515 83C6 10E2 F5CD 188B 148B

00000030 EE83 C610 4974 1638 2C74 F6BE 1007 0302

00000040 8000 0080 68B6 7600 0008 FAEA 507C 0000

00000050 31C0 8ED8 8ED0 BC00 20FB A040 7C3C FF74

00000060 0288 C252 BE81 7DE8 3F01 F6C2 8074 5FB4 00000070 41BB AA55 CD13 7256 81FB 55AA 7550 A041 00000080 7C84 C075 0583 E101 7444 B448 BE00 7FC7 00000090 0442 00CD 1372 3766 8B4C 10BE 057C C644 000000A0 FF01 668B 1E44 7CC7 0410 00C7 4402 0100 000000B0 6689 5C08 C744 0600 7066 31C0 8944 0466 000000C0 8944 0CB4 42CD 1372 05BB 0070 EB7D B408 000000D0 CD13 730A F6C2 800F 84E8 00E9 8D00 BE05 000000E0 7CC6 44FF 0066 31C0 88F0 4066 8944 0431 000000F0 D288 CAC1 E202 88E8 88F4 4089 4408 31C0 00000100 88D0 C0E8 0266 8904 66A1 447C 6631 D266 00000110 F734 8854 0A66 31D2 66F7 7404 8854 0B89 00000120 440C 3B44 087D 3C8A 540D C0E2 068A 4C0A 00000130 FEC1 08D1 8A6C 0C5A 8A74 0BBB 0070 8EC3 00000140 31DB B801 02CD 1372 2A8C C38E 0648 7C60 00000150 1EB9 0001 8EDB 31F6 31FF FCF3 A51F 61FF 00000160 2642 7CBE 877D E840 00EB 0EBE 8C7D E838 00000170 00EB 06BE 967D E830 00BE 9B7D E82A 00EB 00000180 FE47 5255 4220 0047 656F 6D00 4861 7264

00000190 2044 6973 6B00 5265 6164 0020 4572 726F

000001A0 7200 BB01 00B4 0ECD 10AC 3C00 75F4 C300

000001B0 0000 0000 0000 0000 4CA6 4CA6 0000 8001

000001C0 0100 0BFE 3FD8 3F00 0000 5A31 3500 0000

000001D0 01D9 0FFE FFFF 9931 3500 04FF FB00 0000

000001E0 0000 0000 0000 0000 0000 0000 0000 0000

000001F0 0000 0000 0000 0000 0000 0000 0000 55AA

这块10.2G(以下显示为9766MB,误差原因不用我解释了吧?)的硬盘共分了四个区:分区结构如下:

主引导扇区中前446字节--偏移地址从0000H-01BDH为mbr区,存放着主引导程序,从上面的显示中,读者可能已经看出,这个硬盘以linux系统的grub为引导程序。

接下来的64字节为硬盘分区表--dpt,偏移地址从01BEH-01FDH,共分为四个分区表项,每个分区表项占16字节,表示一个分区,从这里大家就可以知道为什么硬盘只能分四个主分区了吧?但有时我们需要更多的分区来规划我们的硬盘,为解决这个问题,就把这四个分区表项中的一个定义为扩展分区(与主分区是并列关系),扩展分区中又可以定义逻辑分区(与扩展分区是包含与被包含的关系)。但读者不要以为这些信息都在这一个16字节的分区表项中。事实上是:被定义为扩展分区的这一个分区表项只包含了指向逻辑分区的信息。而逻辑分区的分区表在其它的扇区中存放!

本文重点介绍dpt中的内容,上面已经提到,dpt分为四个分区表项,每个分区表项占16个字节,下面着重讲述这16个字节是怎么分配的。

表三:

第1字节引导标志,该值为80H表示为可自举分区(活动分区,仅有一个),该值为00H表示其余分区

第2字节分区起始磁头

第3字节低6位是分区起始扇区,高2位是分区起始的柱面的头两位

第4字节分区起始柱面的低8位

第5字节系统标志

第6字节分区终止磁头

第7字节低6位为分区终止扇区,高2位为终止柱面的前2位

第8字节分区终止柱面的低8位。

第9-12字节本分区前的扇区数,低位字节在前(注:不是低位在前)

第13-16字节本分区总的扇区数,低位字节在前

现在根据上面的列表详细解释一下:我们提取出下面四个分区表项:

表四:

分区 | 字节序号

表项 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1: | 80 01 01 00 0B FE 3F D8 3F 00 00 00 5A 31 35 00

2: | 00 00 01 D9 0F FE FF FF 99 31 35 00 04 FF FB 00

3: | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

4: | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

由于数据以16进制显示,每个数字占一个字节的四位,所以两个数字占一个字节。对于第一个分区表项:

第1字节为80,表示活动分区;

第2字节为01,十进制为1,表示起始磁头号;

第3字节为01,二进制为00000001,低6位000001,对应的十进制为1,表示起始扇区;

第4字节为00,二进制为00000000,与第三字节的高2位00组成0000000000,十进制为0,表示起始柱面;

第5字节为0B,为系统标志;

第6字节为FE,十进制为254,表示终止磁头;

第7字节为3F,二进制为00111111,低6位为111111,转换为十进制为63,表示终止扇区;

第8字节为D8,二进制为11011000,与第7字节的高2位00组成0011011000,十进制为216,表示终止柱面;

第9-12字节为3F 00 00 00,按低位字节在前的原则排列为:00 00 00 3F,转换为十进制为63,表示该分区前的扇区数目;

第13-16字节为5A 31 35 00,按低位字节在前的原则排列为:00 35 31 5A,转换为十进制为34860 42,表示该分区占用的扇区数目。

我们可以与表2对照,发现两者完全统一!同理,我们还可以分析第2个分区表项,这就交给感兴趣的读者自己完成吧。

在第3和第4个分区表项中,所以数据都为0,表示这两个分区表项没有分配。

最后两个字节--偏移地址从01FEH-01FFH,为结束标志,通常为55 AA,如果改为其它值,则硬盘可能不被引导。

通过以上的讲解,你是不是对硬盘的数据结构又有了更深的认识?对于使用windows和linux双系统的用户,经常要与mbr打交道,有很多网友问:装了linux和windows双系统,现在又不想使用linux了,于是把linux的分区格式化为fat32回收,但当初装在mbr的引导信息老是去不掉。这里我可以告诉你一

个方法,就是用windows98启动盘启动电脑,然后运行fdisk/mbr命令就可以了,这条命令是重建mbr(前446字节),但并不破坏dpt中的数据,也就是并不破坏硬盘的分区表,可以安全使用。你可以在使用这条命令前后各查看一下主引导扇区,就会发现从447字节开始以后的数据都没有改变。如果你没有diskma n这个软件,下面的C程序一样可以帮你搞掂!

以下是程序的源码:

#include

#include

int main()

{

register int i;

unsigned char buffer[512] = {0};

biosdisk(2, 0x80, 0, 0, 1, 1, buffer);

for (i=0; i<512; i++)

{

if (!(i%8))

{

printf(" ");

if (!(i%16))

{

printf("\n");

printf("%04x:", i);

}

}

printf("%02x ", buffer);

}

}

在turboc2.0中可编译通过。运行biosdisk()函数,你还可进一步编写备份mbr,恢复mbr的程序或把mbr清0的程序,是不是很想试试。

移动硬盘手工重建分区表

移动硬盘手工重建分区表 这几天对硬盘的分区表很感兴趣,反正有块移动硬盘,就使用diskpart的clean 命令,把这个块移动硬盘的主分区表删除了,删除之后,在磁盘管理里,就看到一块没有进行分区的硬盘,下面,通过winhex这个工具重建硬盘分区表 图一 图二

图三 这就打开了磁盘一,现在显示的是Sector 0,就是磁盘的第一个扇区,也就是传说中的主引导扇区(Master Boot Record),一共512字节(B),前446Byte是引导信息,接着的64Byte是主分区表(Disk Partition Table),最后两个字节55 AA是结束标志。硬盘分区表包含四个项目,每项16字节,代表四个分区的参数。这就是为什么硬盘只能有四个主分区的原因。 DPT中可定义的分区包括主分区和扩展分区。所谓主分区,是指DPT中包含的能够被系统使用的磁盘分区,它是可以设置为活动的,即可以引导操作系统,一个硬盘只能有一个活动分区;而扩展分区并不能被系统使用,它的作用是突破DPT只能定义4个分区的限制。 其做法是:让DPT在定义主分区后,将多余容量定义为扩展分区,指定该分区的起始位置,根据起始位置指向硬盘的某一扇区,称作虚拟MBR,在其中定义下一个分区表。如果只有一个分区,就定义该分区,然后结束;如果不止一个分区,就定义一个基本分区和一个扩展分区,扩展分区再指向下一个分区表,在下一个分区表中继续定义分区,直至结束。这样就形成一个分区链,可以描述所有的分区。

任何分区表中只能有一个扩展分区,扩展分区不能引导操作系统。位于扩展分区中 的可被系统使用的磁盘分区称为逻辑分区,逻辑分区不能设置为活动。由于定义了扩展分区和逻辑分区的概念,windows使用的磁盘盘符可以一直到Z。 接下来,开始重建分区表了,由于我是把移动硬盘分成一个扩展分区,在分了两个逻辑盘,所以在DPT中分区表信息就只有16B。由于是扩展分区,所以可以根据EBR来 推算出DPT中的数据。 图四 如图四所示,扩展分区的分区表其实就是一个分区链表。图中所示,C盘为主分区,D、E盘都是属于扩展分区的。因为55AA是结束标志,所以用winhex查找扇区最后两个字节为55AA的扇区,点击“搜索”-“查找Hex数值”,查找55AA,把Cond前的框勾上,填上offset mod 512=510,然后查找,由于EBR占了一个扇区,所以只有那些数据大部分为0,只有从第447个字节开始才有数据的,并且以55AA结束的扇区才是EBR 所在。像我的查找出来,sector 16065就是第一个EBR,信息如下 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 00 01 01 01 07 FE FF FF 3F 00 00 00 CE 2E C0 03 十进制为63 十进制为62926542 00 00 C1 FF 05 FE FF FF 0D 2F C0 03 D5 39 EC 04 十进制为62926650 十进制为82590165

主引导记录与硬盘分区

MBR结构图

主引导记录与硬盘分区 对于采用MBR型分区结构的硬盘,最多只能识别4个主要分区(Primary partition)。这里就需要引出扩展分区了。扩展分区也是主要分区的一种,但它与主分区的不同在于理论上可以划分为无数个逻辑分区。 Windows系统默认情况下,一般都是只划分一个主分区给系统,剩余的部分全部划入扩展分区。这里有下面几点需要注意: 在MBR分区表中最多4个主分区或者3个主分区+1个扩展分区,也就是说扩展分区只能有一个,然后可以再细分为多个逻辑分区。 在Linux系统中,硬盘分区命名为sda1-sda4或者hda1-hda4(其中a 表示硬盘编号可能是a、b、c等等)。在MBR硬盘中,分区号1-4是主分区(或者扩展分区),逻辑分区号只能从5开始。 在MBR分区表中,一个分区最大的容量为2T,且每个分区的起始柱面必须在这个disk的前2T内。你有一个3T的硬盘,根据要求你至少要把它划分为2个分区,且最后一个分区的起始扇区要位于硬盘的前2T空间内。[3]如果硬盘太大则必须改用GPT。 MBR分区表与GPT分区表的关系 与支持最大卷为2 TB(Terabytes)并且每个磁盘最多有4个主分区(或3个主分区,1个扩展分区和无限制的逻辑驱动器)的MBR磁盘分区的样式相比,GPT磁盘分区样式支持最大卷为128 EB(Exabytes)并且每磁盘的分区数没有上限,只受到操作系统限制(由于分区表本身需要占用一定空间,最初规划硬盘分区时,留给分区表的空间决定了最多可以有多少个分区,IA-64版Windows 限制最多有128个分区,这也是EFI标准规定的分区表的最小尺寸)。与MBR 分区的磁盘不同,至关重要的平台操作数据位于分区,而不是位于非分区或隐藏扇区。另外,GPT分区磁盘有备份分区表来提高分区数据结构的完整性。 GPT分区表:GPT,全局唯一标识分区表(GUID Partition Table),与MBR最大4个分区表项的限制相比,GPT对分区数量没有限制,但Windows最大仅支持128个GPT分区,GPT可管理硬盘大小达到了18EB。只有基于UEFI平台的主板才支持GPT分区引导启动。

江民硬盘修复王使用方法

江民硬盘修复王及使用方法 江民硬盘修复王及使用方法 第一章kvfix.EXE 硬盘修复王使用方法 特别说明:原KV系列软件中的“硬盘修复王”的可执行文件名称是jmhdfix.exe 或者 jm-hdfix.exe ,目前统一修改成kvfix.exe 文件。原文件名jmhdfix.exe (jm-hdfix.exe) 不再使用。 1 硬盘修复王可修复的范围 当硬盘分区表坏,或有关数据丢失,或硬盘进不去时,我们用硬盘修复王可修复如下状态: 1.1 硬盘分区表数据(0扇区)丢失,BOOT系统引导区(63扇区)后的数据区完好,只是硬盘进不去。 能为您重建硬盘分区表,使硬盘一切正常。 1.2 硬盘分区表不正确(0扇区数据被病毒修改),BOOT系统引导区(63扇区)后的数据区完好,只是硬盘进不去。 能为您重建硬盘分区表,使硬盘一切正常。 1.3 分区表55AA标志丢失,硬盘进不去。

能为您修补55AA,使硬盘一切正常。 1.4 0扇区分区表被病毒搬在隐含扇区(硬盘前63个扇区)某一扇区上,原分区表被病毒加密,硬盘进不去。 能为您恢复硬盘分区表,使硬盘一切正常。 1.5 0扇区分区表被病毒加密,BOOT系统引导区(63扇区)后的数据区完好,只是硬盘进不去。 能为您重建硬盘分区表,使硬盘一切正常。 1.6 硬盘分区为C、D、E、...等几个区。硬盘分区表、C盘BOOT引导区、FAT表、目录表丢失,硬盘进不去。 能为您重建C盘分区表,可恢复C、D、E、...等几个区,D、E、...等几个区完好。 1.7 硬盘分区为一个C盘。硬盘分区表、DOS引导区、FAT表、目录表杂乱,硬盘进不去。能为您修复硬盘分区表。 1.8 硬盘分区为一个C盘,硬盘分区表、BOOT引导区丢失,硬盘进不去。 能为您重建硬盘分区表,修复BOOT引导区,完后,会建议您用与硬盘相同版本的系统软盘引导机器,既可自由出入硬盘。建议您: SYS C: 重传一次引导系统到C盘,硬盘即可引导。 1.9 硬盘主引导记录被病毒破坏,硬盘不能引导,软盘引导可出入硬盘。

重建分区表方法

DiskGenius搜索已丢失分区(重建分区表) “重建分区表”功能是在原DOS版的基础上重写并增强的功能。它能通过已丢失或已删除分区的引导扇区等数据恢复这些分区,并重新建立分区表。出现分区丢失的状况时,无论是误删除造成的分区丢失,还是病毒原因造成的分区丢失,都可以尝试通过本功能恢复。 分区的位置信息保存在硬盘分区表中。分区软件删除一个分区时,会将分区的位置信息从分区表中删除,不会删除分区内的任何数据。本软件通过搜索硬盘扇区,找到已丢失分区的引导扇区,通过引导扇区及其它扇区中的信息确定分区的类型、大小,从而达到恢复分区的目的。 本功能操作直观、灵活、搜索全面,在不保存分区表的情况下也可以将搜索到的分区内的文件复制出来,甚至可以恢复其内的已删除文件。搜索过程中立即显示搜索到的分区,可即时浏览分区内的文件,以判断搜索到的分区是否正确。 要恢复分区,请先选择要恢复分区的硬盘。选择硬盘的方法有: 1、点击DiskGenius软件窗口左侧“分区、目录层次图”中的所要修复的硬盘(根据容量大小),或点击软件窗口上部“硬盘分区柱状结构图”。一定要看清,不要选择U盘哦。 2、界面上部“硬盘分区结构图”左侧的小箭头切换硬盘。 选定要修复的硬盘后,点击“工具- 搜索已丢失分区(重建分区表)”菜单项,或在右键菜单中选择“搜索已丢失分区(重建分区表)”。程序弹出“搜索分区”对话框: 可选择的搜索范围有: 选择“1、整个硬盘:忽略现有分区,从头到尾搜索整个硬盘。” 然后,点击“开始搜索”按钮。程序开始搜索过程。 搜索到一个分区后,本软件立即在界面中显示刚刚搜索到的分区,并弹出下面的提示信

息: 此时,如果搜索到的文件内有文件,程序会自动切换到文件浏览窗口并显示分区内的文件列表。用户可据此判断程序搜索到的分区是否正确。可以不关闭搜索到分区的提示。即可 点击保留后,程序不会立即保存分区表(不写硬盘)。继续搜索其它分区,直到搜索结束。有时候对话框中还会有一个“这是一个主分区”或“这是一个逻辑分区”的选项。如果DiskGenius 显示的主分区或逻辑分区类型不正确,可以通过勾选此选项进行转换。 搜索完成后,程序弹出下面的提示: 搜索完成后,在不保存分区表的情况下,可以立即利用本软件访问分区内的文件,如复制文件等。甚至恢复分区内的已删除文件。但是只有在保存分区表后,搜索到的分区才能被操作系统识别及访问。 如果想放弃所有搜索结果,请点击“硬盘- 重新加载当前硬盘”菜单项,然后继续刚才的搜索步骤,合理的点击“保留”“忽略”查看搜索的是否正确。如果正确,就得保存刚才重建的“硬盘分区表”,具体步骤是:点击“硬盘——>保存分区表”保存。然后

硬盘结构,主引导记录MBR,硬盘分区表DPT,主分区、扩展分区和逻辑分区

硬盘结构,主引导记录MBR,硬盘分区表DPT,主分区、扩展分区和逻辑分区,电脑启动过程 2010-04-17 22:12 filex的文件系统看的云里雾里,还是先总结下FAT的一些基本知识吧。 硬盘结构 硬盘有很多盘片组成,每个盘片的每个面都有一个读写磁头。如果有N个盘片。就有2N个面,对应2N个磁头(Heads),从0、1、2开始编号。每个盘片的半径均为固定值R的同心圆再逻辑上形成了一个以电机主轴为轴的柱面(Cylinders),从外至里编号为0、1、2……。每个盘片上的每个磁道又被划分为几十个扇区(Sector),通常的容量是512byte,并按照一定规则编号为1、2、3……形成Cylinders×Heads×Sector个扇区。 主引导扇区 主引导扇区位于整个硬盘的0柱面0磁头1扇区{(柱面,磁头,扇区)|(0,0,1)},bios在执行自己固有的程序以后就会jump到MBR中的第一条指令。将系统的控制权交由mbr来执行。主引导扇区主要由三部分组成:主引导记录 MBR (Master Boot Record或者Main Boot Record)、硬盘分区表 DPT(Disk Partition Table)和结束标志字三大部分组成。 对于硬盘而言,一个扇区可能的字节数为128×2n (n=0,1,2,3)。大多情况下,取n=2,即一个扇区(sector)的大小为512字节。在总共512byte的主引导记录

中,MBR的引导程序占了其中的前446个字节(偏移0H~偏移1BDH),随后的64个字节(偏移1BEH~偏移1FDH)为DPT(Disk PartitionTable,硬盘分区表),最后的两个字节“55 AA”(偏移1FEH~偏移1FFH)是分区有效结束标志。 主引导记录MBR(master boot record) 主引导记录中包含了硬盘的一系列参数和一段引导程序。其中的硬盘引导程序的主要作用是检查分区表是否正确并且在系统硬件完成自检以后引导具有激活标 志的分区上的操作系统,并将控制权交给启动程序。MBR是由分区程序(如Fdisk)所产生的,它不依赖任何操作系统,而且硬盘引导程序也是可以改变的,从而能够实现多系统引导。 硬盘分区表DPT(Disk Partition Table) 硬盘分区表占据MBR扇区的64个字节(偏移01BEH--偏移01FDH),可以对四个分区的信息进行描述,其中每个分区的信息占据16个字节。具体每个字节的定义可以参见硬盘分区结构信息。 结束标志字 结束标志字55,AA(偏移1FEH- 偏移1FFH)是MBR扇区的最后两个字节,是检验主引导记录是否有效的标志。 电脑启动过程 ?系统开机或者重启。 ?BIOS 加电自检 ( Power On Self Test -- POST )。BIOS执行内存地址

用MHDD清除主引导扇区55AA

用MHDD清除主引导扇区“55AA”标志 1.为什么要清除“55AA”标志 我们都知道,主引导扇区的最后两个字节为有效标志“55AA”,如果没有该标志,系统将会认为磁盘没有被初始化。因此,“55AA”标志对于磁盘来讲是非常重要的。但在数据恢复过程中,有时我们不得不在进入系统前将该标志进行清除。通常,在下列情况下可以考虑清除“55AA”标志。 ◆??需要恢复数据的硬盘存在病毒 当需要恢复数据的磁盘中存在病毒时,清除“55AA”标志可以使整个硬盘的分区失效,病毒也就无法继续传染。某些病毒的传染性非常强,当直接将染有这种病毒的硬盘挂接在正常的计算机上,进入操作系统后即开始传染,使数据恢复用机被病毒感染并导致死机,致使数据恢复工作无法进行。这时,我们可以在DOS下使用MHDD清除染毒磁盘的“55AA”标志,然后再进行后续的恢复工作。 ◆??重要位置处于坏扇区 如果磁盘存在坏扇区,而某个分区的引导记录扇区又恰好处在坏扇区位置时,将会使恢复用机很难顺利进入操作系统。即便进入操作系统后,也会因长时间无法读取出坏扇区的数据而不能进入就绪状态,甚至导致死机,使数据恢复工作无法进行。这时,我们也可以在DOS下先行使用MHDD将故障盘的“55AA”标志清除后再进行后续的工作。 ◆??磁盘逻辑参数矛盾 磁盘的逻辑参数存在矛盾时,也有可能导致数据恢复用机无法正常进入操作系统,或进入操作系统后即死机。比如,各个分区间的大小及位置关系矛盾,或某个分区引导扇区中的BPB参数出现错误,都有可能导致系统死机。清除“55AA”标志后,磁盘的主引导扇区失效,分区表也就失去了作用。这时操作系统会将磁盘识别为一个没有被初始化的磁盘进行加载,不会再调用分区表及各个逻辑分区的参数,也就不会发生死机的现象。 2.清除“55AA”标志的方法 使用MHDD清除“55AA”标志非常简单,因为它提供了一个专门用于清除和写入“55AA” 标志的命令“switchm br”。 步骤1 进入MHDD程序并选择要操作的磁盘,然后在程序界面中输入命令swichmbr 后按Enter键,即出现图9.5所示内容。 可以看到,执行这个命令后,程序读取磁盘的0号扇区,并提示找到了AA55。我们说“55 AA”是在十六进制编辑软件中看到的字节放置顺序,这是使用little-endian格式存放的顺序,真正的十六进制则为0xAA55,所以MHDD将其表述为AA55。 然后,程序询问是否要清除这个标志,要清除则按“Y”键,否则按“N”键。 步骤2 按“Y”后程序立即执行清除操作,清除成功后即显示“Done”,表示操作成功完成。 如图9.6所示。

电脑开不了机都是引导分区惹的祸

电脑开不了机,都是引导分区惹的祸 电脑开不了机,都是引导分区惹的祸 今天同事的电脑开不了机,不见系统启动,让我去看一下。初略检查了一下,可能是系统问题,也可能硬盘问题。所以卸了硬盘装别的电脑上,各分区都能打开,发现c盘有病毒,只记得其中一个是在c盘根目录下ati.exe.杀了毒还是不能启动。于是就重装了系统,但是还是开不了机。那可能硬盘的引导分区被病毒破坏。就用DiskGenius对坏的硬盘进行修复MBR。再开机时能进入到登录界面,输入正确的密码登录后几秒后又回到登录界面。也就是见不到那桌面。再开机时发现一键还原系统带有dos版的DiskGenius,就试试再次修复MBR,再启动居然正常开机了。 这次电脑的问题是病毒破坏了引导分区,在修复时由于硬盘是副盘可能造成修复不完全。还有系统是不需要重装的,如果系统坏了可能还能进入DOS或安全模式。 主引导区修复,分区表修复,硬盘逻辑锁修复,坏道修复四种故障 下面根据主引导区修复,分区表损坏修复,硬盘逻辑锁修复,产生坏道的修复四种故障类型给大家列出解决的方法和对策: 1)主引导区修复 修复此故障最简单的方法就是使用高版本DOS的Fdisk带参数/mbr运行(即执行“FDISK/MBR”命令),直接覆盖(重写)硬盘的主引导程序(fdisk.exe之中包含完整的硬盘主引导程序)的代码区。由于从DOS时代直到目前的Windows系统,硬盘的主引导程序一直没有变化,所以只要找到一种DOS引导盘启动系统并运行此程序即可修复。在硬盘主引导扇区中还存在一个非常重要的部分,那就是其最后的两个字节:55AA,此为扇区的有效标志。当从硬盘、软盘或光区启动时,将检测这两个字节,如果存在则认为有硬盘存在,否则将不承认硬盘。此外我们还可以运用一些专门的工具进行修复: ★Fixmbr:Fixmbr是一个DOS下的应用小工具,只有12KB,专门用于重新构造主引导扇区。直接运行Fixmbr,它将检查MBR结构,如果发现系统不正常则会出现是否进行修复的提示。如果回答“Yes”,它将搜索分区。当搜索到相应的分区以后,系统会提示是否修改MBR,回答“Yes”则开始自动修复。如果这时出现死机现象,请将BIOS中的防病毒功能禁止后再做。缺省的状态下将搜索所有已经存在的硬盘,并完成以上操作。如果完成的结果不对,可以用“/Z”参数将结果清空后重新启动,就可以恢复到原来的状态。 执行“FIXMBR/?”可得到FIXMBR的帮助信息如下: Usage:FIXMBR[DriveNo][/A][/D][/P][/Z][/H] DriveNoHarddiskscope0-3,defaultisalldrive.(指硬盘号,0表示第一个硬盘) /AActiveDOSpartition.(激活基本DOS分区) /PDis

硬盘主引导记录(MBR)及其结构详解

硬盘主引导记录(MBR)及其结构详解 硬盘的0柱面、0磁头、1扇区称为主引导扇区,FDISK程序写到该扇区的内容称为主引导记录(MBR)。该记录占用512个字节,它用语硬盘启动时将系统控制权交给用户指定的,并在分区表中登记了的某个操作系统区。 1.MBR的读取 硬盘的引导记录(MBR)是不属于任何一个操作系统,也不能用操作系统提供的磁盘操作命令来读取它。但我们可以用ROM-BIOS中提供的INT13H的2号功能来读出该扇区的内容,也可用软件工具Norton8.0中的DISKEDIT.EXE来读取。 用INT13H的读磁盘扇区功能的调用参数如下: 入口参数:AH=2 (指定功能号) AL=要读取的扇区数 DL=磁盘号(0、1-软盘;80、81-硬盘) DH=磁头号 CL高2位+CH=柱面号 CL低6位=扇区号 CS:BX=存放读取数据的内存缓冲地址 出口参数:CS:BX=读取数据存放地址 错误信息:如果出错CF=1 AH=错误代码 用DEBUG读取位于硬盘0柱面、0磁头、1扇区的操作如下: A>DEBUG -A 100 XXXX:XXXX MOV AX,0201 (用功能号2读1个扇区) XXXX:XXXX MOV BX,1000 (把读出的数据放入缓冲区的地址为CS:1000) XXXX:XXXX MOV CX,0001 (读0柱面,1扇区) XXXX:XXXX MOV DX,0080 (指定第一物理盘的0磁头) XXXX:XXXX INT 13 XXXX:XXXX INT 3 XXXX:XXXX (按回车键) -G=100 (执行以上程序段) -D 1000 11FF (显示512字节的MBR内容)

重建硬盘主引导区

重建硬盘主引导区,尝试用光盘引导后进入DOS系统,盘符后使用命令:fdisk /mbr 修复引导扇区 1、重建MBR是重建分区表,fdisk/mbr是恢复引导代码,即MBR扇区的前446个字节 2、使用DiskGenius步骤(1)下载个WINPE工具,记录成启动光盘,用它来启动计算机(2)进入dos系统。运行“DiskGenius”软件,据说这是中国人编的一款软件,非常好用。在WINPE环境下运行DiskGenius。(3)选择“硬盘-重建主引导记录MBR”,重启即可。不会重写只是恢复默认对系统和其他没有影响用fdisk /mbr 中间有空格在DOS下 正好本人的pe盘里面有DiskGenius这个软件。于是在pe里面打开DiskGenius 用硬盘-重建主引导记录MBR。最终解决了问题。 试用了两次成功,第一次失败。第一次是这样的。我用DiskGenius先把c盘格式化后,然后选择重建主引导记录MBR,然后重启。电脑启动死机。第二次,用DiskGenius选择重建主引导记录MBR,然后格式化C盘。后用Ghost手动还原系统。后重启电脑出现熟悉的安装界面。实验成功。 新更换硬盘使用ghost进行硬盘对拷,将新硬盘装于电脑上会提示missing mbr helper,带用户使用xp安装版光盘引导,出现选择列表,有安装系统,修复等,选择修复进入控制恢复台,选择操作系统,输入管理员密码后输入fixmbr命令会提示是不是重新写入mbr 确定后提示成功,exit退出,重启电脑发现可以正常启动了 MBR可以重写的,很简单,使用PM分区工具,很小的,里面有重写MBR选项,关键是你能不能进系统了 典型的NTLDR丢失,按照下面步骤进行修复:

主引导扇区中了病毒

硬盘主引导扇区中了病毒,如何进行处理 前不久遇到一例硬盘主引导扇区中了病毒,其问题出现情况如下: 1、开机加电自检,检测到硬盘那一步时,检测时间比平时稍长。 2、主机自检完成后,启动操作系统,出现“starting ……”,一直等都无反应。 3、用软盘或光盘启动也只能启动到“starting ……”,视具体启动盘,出现提示也不一样,但都不能正常启动操作系统。 4、在BIOS设置中,将此盘设为“NONE”,才能用(DOS、9 5、98)启动软盘或启动光盘启动操作系统。但桌面上“我的电脑”中没有此盘;如挂上双硬盘,将故障硬盘设为“NONE”,用NT 启动,启动后亦看不到此盘(因为正常情况下,即使BIOS设置中某硬盘设为“NONE”,NT启动后,“我的电脑”中也能正常显示该硬盘);如用LINUX安装光盘启动安装,则能找到该硬盘,但提示此硬盘出错,不能进行分区。 5、低极格式化此盘,一般时间至少都需要10个小时左右才能格式完,但有的低格显示一切正常,如果重新启动,在BIOS设置中设有此盘,用软盘或光盘启动,也不能正常启动,只能到“starting……”处。(如果你的硬盘故障与前四项相同,请勿执行BIOS设置中的低级格式化,直接用以下的解决方法,这样硬盘上的数据都不会丢失) 从此现象看,应该是硬盘主引导扇区中了病毒,即使用杀病毒软件的功能,如KV300,他的软件中有一功能,能将硬盘的主引导扇区备份写回硬盘。但要想启动机子,BIOS中只能将此盘设为“NONE”,而DOS、95、98启动后,因为没有此硬盘,杀毒软件也找不到此盘,所以想到此款病毒于杀病毒软件来说,也只能说再见了。 解决方法是: 1、用一台能正常启动的机子制作启动软盘一张,并将c:\windows\command\debug.exe文件拷贝到启动软盘。 2、准备一张空白的已格式化的软盘。 3、用能正常启动的机子启动,主板自检完后,启动操作系统之前,按F8键进入DOS模式,将软盘放入软驱。执行以下步骤:(此操作是将好硬盘的主引导区内容备份到软盘,这台机子的硬盘最好与中了病毒的硬盘型号一样,即使不同,也可以。) cd c:\windows\command (红色表示自己输入的内容) debug -A 100 11BA:0103 mov bx,1000 11BA:0106 mov cx,1 11BA:0109 mov dx,80 11BA:010C int 13 11BA:010E int 3 11BA:010F ;直接回车

用U盘启动给新硬盘分区后不能引导

用U盘启动给新硬盘分区后不能引导 症状: 新装的机器用PM分区后,U盘启动PE下GHOST好系统,但是用硬盘启动不了。 启动时检测完硬盘后就漆黑一片,只有左上角有个光标在闪。一直这样没反应。 怎么回事?主分区我已经激活。 原因:因为是新硬盘,硬盘的引导没有激活(不是说第一个分区没激活引导,是第一个分区前,硬盘有引导代码的),以前XP是直接用安装程序装的,安装程序自动就弄好了没这问题。现在都流行Ghost,只刻一个分区肯定不行。 PM对新硬盘分区,不会生成MBR引导代码,因此不能正常引导系统启动,这对于老硬盘是没问题的,因为老硬盘都有MBR引导代码,所以不会有问题,新硬盘就不然了其实原因是什么呢?也就是因为MBR,虚拟机上是新的虚拟硬盘,分好区后,分区工具不会主动写MBR, 而GHOST对分区操作也不会写MBR,所以没有MBR的硬盘是不能启动的。 (GHOST执行对硬盘而不是对分区操作的时候才会写MBR)。还有,GHOST不会激活分区,很多人也会因为这个问题装不上GHOST系统。 解决方法:对于新硬盘,没有MBR(可能会出现“试过还原MBR,可PQ、PM都无法还原,选项都是灰色的”) 1、用个光盘重新装下吧。(需要光驱)完全安装也可,安装到一半退出再重新GHOST也可,只要有写MBR进去就行。

2、快速分区如一键分4区 3、解决的办法就是针对MBR引导代码来下手,用DOS的Fdisk /mbr命令生成一个即可。 对于老硬盘,重新分区后,要重建一下MBR: 1、运行diskgen 重建主引导记录 2、用分区医生重建MBR 3、 相关资料:在许多论坛上可看到怕雨过天晴及同类软件写MBR的人,说得这类软件的卸载比登天还难,我只能说这种人无知, 先说一个问题,玩虚拟机的人,有些人会用GHOST装系统,往往装不上,不知道原因,就在网上求助, 甚至得出虚拟机不支持GHOST系统的结论,把错放到虚拟机身上了, 在好些地方可以看到。 其实原因是什么呢?也就是因为MBR,虚拟机上是新的虚拟硬盘,分好区后,分区工具不会主动写MBR, 而GHOST对分区操作也不会写MBR,所以没有MBR的硬盘是不能启动的。 (GHOST执行对硬盘而不是对分区操作的时候才会写MBR)。还有,GHOST不会激活分区,很多人也会因为这个问题装不上GHOST系统。 我们的硬盘一般都是装机的人安装过系统的,MBR有,激活有,所以再次GHOST不会有问题。 一般来说,MBR是完整系统安装光盘(非GHOST盘)写上去的,如果硬盘从来不曾安装过系统,那么就不会有MBR数据,GHOST系统(对分区)也就不能装上去, MBR也分Windows 98、Windows 2000/XP的啊,Windows

DiskGenius使用指南(最终版)

目录 1、程序主界面 (3) 1.1、认识程序主界面及各部分功能 (3) 2、分区操作帮助 (5) 2.1、创建新分区 (5) 2.2、激活分区(设置活动分区) (7) 2.3、删除分区 (7) 2.4、格式化分区(快速格式化) (7) 2.5、隐藏分区 (9) 2.6、更改分区详细参数 (10) 2.7、分配/删除盘符 (10) 2.8、备份分区到镜像文件 (11) 2.9、从镜像文件还原分区 (13) 2.10、复制分区 (15) 2.11、误删除或误格式化后的文件数据恢复 (18) 2.12、快速分区 (23) 2.13、设置卷标 (25) 2.14、在主分区和逻辑分区之间转换分区类型 (25) 3、硬盘操作帮助 (26) 3.1、搜索已丢失分区(重建分区表) (26)

3.3、复制硬盘 (29) 3.4、备份与还原分区表 (32) 3.5、制作USB启动盘(FDD、ZIP、HDD) (34) 3.6、坏道检测与修复 (37) 3.7、快速分区 (41) 3.8、删除所有分区 (43) 3.9、清除保留扇区 (43) 3.10、转换分区表类型 (44) 3.11、分区表错误检查与更正 (45) 4、虚拟硬盘及映像文件帮助 (46) 4.1、创建VMWare虚拟硬盘文件 (46) 4.2、创建".img"磁盘映像文件 (46) 4.3、操作虚拟硬盘及其分区 (48) 5、文件操作帮助 (48) 5.1、显示文件列表(浏览文件) (48) 5.2、从分区复制文件 (49) 5.3、复制文件到当前分区 (50) 5.4、强制删除文件 (51) 5.5、建立文件夹 (51) 6、其它 (52) 6.1、重新启动系统并运行DOS版DiskGenius软件 (52)

如何修复Windows 10引导记录损坏故障

如何修复Windows 10引导记录损坏故障 如果你的Windows 10 系统遭遇突然的掉电,或在系统蓝屏等重大情况之后,出现Windows 无法正常引导的情况。通常我们都会尝试启动到仅加载最少驱动的安全模式,以尝试解决问题。如果连安全模式都无法引导,则需要考虑是否是Windows 10 的引导记录已被破坏。实际上,Windows 10 的引导记录中包括启动配置数据(BCD)和主引导记录(MBR)两个部分,通常Windows 无法正常启动都是由这两个部分被破坏或无法访问造成的。在此种情况下,通常会看到类似如下的引导错误提示:The boot configuration data store can not be opened.The requested system device cannot be found.无法打开启动配置数据存储。找不到请求的系统设备。当Windows 10 出现引导记录故障时,通常会不断提示安装Windows 的分区被锁定,并要求不断重启尝试解锁。要解 决这类问题最简单的办法便是使用Windows 7 或更新版本的Windows 安装ISO、系统启动U 盘或Windows PE 进行自动修复。(自动修复十分简单,按向导操作再重启即可,这里不做介绍。)手动修复Windows 10主引导记录如果自动修复已经无法解决问题,你可以尝试如下步骤来手动修复引导记录:1使用Windows 7 或更新版本的Windows 安装ISO、系统启动U 盘或Windows PE 引导,进入到

「命令提示符」2. 执行bcdedit /enum 命令,如果看到如下图提示,说明引导记录已经损坏。3执行如下命令找到坏扇区并恢复可读取的信息:chkdsk /r磁盘检查完成后,可以尝试重启计算机查看问题是否得到解决。4如果问题依旧,请重启进入到「命令提示符」使用如下命令尝试重建并恢复已损坏的Windows 10 系统文件:SFC /SCANNOW5最后依次执行如下命令修复Windows 10 的主引导记录并重建BCD 配置文件:BOOTREC /SCANOSBOOTREC /FIXMBRBOOTREC /FIXBOOTBOOTREC /REBUILDBCD6修复完成之后再次使用bcdedit /enum 命令列出存储中的项目进行查看,如果修复成功就可能重启登录Windows 10 了。

硬盘主引导扇区详解

硬盘主引导扇区详解 分类:计算机2010-10-28 11:04 31人阅读评论(1) 收藏举报 主引导扇区位于整个硬盘的0柱面0磁头1扇区,包括硬盘主引导记录MBR(Master Boot Record)和分区表DPT(Disk Partition Table)。主引导扇区有512个字节,MBR占446个字节(偏移0000--偏移1BDH),DPT 占64个字节(偏移1BEH--偏移1FDH),最后两个字节“55,AA”。大致的结构如下图: |------------------------------------------------|0000 | Main Boot Record | | | | 主引导记录(446字节) | | | | |01BD |------------------------------------------------|01BE | | | 分区信息1(16字节) |01CD |------------------------------------------------|01CE | | | 分区信息2(16字节) |01DD |------------------------------------------------|01DE | | | 分区信息3(16字节) |01ED |------------------------------------------------|01EE | | | 分区信息4(16字节) |01FD

|------------------------------------------------|01FE | | | 55 | AA | |------------------------------------------------|01FF 主引导记录中包含了硬盘的一系列参数和一段引导程序。引导程序主要是用来在系统硬件自检完后引导具有激活标志的分区上的操作系统。它执行到最后的是一条JMP指令跳到操作系统的引导程序去。这里往往是引导型病毒的注入点,也是各种多系统引导程序的注入点。但是由于引导程序本身完成的功能比较简单,所以我们可以完全地判断该引导程序的合法性,因而也易于修复。像命令fdisk/mbr可以修复MBR和 KV3000这类软件可以查杀任意类型的引导型病毒,就是这个原因。 分区表由4个16字节的分区信息表组成。每个信息表的结构如下: 偏移长度所表达的意义存贮字节位内容及含义 第1字节引导标志。若值为80H表示活动分区,若值为00H表示非活动分区。 第2、3、4字节本分区的起始磁头号、扇区号、柱面号。其中: 磁头号——第2字节; 扇区号——第3字节的低6位; 柱面号——为第3字节高2位+第4字节8位。 第5字节分区类型符。 00H——表示该分区未用(即没有指定); 06H——FAT16基本分区; 0BH——FAT32基本分区; 05H——扩展分区; 07H——NTFS分区; 0FH——(LBA模式)扩展分区(83H为Linux分区等)。 第6、7、8字节本分区的结束磁头号、扇区号、柱面号。其中: 磁头号——第6字节;

硬盘无法引导系统的原因及解决办法

硬盘无法引导系统的原因及解决办法 2008年06月12日星期四 10:51 常见的硬盘故障——无法引导系统 常见的硬盘故障——无法引导系统 在启动计算机后,看不到Windows启动画面,而是出现了“Non-System disk or disk error,replace disk and press a key to reboot”(非系统盘或磁盘出错)提示信息,这即是常见的硬盘故障——无法引导系统。 (一)硬故障导致硬盘无法引导 所谓硬盘硬故障,是指因为连接、电源或硬盘本身出现硬件故障而导致的硬盘故障。当发现硬盘无法引导时,首先得从硬件下手。 在大多数硬盘引导失败的故障中,硬盘本身的连接或设置错误是最常见的故障原因。因此,在遇上引导故障后,可在启动电脑时,按下Del键进入BIOS设置,在主界面中移动光标到“Standard CMOS Featur es”(标准CMOS设置)选项,回车进入次级设置界面。在该界面中注意观察IDE端口上是否能看到当前系统中所安装的硬盘,“WDC WD800BB-32CCB0”就是系统中的硬盘。 如果能够看到硬盘型号,并且型号没有出现乱码,那么可以选中该硬盘并回车,进入硬盘属性设置界面,将“IDE Primary Master”(第一IDE接口)和“Access Mode”(存取模式)选项均设置为“Auto”(自动)。移动光标到“IDE HDD Auto-Detection”(自动检测IDE硬盘)选项并按下回车键,以便让主板自动检测硬盘,如果此时能显示出相应硬盘信息,例如,Capacity(容量)、Cylinder(柱头数)等,则说明硬盘的物理连接及BIOS设置正确。 如果在“Standard CMOS Features”中看不到硬盘盘符及相关信息,或者硬盘的型号字符变成了乱码,例如,本来应该是 “IC35L060AVVAWA07-O”,可是现在却变成了“IC#5L0&0AVFA 7-0”,再查看硬盘的参数,也什么都没有,那么一般说来有两种原因: 1.硬盘的数据线或电源线问题 对于如今的大硬盘而言,都使用80芯的数据线。当出现在BIOS中看不到硬盘,或者硬盘型号出现乱码的现象时,首先考虑利用替换法更换一根确认没有问题的数据线,并且仔细检查数据线与硬盘接口、主板IDE接口的接触情况,查看主板IDE接口和硬盘数据接口是否出现了断针、歪针等情况。如果问题确实是因数据线及电源连接造成,一般更换数据线并排除接触不良的问题后,在BIOS中就能看到硬盘,此时硬盘也就可以引导了。 2.硬盘本身问题 当通过更换数据线、排除接触不良仍然无法看到硬盘,或者硬盘型号出现乱码,则只能通过替换法来检查是否是硬盘本身出了故障,具体方法是:将故障硬盘挂接在其他工作正常的电脑中,看硬盘是否能够工作,如果能够正常工作,则说明硬盘本身没有问题;如果依然检测不到硬盘,则说

MBR、主引导扇区,主分区、扩展分区、逻辑分区,活动分区、引导分区、系统分区、启动分区的区别详解

MBR、主引导扇区,主分区、扩展分区、逻辑分区,活动分区、引导分区、系统分区、启动分区的区别详解 什么是MBR和主引导引导扇区?什么是主分区、扩展分区、逻辑分区?什么是活动分区、引导分区、系统分区、启动分区?一下子罗列这么多概念,恐怕很多人都搞不清它们的区别和联系吧。网上虽然不少解释,但很多是模棱两可甚至是错误的,反而越弄越糊涂。煞费苦心的把这一大串概念研究了很长时间,试图搞明白,为了以后查阅方便,于是把对这些概念的理解总结了一下。而要想分清这些概念,真要费一点脑筋啊! 一、MBR和主引导扇区 首先简要介绍MBR和主引导扇区的关系。 主引导扇区是硬盘0号柱面,0号磁头的第一个扇区,大小为512字节。(注:硬盘可以用柱面、磁头和扇区定位) MBR,占用主引导扇区的前446字节,紧随其后的64字节是分区表DPT(Disk Partition Table),最后还剩两个字节则恒为55AA,表示结束符号。(下图,演示了它们的位置关系)

然后,具体说说MBR和分区表。 MBR,全称为Master Boot Record,即硬盘的主引导记录。MBR,共446字节,一般在操作系统安装时写入,但它并不属于操作系统。MBR就是一段引导程序,用于检测磁盘的分区合法性和加载操作系统,它的重要作用就是识别活动分区,并引导操作系统。 分区表DPT,全称为Disk Partition Table,共64字节,记录了硬盘有多少分区以及分区的各种属性。由于一个分区的信息要占用16字节,所以分区表只能定义4个分区,这就是为什么我们说硬盘一般最多只能分为4个主分区(这里说“一般”是对基本磁盘而言,而对于动态磁盘则无此限制,但大部分都在使用基本磁盘,可以暂不考虑)。 分区表的16个字节意义如下: 计算机开机后BIOS加电自检,一切正常后,找到第一个启动设备(一般就是硬盘),然后从这个启动设备的主引导扇区读取MBR。MBR这段引导程序识别活动分区,引导操作系统。 二、主分区、扩展分区、逻辑分区 正如前面所讲,主分区是由主引导扇区中64字节的分区表所定义的,最多只能有4个。但为了满足更多分区的需求,便产生了扩展分区。形式上,如果拥有扩展分区,就必须牺牲一个主分区,而且最多有一个扩展分区,也就是说:主分区+扩展分区<=4 并且扩展分区<=1。因此扩展分区也可以看成一种特殊的主分区。

主引导记录(MBR)的反汇编分析

主引导记录(MBR)的反汇编分析 1.)首先启动机器到实模DOS下,加载NTFS4DOS程序使程序可以读NTFS分 区。 2.)转到引导系统启动的主分区。输入C:回车转到主分区,输入DEBUG启动到DEBUG界面 3.)开始备份MBR主引导记录, -a 100 ;指定开始汇编的位置 mov ax,0201 ;AH=功能号0=复位磁盘2=读磁盘3=写磁盘AL=读取的扇区 mov bx,7c00 ;bx=读入的内存地址 mov cx,0001 ;ch=磁道号cl=扇区号 mov dx,0080 ;dh=磁头号dl=驱动器号80h:硬盘C int 13 调用BIOS中断 int 3 异常中断 -g =100 ;运行地址100处的程序

-d 7c00 l100 ;L加载文件到内存,D转储100个字节长度n MBR.DA T ;指定写入文件的名称 -rbx ;显示BX寄存器的内容 :0 改变BX寄存器的值为零 -rcx ;显示CX寄存器的内容 :200 改变CX寄存器的值为200 -W 7c00 ;将BX和CX指定的字节数的内容写入文件 保存MBR备份到C盘根目录 4.)先用Q退出DEBUG再重新进入下 5.)加载备份文件到内存

6.)开始用自己写的编码代替从7C00开始27个字节的编码Mov ax,cs ;代码段地址送AX Mov sp,7c00 ;7C00送堆栈寄存器 Sti ;开中断 Jmp 7c0c ;跳转到7C0C -T =100 ;从地址100处单步跟踪 单步跟踪输入T回车 一直跟到跳转到7C0C处

CLD ;DF方向标志置零DF=0串操作指令中操作数地址自动递增MOV SI,7C1B ;7C1B地址送SI源变址寄存器 MOV DI,061B ;061B地址送DI目的变址寄存器 PUSH AX ;AX里保存着CS代码段的地址 PUSH DI ;将DI=061B压栈位将来弹出到IP做准备MOV CX,01E5 ;循环传送的字节数 REPZ MOVSB ;循环把7C1B地址01E5字节的数据复制到 061B地址 单步跟踪到REPZ MOVSB 后面是一个循环指令用T 1E5执行过去 继续T一下 看下现在各个寄存器里的值RETF会从堆栈里弹出SP到IP 弹出

硬盘主引导扇区(MBR、DPT、DBR、BPB)详解

硬盘主引导扇区(MBR、DPT、DBR、BPB)详解.txt“恋”是个很强悍的字。它的上半部取自“变态”的“变”,下半部取自“变态”的“态”。硬盘主引导扇区(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 table Error loading operating system Missing operating system 二、硬盘分区表DPT是从偏移01BEH开始到偏移01FDH结束的64字节(图二); 硬盘分区表分为四小部分,每一小部分表示一个分区的信息,占16字节。在这里我们可以看出,硬盘的总分区数为什么不能大于4。其中可激活分区数不得大于3,扩展分区数不得大于1,当前活动分区数必须小于等于1。 分区表的每一分区的第0个字节是自举标志,其值为80H时,表示该分区是当前活动分区,可引导,其值为00H时,表示该分区不可引导。 第4字节是分区类型(图三)。 每一分区的第1至第3字节是该分区起始地址。其中第1字节为起始磁头号(面号);第2字节的低6位为起始扇区号,高2位则为起始柱面号的高2位;第3字节为起始柱面号的

相关主题