无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 97324|回复: 168

【原创】HDD模式U盘双重MBR系列之—— PloP Boot Manage + FBINST(多版本.11.6更新)

  [复制链接]
发表于 2009-11-1 07:53:29 | 显示全部楼层 |阅读模式
天涯海角1216注:这是本人学习MBR和分区启动以来探究最深入的一次,
                                恳请各位多提宝贵意见,谢谢!!!
本方法尤其适用于FBINST不能启动电脑的情况,可以用USB-HDD+或其他可以启动的方式启动后加载FBINST的MBR,即双重MBR(因为FBINST对引导文件的启动有很高的兼容性)。
1.MBR知识图:  硬盘主引导扇第一扇区(0柱面0磁头1扇区)
mbr.gif





      硬盘的主引导扇区,分区表,分区引导扇区(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个扇区)




2.分区引导扇区知识:
   分区引导扇区DBR(DOS BOOT RECORD)是由FORMAT高级格式化命令写到该扇区的内容;DBR是由硬盘的MBR装载的程序段。DBR装入内存后,即开始执行该引导程序段,其主要功能是完成操作系统的自举并将控制权交给操作系统。每个分区都有引导扇区,但只有被设为活动分区的DBR才会被MBR装入内存运行。
DBR主要由下列几个部分组成:
 1.跳转指令,占用3个字节的跳转指令将跳转至引导代码。
 2.厂商标识和DOS版本号,该部分总共占用8个字节。
 3BPBBIOS Parameter Block BIOS 参数块)。
 4.操作系统引导程序。
 5.结束标志字,结束标志占用2个字节,其值为AA55
 DBR中的内容除了第5部分结束标志字固定不变之外,其余4个部分都是不确定的,其内容将随格式化所用的操作系统版本及硬盘的逻辑盘参数的变化而变化。
  一、FAT32的分区引导扇区
  为了使加载文件的操作更加灵活,加上FAT32文件系统采用"活动"FDT表,,同时考虑到引导程序的代码量和为今后发展保留适当的余量,FAT32文件系统分区引导扇区占据了6个扇区,只有前3个扇区作为系统的分区引导扇区,其余3个扇区保留暂未使用。分区引导扇区对于操作系统的启动和磁盘文件的访问具有至关重要的作用;引导程序代码的损坏将导致操作系统不能正常启动,磁盘读写参数的破坏将造成存储在磁盘上的文件不能正常读写。
  由于分区引导扇区的重要性,FAT32文件系统在在第一个分区引导扇区的6个扇区后的6个扇区里保留了分区引导扇区的备份,在启动时操作系统可以对两份引导扇区进行比较,以便选择正确的引导扇区来引导系统。由于在磁盘正常工作过程中系统不再对引导扇区的程序和数据进行修改,因此备份的分区引导扇区损坏的可能性非常小。
  分区引导扇区的第一个扇区(下图)的前三个字节是一条跳转指令,然后是8个字节长的OEM ID(厂家标识)和版本号,其后是简称为BPBBIOS参数块(BIOS Parameter Block)。


FAT.gif


分区2.jpg

    分区引导扇区的第2个扇区作为文件系统相关参数存储标识扇区(下图),除了保存扇区的标识信息(RraA(00H)和rrAa(1E4H))外,还可能在偏移地址1E8H处存储了文件系统有关的信息。其中扇区偏移地址1E8H~1EBH的4个字节存储了逻辑磁盘中未使用的簇数,通常用于快速计算逻辑磁盘的剩余空间(典型的操作是在资源管理器状态栏上列出的"可用磁盘空间"参数),而1ECH~1EFH 4个字节给出了逻辑盘中下一个可以分配给文件使用的空闲簇的簇号,这样操作系统可以不访问FAT表就直接获得磁盘剩余空间和可以分配的簇号。

clip_image001.jpg

二、NTFS的分区引导扇区
  对于NTFS分区来说,分区引导扇区DBR只占用一个扇区(下图),并且在该分区的最后一个扇区做了备份;NTFS的引导扇区也是完成引导和定义分区参数,NTFS分区的引导扇区不是分区的充分条件,它要求必须MFT中的系统记录如$MFT等正常该分区才能正常访问


ntfs引导扇区.jpg

BPB参数如下表所示:



NTFS1.jpg



3.  PloP Boot Manage + FBINST双重MBR的方法:


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的启动方式!
大家可以一试!


(注意:1.先备份U盘数据.  2.修改后不要再用FbinstTool修改U盘文件,否则出错。3.用FBINST的菜单比较好!)

恳请各位交流讨论,谢谢!

4.制作示例:
(1)FBINST的MBR部分:
解释:FBINST 在MBR的每个扇区(前63扇区)都写入了引导代码,并在每个扇区记录扇区号,这样无论U盘被识别为何种格式,都可以正常启动,启动的时候需要在1~63扇区读取计算好的信息,PloP Boot Manager 5.0.4 也类似,所以PloP Boot Manager 5.0.4 +FBINST总共占用63个扇区。

MBR.jpg

(2)FBINST的分区启动扇区:

解释:可见分区FBINST启动扇区偏移00处的EB5E是跳转指令,EB5E即为跳转到偏移60处,即分区启动扇区上的FBINST的MBR处!
可见分区启动扇区里写入FBINST的MBR内容,启动该可见分区时调用FBINST的MBR,从而指向UD区的FBINST菜单。
顺序为PloP Boot Manage>可见分区启动扇区(第一扇区DBR)>FBINST.
所以一个扇区足够了!



分区启动扇区.jpg

5.其他版本双重MBR

  根据实践:实现的双重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的启动方式!


6.范例参考:

做好的MBR和启动扇区,大家看一下!


PloP Boot Manager 5.0.4 +FBINST.rar (28.04 KB, 下载次数: 1600)

评分

参与人数 4无忧币 +26 收起 理由
cbd448421049 + 5 很给力!
古今一梦 + 1 很给力!
ZXQ99925 + 10 好帖子! 好技术!
lvyanan + 10

查看全部评分

 楼主| 发表于 2009-11-1 08:17:23 | 显示全部楼层
这是通过分区启动扇区启动FBINST的,分区启动扇区与FBINST的MBR有惊人的相似,所以可以装入FBINST启动之!

附:增加分区保留扇区数的方法.

以FAT32格式为例:
1.格式化U盘为FAT32.
2.用WINHEX打开U盘分区,打开启动扇区模板,找到FAT1,复制到剪贴板(就第一行)。
3.改变FAT1扇区位置,我的U盘是FAT32,FAT1在38扇区,我增加至20038扇区,搜索到20038扇区,剪贴板数据写入.(即增加了20000个扇区)
4.再找到新的FAT2位置,20038+1941=21979扇区,剪贴板数据写入(这是与FAT1相同的备份)
5.保存,退出,完成!

注意:制作完成后不要再次格式化U盘或硬盘分区了,否则保留扇区又恢复至38个了!
保留扇区约增加了12M的空间,呵呵,可存点东西哦!

若增加其他扇区数的方法雷同!

不妥之处高手指正!!!

有时间弄个视频给大家!


[ 本帖最后由 天涯海角1216 于 2009-11-12 07:14 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2009-11-1 15:29:16 | 显示全部楼层
有新内容:
根据实践:
实现的双重MBR有:
GRUB+FBINST  ,    USB HDD+  +FBINST  ,普通NT5,6 +FBINST  ,用上述4的第二种方法!
回复

使用道具 举报

 楼主| 发表于 2009-11-1 21:32:38 | 显示全部楼层
原帖由 cmdy268 于 2009-11-1 21:12 发表
太厉害了!请教楼主,这样改了能不能USB1.1的优盘,改成2。0的,感觉有希望。

不可能吧,1.1与2.0取决于U盘主控的速度,
回复

使用道具 举报

 楼主| 发表于 2009-11-2 10:34:36 | 显示全部楼层

回复 #14 codemoon 的帖子

可以用第二分区启动FBINST,因为分区启动扇区相当于读入MBR的内容启动之,更不会影响第一分区的内容!
回复

使用道具 举报

 楼主| 发表于 2009-11-2 20:05:09 | 显示全部楼层
其实这也就是通过分区启动扇区引导MBR的,本人认为这种方法比较巧妙,适合多重引导,我遇到过FBINST无法启动的电脑,用HDD+却可以启动,所以这种方法对特别的主板很奏效的!
也恳请各位讨论交流!
谢谢!!!
回复

使用道具 举报

 楼主| 发表于 2009-11-3 05:17:30 | 显示全部楼层

回复 #20 zqywult 的帖子

回答:
对一:FBINST 在MBR的每个扇区(前63扇区)都写入了引导代码,并在每个扇区记录扇区号,这样无论U盘被识别为何种格式,都可以正常启动,启动的时候需要在1~63扇区读取计算好的信息,所以FBINST的MBR包含63个扇区,你制作个FBINST方式的U盘看看就知道了。
对二:括号内的和前面括号外说的是等效!“偏移73和偏移B0有何关系?”73处是指向的扇区位置代码。也就是写B90200的话(B90200 意思是:指向0磁道2扇区),就不要再写到B0处了,这2步是并列关系!
对三:PloP Boot Manager 5.0.4 +FBINST总共占用63个扇区,当然31.5K了。 分区FBINST启动扇区是导入跳转指令,启动后跳转到MBR上了!所以一个扇区足够了!

[ 本帖最后由 天涯海角1216 于 2009-11-3 05:25 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2009-11-3 16:19:24 | 显示全部楼层
原帖由 TOSHIBA 于 2009-11-3 12:13 发表
也就是说:分区启动扇区也能引导FBINST??分区启动扇区的作用太大了哦。
那么先后顺序呢???
谢谢!!



是的!
分区启动扇区里写入FBINST的MBR内容,启动该分区时调用FBINST的MBR,从而指向UD区的FBINST菜单。
顺序为PloP Boot Manage>分区启动扇区(第一扇区DBR)>FBINST。
回复

使用道具 举报

 楼主| 发表于 2009-11-3 20:43:37 | 显示全部楼层
原帖由 x.Nichdlas 于 2009-11-3 17:22 发表
天涯兄这方面做出经验啦来了 各种鬼点子~~


感谢支持!
没事探索一下,呵呵---
回复

使用道具 举报

 楼主| 发表于 2009-11-4 14:34:28 | 显示全部楼层

回复 #33 x.Nichdlas 的帖子

不好意思!验明正身!
让大家失望了,是纯爷们!
呵呵------

[ 本帖最后由 天涯海角1216 于 2009-11-4 14:36 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2009-11-4 14:42:05 | 显示全部楼层
原帖由 ZXQ99925 于 2009-11-4 14:27 发表
其实按照楼主的原理,说明可以在分区启动扇区里启动很多东西,楼主在分区启动扇区启动了MBR!
的确是一种创新!
谢谢!

是的!
本人又在探索能否将FBINST的菜单启动方式移植到分区里启动!
也就是说:增加保留扇区到20M,存放必需的基本引导文件,启动该分区时,即可启动保留扇区里各种系统的引导文件,因为FBINST启动SYSLINUX等都有很好的兼容性!
这样,分区保留扇区就成了一个完整的启动文件库,不怕格式化该分区或病毒侵扰了!
回复

使用道具 举报

 楼主| 发表于 2009-11-4 18:11:04 | 显示全部楼层
原帖由 zqywult 于 2009-11-4 16:34 发表
我对FBINST了解不多,在#20提了一些可能是很幼稚的问题,感谢LZ耐心地给与解答,并在顶楼做了更新,谢谢了!!

对顶楼的“3.方法”中,我还有一些不理解处,再次烦请LZ解答(也请高手们不要不耐烦):

一、方 ...

回答:
对一:PloP Boot Manage的MBR仍然是整个U盘的MBR呀!(呵呵,不会有第二个MBR),因为PloP Boot Manage建立MBR时在第二扇区仍然是FBINST的MBR.(比如GRUB建立在MBR时也会自动将第一扇区的MBR复制到第二扇区,这就给我们建立双重MBR埋下伏笔)
对二: “....写入到MBR的第一扇区偏移B0处....”,此处的MBR是第3步建在整个U盘的PloP Boot Manage的MBR!!!因为PloP Boot Manage的MBR在B0后的内容留空。
         ‘第一扇区从偏移B0处开始到该扇区结束部分是第一扇区的后面部分,第一扇区偏移73处远在此部分的前面,那怎么能与LZ括号内第一句说的“将可见分区第一扇区偏移73处的B90100修改为B90200”等效呢?’
       因为虽然字节数不同,但是对于FBINST来说,调用后面字节程序,所起作用相同!

对三:“将MBR第二扇区偏移73处的B90100修改为B90200。”是指整个U盘MBR的第二扇区和可见分区第一扇区,因为启动可见分区的第一扇区后,调用FBINST的MBR,跳转到整个MBR的第二扇区(B90200的意思就是读入0磁道2扇区的意思)
如果不修改B90100为B90200,那么就从第一扇区调用,如果修改B90100为B90200,就从第二扇区调用,反正整个U盘的前2个扇区都有FBINST的内容!

谢谢支持!!!
回复

使用道具 举报

 楼主| 发表于 2009-11-4 20:23:23 | 显示全部楼层

回复 #39 syw000001 的帖子

已经有操作视频下载!
回复

使用道具 举报

 楼主| 发表于 2009-11-5 18:09:50 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2009-11-7 11:44:57 | 显示全部楼层
原帖由 feng197212 于 2009-11-6 19:59 发表
兄弟可以看看diskpart的工作原理
我做了大概10多个U盘或者移动硬盘,无一失手
微软vista win7自带的
感觉其他工具都可以下岗了
包括那个著名的Hp工具

谢谢!

我看看!!!
回复

使用道具 举报

 楼主| 发表于 2009-11-7 21:00:16 | 显示全部楼层
原帖由 求田问舍下 于 2009-11-7 20:51 发表
视频是没有声音的,最好加入一段文字的说明,因为视频的速度太快了呀。呵呵。

呵呵!
1楼有文字说明呀!
播放时降低帧频就可以了!
回复

使用道具 举报

 楼主| 发表于 2009-11-8 21:15:52 | 显示全部楼层
你找到的位置是对的!!!

1. 用WINHEX.EXE将FBINST的MBR部分第一扇区偏移60开始到该扇区结束部分写入到可见分区启动扇区第一扇区偏移60处。
2. 可见分区第一扇区偏移73处的B90100修改为B90200  。
3. 再将U盘MBR(即非分区空间)第二扇区偏移74位置的B90100修改为B90200!

[ 本帖最后由 天涯海角1216 于 2009-11-9 05:52 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2009-11-11 22:56:21 | 显示全部楼层

回复 #61 chengf 的帖子

过程:
1.  安装FBINST的U盘。
2.  用WINHEX.EXE将FBINST的MBR部分第一扇区偏移60开始到该扇区结束部分写入到可见分区启动扇区第一扇区偏移60处(对应位置),  且将该分区启动扇区偏移00处写为EB5E(对于FAT32分区原来是EB58)
3.  再安装PloP Boot Manage 。
4。再将剪贴板的数据回写到MBR第一扇区60处(覆盖部分没事,这样简便了)。
5.  在PloP Boot Manage 下启动HD0即可启动FBINST  !
回复

使用道具 举报

 楼主| 发表于 2009-11-11 22:59:42 | 显示全部楼层

回复 #61 chengf 的帖子

你的两启动U盘是什么方式?
详细说一下!
回复

使用道具 举报

 楼主| 发表于 2009-11-12 05:47:38 | 显示全部楼层
原帖由 chengf 于 2009-11-11 23:54 发表
好的,明天我试下,再向你请教。两启就是你的HDD+  FBINST。你还没说你用的是什么PE,怎样制作到U盘?

PE是无所谓的,我用的是盛世雄风3.0的,可见分区启动的。

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的启动方式!

一定要按照顺序,不能错!!!
回复

使用道具 举报

 楼主| 发表于 2009-11-12 10:01:42 | 显示全部楼层

回复 #67 chengf 的帖子

看你写入的是正确的!
我又用我的1G 的 U盘试了一下,很正常的!

你做个检测:
HDD+不变,可见分区写入GRUB4DOS,文件名为NTLDR试试!
看能否启动可见分区的PE,若能,说明可以启动分区;若不能,则说明HDD+没读到可见分区启动扇区!
然后再反馈!
回复

使用道具 举报

 楼主| 发表于 2009-11-12 10:47:41 | 显示全部楼层
找回FBINST菜单倒比较容易,将FBINST的MBR全写入MBR第一扇区即可!

你是量产的两个区?
回复

使用道具 举报

 楼主| 发表于 2009-11-12 13:44:48 | 显示全部楼层
原帖由 chengf 于 2009-11-12 10:52 发表
我是量产两个区,PE都是装在前一个区的,U盘启动一直正常的,对MBR是一无所知,但对PE启动\FBINST大致是了解的。
前述所有的所有操作是在对前一个区的。我的问题是不是出在主引导和分区引导的问题上?

你的双重的意思不会是一种MBR启动不了,再把MBR改写一次从而实现“双重”的启动吧?


是这个意思!
你得确认电脑启动到底是哪个区?
然后改编启动得这个区试试!
而且该分区要是激活的主分区!
回复

使用道具 举报

 楼主| 发表于 2009-11-12 13:48:09 | 显示全部楼层

回复 #72 kenan01 的帖子

呵呵!
上面是假设的猜想。后面是实际操作!

完整的方案有2种,看:
http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1
回复

使用道具 举报

 楼主| 发表于 2009-11-12 14:35:19 | 显示全部楼层

回复 #75 chengf 的帖子

你量产的两个区的U盘是可以都激活的,因为电脑的BIOS把该U盘当成2个独立的U盘了,只是启动时,BIOS会默认启动一个的!
所以你要确认电脑默认启动的哪一个呀!
回复

使用道具 举报

 楼主| 发表于 2009-11-12 17:57:28 | 显示全部楼层

回复 #75 chengf 的帖子

或者你用其他的单分区U盘试试,应该没有问题的!
双分区的U盘我真的还没试过的!
回复

使用道具 举报

 楼主| 发表于 2009-11-12 21:39:59 | 显示全部楼层

回复 #78 chengf 的帖子

呵呵!
终于成功了!
因为HDD+  +  FBINST是调用分区启动扇区,你原来的分区启动扇区是NTLDR引导,即引导PE文件,而双重MBR后,分区启动扇区被我用FBINST的MBR覆盖,当然经过:HDD+   >    FBINST( 分区扇区)不会再有NTLDR引导了呀!
你再用GRLDR启动PE就是了!
回复

使用道具 举报

 楼主| 发表于 2009-11-12 22:33:27 | 显示全部楼层

回复 #81 chengf 的帖子

1.不要再安装GRUB了,因为HDD+  +  FBINST或PloP Boot Manage + FBINST都会启动到FBINST菜单,
再FBINST菜单里写入:
timeout 3
default 0
color red
text "                         Please choose menu"
color red
text "                         ---------------------------"
color green
text "                          Press F1 > GRLDR"
menu F1 grldr "grldr"
color red
text "                          ---------------------------"
color green
text "                          Press F2 > SYSLINUX"
menu F2 syslinux "syslinux.MBR"
color red
text "                         -----------------------------"
color green
text "                          Press F3 > MSDOS 7.1"
menu F3 msdos "io.sys"
text "                          ---------------------"
text "                          Press F4 > SSXFLDR-PE"
menu F4 grldr "SSXFLDR"

其中F4是启动PE的,将SSXFLDR导入FBINST分区即可,或用GRLDR的菜单启动也可呀!
2.如果你分区启动扇区写入的是FBINST的MBR,就可以直接启动FBINST了,是先启动HDD再FBINST的!
回复

使用道具 举报

 楼主| 发表于 2009-12-24 08:58:31 | 显示全部楼层

回复 #88 xiaoyuan0417 的帖子

呵呵,这也不是万能的!
我试过有的机子不能FBINST启动,则可以先HDD+,再FBINST的。
回复

使用道具 举报

 楼主| 发表于 2010-1-7 14:13:44 | 显示全部楼层

回复 #91 xiaoyuan0417 的帖子

不可以!
顺序为 HDD+ > FBINST,是先后的顺序。
至于FBINST能启动的,就直接FBINST了,不需要HDD++FBINST 了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-11-18 17:30

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表