无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
打印 上一主题 下一主题

【原创 无忧首发】硬盘版 fbinst +1JF11 等多类型双重mbr系列

  [复制链接]
31#
发表于 2010-8-3 15:11:18 | 只看该作者
你把从 0B3B:0148 处改为 JMP 0:7c00 试试。
回复

使用道具 举报

32#
发表于 2010-8-3 15:19:54 | 只看该作者
最后三条指令有问题?RETF执行后,弹出CS:BP的入栈值作为程序的入口,也就是CS:0005到CS:0000之间,即使程序入口不出错,AX值为AA55,本程序入口的AX对SS和ES赋值,将会引起大错!

[ 本帖最后由 lvyanan 于 2010-8-3 15:26 编辑 ]
回复

使用道具 举报

33#
 楼主| 发表于 2010-8-3 15:32:45 | 只看该作者
谢谢 lvyanan 老师和 canmao !

直接去掉,修改为EA 00 7C 00 00 ,启动成功!
回复

使用道具 举报

34#
 楼主| 发表于 2010-8-3 15:38:18 | 只看该作者
再贴一下:

0B3B:0100 FA                 CLI
0B3B:0101 31C0              XOR     AX,AX
0B3B:0103 8ED0              MOV     SS,AX
0B3B:0105 8EC0              MOV     ES,AX
0B3B:0107 8ED8              MOV     DS,AX
0B3B:0109 BC007C           MOV     SP,7C00
0B3B:010C 89E3              MOV     BX,SP
0B3B:010E 89E6              MOV     SI,SP
0B3B:0110 BF0006           MOV     DI,0600
0B3B:0113 B90001           MOV     CX,0100
0B3B:0116 FB                  STI
0B3B:0117 FC                  CLD
0B3B:0118 F3                  REPZ
0B3B:0119 A5                  MOVSW
0B3B:011A EA1F060000    JMP     0000:061F
0B3B:011F 41                  INC     CX
0B3B:0120 41                  INC     CX
0B3B:0121 30F6               XOR     DH,DH
0B3B:0123 BD0500           MOV     BP,0005
0B3B:0126 B80102           MOV     AX,0201
0B3B:0129 CD13              INT     13
0B3B:012B 7313              JNB     0140
0B3B:012D 4D                 DEC     BP
0B3B:012E 75F6              JNZ     0126
0B3B:0130 BE6006           MOV     SI,0660
0B3B:0133 BF607C           MOV     DI,7C60
0B3B:0136 B9D000          MOV     CX,00D0
0B3B:0139 F3                  REPZ
0B3B:013A A5                 MOVSW
0B3B:013B EA607C0000   JMP     0000:7C60
0B3B:0140 A1FE7D          MOV     AX,[7DFE]
0B3B:0143 3D55AA          CMP     AX,AA55
0B3B:0146 75E8              JNZ     0130
0B3B:0148 EA007C0000   JMP     0000:7C0000
回复

使用道具 举报

35#
发表于 2010-8-3 15:54:00 | 只看该作者
#32 & #33:

原代码犯了一个低级错误:应该是 push BX ,而不是 push BP。

29楼代码已更正。你可以再试一下。

[ 本帖最后由 canmao 于 2010-8-3 16:02 编辑 ]
回复

使用道具 举报

36#
发表于 2010-8-3 17:01:56 | 只看该作者
再贴一段代码:
  1. :0100 FA           CLI
  2. :0101 0E           PUSH CS
  3. :0102 1F           POP DS
  4. :0103 0E           PUSH CS
  5. :0104 07           POP ES
  6. :0105 0E           PUSH CS
  7. :0106 17           POP SS
  8. :0107 BC007C    MOV SP, 7C00
  9. :010A 89E3       MOV BX, SP
  10. :010C 89E6       MOV SI, SP
  11. :010E BF0006    MOV DI, 0600
  12. :0111 B90001    MOV CX, 0100
  13. :0114 FB           STI
  14. :0115 FC           CLD
  15. :0116 F3           REPZ
  16. :0117 A5           MOVSW
  17. :0118 0E           PUSH CS
  18. :0119 681D06    PUSH 061D           ;在dos的debug下不能正常显示
  19. :011C CB           RETF
  20. :011D 41           INC CX
  21. :011E 41           INC CX
  22. :011F 30F6        XOR DH, DH
  23. :0121 BD0500    MOV BP, 0005
  24. :0124 B80102    MOV AX, 0201
  25. :0127 CD13       INT 13
  26. :0129 7314       JNB 003F
  27. :012B 4D          DEC BP
  28. :012C 75F6       JNE 0024
  29. :012E BE6006    MOV SI, 0660
  30. :0131 BF607C    MOV DI, 7C60
  31. :0134 B9D000    MOV CX, 00D0
  32. :0137 FC           CLD
  33. :0138 F3           REPZ
  34. :0139 A5          MOVSW
  35. :013A 0E          PUSH CS
  36. :013B 68607C   PUSH 7C60           ;在dos的debug下不能正常显示
  37. :013E CB          RETF
  38. :013F A1FE7D   MOV AX, WORD PTR [7DFE]
  39. :0142 3D55AA  CMP AX, AA55
  40. :0145 75E7      JNE 002E
  41. :0147 0E          PUSH CS
  42. :0148 53          PUSH BX
  43. :0149 CB          RETF
复制代码
这段代码最大的好处,就是可在debug下进行仿真调试。

[ 本帖最后由 canmao 于 2010-8-3 17:10 编辑 ]
回复

使用道具 举报

37#
 楼主| 发表于 2010-8-3 19:04:59 | 只看该作者

回复 #36 canmao 的帖子

我测试一切正常,默认从2扇启动,2扇区无引导程序,标志为2扇区最后55AA,则从1扇区偏移0x60开始执行。

高手!

非常感谢!
回复

使用道具 举报

38#
发表于 2010-8-3 20:05:42 | 只看该作者

回复 #37 天涯海角1216 的帖子

看你的回帖,我总觉得自己的代码写错了。我的代码的逻辑是:

默认从2扇启动,如果 2扇读错误 或 2扇不以55、AA结尾,则从1扇区偏移0x60开始执行。

另外:36楼的代码是有风险的。比如:bios 自举后转交控制给 MBR 的指令为:

JMP 7C0:0

36楼代码就注定挂掉,而29楼代码安然无恙。
回复

使用道具 举报

39#
 楼主| 发表于 2010-8-3 20:22:13 | 只看该作者

回复 #38 canmao 的帖子

很好的!很欣赏你的水平!

在我的硬盘上安装 fbinst 的 mbr ,而其代码是从1扇的 60h 开始执行的,所以默认启动2扇的其他MBR,若2扇没有引导,则从1扇的 60h 执行 fbinst
回复

使用道具 举报

40#
发表于 2010-8-3 20:46:52 | 只看该作者
能得到您的欣赏,俺很荣幸。

[ 本帖最后由 canmao 于 2010-8-3 20:48 编辑 ]
回复

使用道具 举报

41#
 楼主| 发表于 2010-8-4 06:15:14 | 只看该作者

回复 #40 canmao 的帖子

你太谦虚了!
其实你是本坛为数不多的MBR引导方面的高手,完全可以自己写出独到的MBR来的!
回复

使用道具 举报

42#
发表于 2010-8-4 16:39:45 | 只看该作者
可惜了,我是菜鸟了还没法看懂了。很是高深的感觉了!!
回复

使用道具 举报

43#
发表于 2010-8-4 18:30:13 | 只看该作者
原帖由 天涯海角1216 于 2010-7-20 17:37 发表
说明:启动后自动定向第2扇区的MBR,第2扇区可以是任意类型MBR或某分区PBR(该分区需可启动)。

优点:有的朋友经常写MBR,经常重复写在第1扇区,担心第1扇区的磁介质老化,用此MBR后,你就在第2扇区折腾吧, ...


想请天涯兄台看看这个PDR有什么问题没有?
不知从何时起,电脑分区D:(NTFS)只有在win7下才正常,在XP下显示为RAW格式,不知与PDR(我也不知这个是不是所谓的PDR,反正是D:分区的第一扇区)有关系没有?
虽然现有用的系统是WIN7一切正常,但怕哪一天忽然不正常了就麻烦了。
未命名.rar (569 Bytes, 下载次数: 92)
附件MD5:15308F408CD0D355EFD901D1AF68526F
回复

使用道具 举报

44#
 楼主| 发表于 2010-8-4 18:46:11 | 只看该作者

回复 #43 LOVPE 的帖子

我看了,感觉你的分区PBR没问题的,或者找 lvyanan 老师问问,呵呵
回复

使用道具 举报

45#
发表于 2010-8-4 18:50:20 | 只看该作者
有创意!真是太有才了!
回复

使用道具 举报

46#
发表于 2010-9-9 08:30:29 | 只看该作者
楼主,我想在一个移动硬盘上,搭建移动的Linux,看了您的不少帖子,学习了很多东西,想问您一下,在win7里,通过编辑bcdedit 来实现引导有点麻烦,再有就是移植性不好,您看有没有什么好的引导程序,简单明了地引导我的PORTABALE LINUX!
论坛里的很多帖子都很有技术,我现在需要简单的一个引导程序就可以了,以后可以继续深入学习,感觉大家都在朝多功能、复杂化钻研。
谢谢您!向您学习。
回复

使用道具 举报

47#
 楼主| 发表于 2010-9-9 08:40:26 | 只看该作者

回复 #46 2010mayiqiji 的帖子

哦,PORTABALE LINUX 我没用过,所以也清楚是怎么引导的,呵呵
回复

使用道具 举报

48#
发表于 2010-11-25 21:08:54 | 只看该作者
没看完帖子下载了附件
WDC-160G-1JF11+FBINST(Pauly 版).rar
bootice恢复WDC-160G-1JF11+FBINST(Pauly 版).BIN不能引导
用diskgenius清除mbr回来
这个附件是否更新一下
回复

使用道具 举报

49#
 楼主| 发表于 2010-11-25 21:32:34 | 只看该作者

回复 #48 zlgs 的帖子

你需要将此文件按1楼的第三副图修改为你需要启动的分区!
回复

使用道具 举报

50#
发表于 2010-11-26 21:46:48 | 只看该作者
楼主高才,佩服之极!!!!
回复

使用道具 举报

51#
发表于 2010-11-28 19:33:19 | 只看该作者
这个研究好了,做启动U盘就很容易啦。
回复

使用道具 举报

52#
发表于 2010-11-28 20:05:06 | 只看该作者
天涯海角兄你太有你才了我想我想问个问题,就是分区间距一般都是31.5kb也就是63个扇区可是我的硬盘的分区间距的其中一个是33.5kb也就是67个扇区怎样才能用winhex改回到63个扇区呢?谢谢
回复

使用道具 举报

53#
发表于 2010-12-14 21:39:18 | 只看该作者
楼主,你发的东西太深奥了,我都看不懂!
回复

使用道具 举报

54#
发表于 2010-12-17 15:02:22 | 只看该作者
呵呵 不错!!!
回复

使用道具 举报

55#
发表于 2010-12-19 12:57:29 | 只看该作者
楼主用什么软件显示的扇区代码啊?
回复

使用道具 举报

56#
发表于 2012-8-6 14:50:56 | 只看该作者
恩恩,学习了。。。。谢谢楼主
回复

使用道具 举报

57#
发表于 2012-8-7 07:56:05 | 只看该作者
顶给有需要的人吧~~创意无限啊!
回复

使用道具 举报

58#
发表于 2012-8-7 08:22:17 | 只看该作者
支持                   顶
回复

使用道具 举报

59#
发表于 2012-8-7 12:05:56 | 只看该作者
好深奥,不过认真学习一下,非常感谢你的分享
回复

使用道具 举报

60#
发表于 2016-1-13 13:59:47 | 只看该作者
佩服!有空折腾下硬盘
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-30 19:06

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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