掀起硬盘主引导扇区的神秘面纱

2009-05-13 11:55:27来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

硬盘主
[url=javascript:;]引导扇区[/url]
是一个敏感的区域, 它的
[url=javascript:;]安全[/url]
与否直接决定硬盘是否能够正常使用。 深入认识和灵活使用硬盘主引导扇区将有助于你的系统维护和许多特殊工作完成。一、与DOS 引导扇区的区别  对于DOS系统来说, 有两种不同的引导扇区,即DOS 引导扇区和硬盘主引导扇区。 DOS 引导扇区存在于软盘的第一逻辑扇区或硬盘DOS分区的第一逻辑扇区
,是用FORMAT命令对磁盘格式化时产生的, 是引导DOS 系统或正确使用磁盘的必要条件,在DOS下可用DEBUG方便地读出:C>DEBUG-L 100 2 0 1;读C盘0扇区到
[url=javascript:;]内存[/url]
当前段的100H处-D ;显示DOS 引导扇区内容 
 硬盘主引导扇区则指的是硬盘的物理地址0 面0 道1 扇区,是用FDISK 进行硬盘分区时产生的, 它属于整个硬盘而不属于某个独立的DOS
分区, 是硬盘正确引导和使用的必要条件。由于它不在DOS分区范围之内,所以无法用上述方法读出, 只有用相关的汇编程序代码读出:C>DEBUG-AXXXX:0100 MOV AX,0201H ;指定扇区数XXXX:0103 MOV BX,0800H ;指定内存地址XXXX:0106 MOV CX,0001H ;指定磁道和扇区号XXXX:0109 MOV DX,0080H ;指定磁头和驱动器号XXXX:010C INT 13H ;读磁盘操作XXXX:010E INT 3-d800 ;显示读出内容二、扇区结构  硬盘主引导扇区占据一个扇区,共512(200H)个字节,具体结构如下:1.硬盘主引导程序,位于该扇区的0-1BDH处;2.硬盘分区表,位于1BEH-1FDH处,每个分区表占用16个字节,共4个分区表,16个字节各字节意义如下:0:自举标志,80H为可引导分区,00为不可引导分区;1~3:本分区在硬盘上的开始物理地址;4:分区类型,其中1表示为12位FAT表的基本DOS分区;4为16位FAT表的基本DOS分区;5为扩展DOS 分区;6为大于32M的DOS分区;其它为非DOS分区。5~7:本分区的结束地址;8~11:该分区之前的扇区数,即此分区第一扇区的绝对扇区号;12~15:该分区占用的总扇区数。3.引导扇区的有效标志,位于1FEH-1FFH处,固定值为AA55H。三、硬盘主引导扇区的作用硬盘主引导扇区在各个DOS版本下其内容基本一致,主要完成的任务是:1.存放硬盘分区表,这是硬盘正确读写的关键数据。2.检查硬盘分区的正确性,要求只能且必须存在一个活动分区。3.确定活动分区号,并读出相应操作系统的引导记录。4.检查操作系统引导记录的正确性, DOS引导扇区末尾也存在着一个AA55H标志,供引导程序识别。5.释放引导权给相应的操作系统。例如,当确认DOS 操作系统引导记录存在时, 则调出DOS引导程序并执行。另外,当它发现引导故障时将给出部分提示信息,如:?Invalid partition table?表示硬盘分区表错误, 没有或存在两个以上活动分区;?Error loading operating system?表示读DOS引导记录时出错;?Missing operating system?表示 DOS引导记录无有效标志AA55H。四、硬盘主引导扇区的应用  正是硬盘主引导扇区直接决定硬盘的安全性, 所以利用它可以完成很多特殊的功能操作, 简单列举如下:1.清除硬盘引导功能。  由于硬盘引导必须使用引导程序, 并检测活动分区的正确性, 所以人为的修改或破坏引导程序部分, 或者清除活动分区引导标志, 都将使硬盘无法
[url=javascript:;]启动[/url]
。2.加密整个硬盘。  硬盘主引导扇区末尾的扇区有效标志AA55H是系统承认硬盘的前提,所以可以采取清除名修改此标志位达到加密硬盘的目的, 即使从A 驱引导系统也无法对硬盘进行操作, 恢复AA55H即可解密硬盘。3.加密单个硬盘分区。 
 硬盘单个分区的加密可采取修改分区类型的方法,比如把扩展DOS 分区的类型标志 05H改为FFH,则DOS
认为此分区为非DOS分区,无法对其进行访问, 包括此分区中的所有逻辑盘。当然修改或清除某一分区表的所有数据同样具有加密单个分区的作用,

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:FreeBSD-7 内核malloc 源代码分析

下一篇:搭建NetBSD完美调试环境