硬盘的主引导扇区,分区表,分区引导扇区(MBR、DPT、DBR、BPB)是电脑BIOS自检完成后,操作系统开始引导系统前整个电脑运作过程中需要检查的重要参数,硬盘的主引导扇区,分区表,分区引导扇区(MBR、DPT、DBR、BPB)参数错误可能导致系统无法启动或存储的数据丢失,这片文章我们介绍一下硬盘的主引导扇区,分区表,分区引导扇区(MBR、DPT、DBR、BPB)的详细信息。 硬盘的0柱面、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR),该记录占用512个字节,它用于硬盘启动时将系统控制权转给用户指定的、在分区表中登记了某个操作系统分区。MBR的内容是在硬盘分区时由分区软件(如FDISK)写入该扇区的,MBR不属于任何一个操作系统,不随操作系统的不同而不同,即使不同,MBR也不会夹带操作系统的性质,具有公共引导的特性。但安装某些多重引导功能的软件或LINUX的LILO时有可能改写它;它先于所有的操作系统被调入内存并发挥作用,然后才将控制权交给活动主分区内的操作系统(上图) 天涯海角1216注:特殊形式的MBR会占用多个扇区,如Lvyanan的1JF9占用2个扇区,GRUB的MBR占用18个扇区,FBINST占用63个扇区,PloP Boot Manage 占用62个扇区(总共63个扇区) |
分区引导扇区DBR(DOS BOOT RECORD)是由FORMAT高级格式化命令写到该扇区的内容;DBR是由硬盘的MBR装载的程序段。DBR装入内存后,即开始执行该引导程序段,其主要功能是完成操作系统的自举并将控制权交给操作系统。每个分区都有引导扇区,但只有被设为活动分区的DBR才会被MBR装入内存运行。 DBR主要由下列几个部分组成: 1.跳转指令,占用3个字节的跳转指令将跳转至引导代码。 2.厂商标识和DOS版本号,该部分总共占用8个字节。 3.BPB(BIOS Parameter Block, BIOS 参数块)。 4.操作系统引导程序。 5.结束标志字,结束标志占用2个字节,其值为AA55 DBR中的内容除了第5部分结束标志字固定不变之外,其余4个部分都是不确定的,其内容将随格式化所用的操作系统版本及硬盘的逻辑盘参数的变化而变化。 一、FAT32的分区引导扇区 为了使加载文件的操作更加灵活,加上FAT32文件系统采用"活动"的FDT表,,同时考虑到引导程序的代码量和为今后发展保留适当的余量,FAT32文件系统分区引导扇区占据了6个扇区,只有前3个扇区作为系统的分区引导扇区,其余3个扇区保留暂未使用。分区引导扇区对于操作系统的启动和磁盘文件的访问具有至关重要的作用;引导程序代码的损坏将导致操作系统不能正常启动,磁盘读写参数的破坏将造成存储在磁盘上的文件不能正常读写。 由于分区引导扇区的重要性,FAT32文件系统在在第一个分区引导扇区的6个扇区后的6个扇区里保留了分区引导扇区的备份,在启动时操作系统可以对两份引导扇区进行比较,以便选择正确的引导扇区来引导系统。由于在磁盘正常工作过程中系统不再对引导扇区的程序和数据进行修改,因此备份的分区引导扇区损坏的可能性非常小。 分区引导扇区的第一个扇区(下图)的前三个字节是一条跳转指令,然后是8个字节长的OEM ID(厂家标识)和版本号,其后是简称为BPB的BIOS参数块(BIOS Parameter Block)。 分区引导扇区的第2个扇区作为文件系统相关参数存储标识扇区(下图),除了保存扇区的标识信息(RraA(00H)和rrAa(1E4H))外,还可能在偏移地址1E8H处存储了文件系统有关的信息。其中扇区偏移地址1E8H~1EBH的4个字节存储了逻辑磁盘中未使用的簇数,通常用于快速计算逻辑磁盘的剩余空间(典型的操作是在资源管理器状态栏上列出的"可用磁盘空间"参数),而1ECH~1EFH 4个字节给出了逻辑盘中下一个可以分配给文件使用的空闲簇的簇号,这样操作系统可以不访问FAT表就直接获得磁盘剩余空间和可以分配的簇号。 二、NTFS的分区引导扇区 对于NTFS分区来说,分区引导扇区DBR只占用一个扇区(下图),并且在该分区的最后一个扇区做了备份;NTFS的引导扇区也是完成引导和定义分区参数,NTFS分区的引导扇区不是分区的充分条件,它要求必须MFT中的系统记录如$MFT等正常该分区才能正常访问 其BPB参数如下表所示: |
1. 建立好FBINST启动U盘,用WINHEX.EXE将FBINST的MBR部分第一扇区偏移00处的EB5E写入可见分区启动扇区第一扇区偏移00处。 2. 用WINHEX.EXE将FBINST的MBR部分第一扇区偏移60开始到该扇区结束部分写入到可见分区启动扇区第一扇区偏移60处(要对应) 3. 而后再用Pauly的BOOTICE建立PloP Boot Manage的MBR 4. 再用WINHEX.EXE将FBINST的MBR从偏移B0处开始到该扇区结束部分写入到MBR的第一扇区偏移B0处(PloP Boot Manage在该处恰好空白)。(第4步也可以:将可见分区第一扇区偏移73处的B90100修改为B90200,将MBR第二扇区偏移73处的B90100修改为B90200。) 5. 启动该可见分区时即可成功启动PloP Boot Manage+FBINST的启动方式! 大家可以一试! |
根据实践:实现的双重MBR有: GRUB+FBINST , USB HDD++FBINST ,普通NT5,6 +FBINST ,同下面的方法!同样适用于多分区U盘。 这种方式也还可以使启动选择过程中返回FBINST菜单! HDD+ + FBINST 双重MBR 1. 建立好FBINST启动U盘,用WINHEX.EXE将FBINST的MBR部分第一扇区偏移00处的EB5E写入可见分区启动扇区第一扇区偏移00处。 2. 用WINHEX.EXE将FBINST的MBR部分第一扇区偏移60开始到该扇区结束部分写入到可见分区启动扇区第一扇区偏移60处(要对应) 3. 而后再用Pauly的BOOTICE建立HDD+的MBR 4. 将可见分区第一扇区偏移73处的B90100修改为B90200,将MBR第二扇区偏移73处的B90100修改为B90200。 5. 启动该可见分区时即可成功启动HDD++FBINST的启动方式! |
原帖由 zqywult 于 2009-11-4 16:34 发表
我对FBINST了解不多,在#20提了一些可能是很幼稚的问题,感谢LZ耐心地给与解答,并在顶楼做了更新,谢谢了!!
对顶楼的“3.方法”中,我还有一些不理解处,再次烦请LZ解答(也请高手们不要不耐烦):
一、方 ...
原帖由 feng197212 于 2009-11-6 19:59 发表
兄弟可以看看diskpart的工作原理
我做了大概10多个U盘或者移动硬盘,无一失手
微软vista win7自带的
感觉其他工具都可以下岗了
包括那个著名的Hp工具
原帖由 天涯海角1216 于 2009-11-12 10:01 发表
看你写入的是正确的!
我又用我的1G 的 U盘试了一下,很正常的!
你做个检测:
HDD+不变,可见分区写入GRUB4DOS,文件名为NTLDR试试!
看能否启动可见分区的PE,若能,说明可以启动分区;若不能,则说明H ...
原帖由 chengf 于 2009-11-12 10:52 发表
我是量产两个区,PE都是装在前一个区的,U盘启动一直正常的,对MBR是一无所知,但对PE启动\FBINST大致是了解的。
前述所有的所有操作是在对前一个区的。我的问题是不是出在主引导和分区引导的问题上?
你的双重的意思不会是一种MBR启动不了,再把MBR改写一次从而实现“双重”的启动吧?
原帖由 chengf 于 2009-11-12 22:44 发表
与我想像中的有点不同:HDD+ + FBINST我以为是用HDD+来启动就行,不需要经过都FBINST,如果不能启动,就选择FB进行启动——就像分别安装HDD和FB的两个U盘,一个不行就用另一个,而不是先用一个引导,后一个接 ...
原帖由 天涯海角1216 于 2010-1-7 14:13 发表
不可以!
顺序为 HDD+ > FBINST,是先后的顺序。
至于FBINST能启动的,就直接FBINST了,不需要HDD++FBINST 了。
欢迎光临 无忧启动论坛 (http://wuyou.net/) | Powered by Discuz! X3.3 |