MBR中的一点问题

zfqj 2003-09-11 02:12:48
0000:004F 884E10 mov [bp+10],cl
0000:0052 E84600 call 009B ;read DBR
0000:0055 732A jnb 0081

0000:0057 FE4610 inc byte ptr [bp+10]
0000:005A 807E040B cmp byte ptr [bp+04],0B ;FAT32
0000:005E 740B je 006B
0000:0060 807E040C cmp byte ptr [bp+04],0C ;FAT32
0000:0064 7405 je 006B
0000:0066 A0B607 mov al,[07B6]
0000:0069 75D2 jne 003D

0000:006B 80460206 add byte ptr [bp+02],06
0000:006F 83460806 add word ptr [bp+08],0006
0000:0073 83560A00 adc word ptr [bp+0A],0000
0000:0077 E82100 call 009B
0000:007A 7305 jnb 0081 ;successful
0000:007C A0B607 mov al,[07B6] ;error
0000:007F EBBC jmp 003D

0000:0081 813EFE7D55AA cmp word ptr [7DFE],AA55
0000:0087 740B je 0094
0000:0089 807E1000 cmp byte ptr [bp+10],00
0000:008D 74C8 je 0057
0000:008F A0B707 mov al,[07B7]
0000:0092 EBA9 jmp 003D

0000:0094 8BFC mov di,sp ;sp=7C00
0000:0096 1E push ds
0000:0097 57 push di ;di=7C00
0000:0098 8BF5 mov si,bp
0000:009A CB retf

从0000:006B那边3句不是很懂,为什么要把分区起始地址加6?求解答。
...全文
107 49 打赏 收藏 转发到动态 举报
写回复
用AI写文章
49 条回复
切换为时间正序
请发表友善的回复…
发表回复
zfqj 2003-09-17
  • 打赏
  • 举报
回复
不过我想XP安装自己的MBR应该只是为了更适合启动自己的系统吧,如果换成其他的MBR应该也能很好的启动系统。
W32API 2003-09-17
  • 打赏
  • 举报
回复
只安装 XP 系统的我就不清楚了。
之前,在 XP 刚出来的时候。
我有朋友安装了 2K 和 XP 的双系统,
在 2K 下没有访问 XP 系统盘的权限。。。也许会与这个有关。。。
Areslee 2003-09-17
  • 打赏
  • 举报
回复
?难道有什么从硬盘启动的OS可以不用MBR吗?
cnzhzy 2003-09-17
  • 打赏
  • 举报
回复
安装XP会修改MBR吗?如果XP安装在C分区呢?XP在计算机启动后加载时会用到MBR吗?
zfqj 2003-09-17
  • 打赏
  • 举报
回复
学习学习嘛!我想写一个图形界面的多系统启动,加上鼠标的操作,不知道需要掌握些什么资料.
Areslee 2003-09-17
  • 打赏
  • 举报
回复
也许吧
zfqj 2003-09-16
  • 打赏
  • 举报
回复
是不是安装系统的时候,操作系统会安装自己的MBR?
应该是的吧.
Areslee 2003-09-16
  • 打赏
  • 举报
回复
偶马上看看偶的MBR
偶的系统是C:98 E:2K I:XP
giantzz 2003-09-16
  • 打赏
  • 举报
回复
易水这回知道了吧,还说有病毒,不要把贴主吓到了。
只要你最后安的是XP,那么情况就差不多少.
to zfqj(风子清):
MBR好多呢,看的过来吗,看那么多有什么意义吗?根据自己的需要写就OK了.
zfqj 2003-09-16
  • 打赏
  • 举报
回复
HOHO,不知道各位有没有其他版本的MBR,发上来给我看看,好跟这个XP的
MBR比较一下,有利于我写多系统引导菜单.
xiaohedou 2003-09-16
  • 打赏
  • 举报
回复
汇编语言有这么多高手!
W32API 2003-09-16
  • 打赏
  • 举报
回复
不是说 XP 更改了 MBR 的嘛。。。
Areslee 2003-09-16
  • 打赏
  • 举报
回复
晕!我的MBR还真是这样的,看来有8成是XP干的好事
Areslee 2003-09-15
  • 打赏
  • 举报
回复
当然有问题,MBR是不需要检查DBR是什么文件系统的,DBR的第一个扇区不够用的话应该由DBR自己装入其他的部分。
FAT32的DBR的第二部分就在第6个扇区上
giantzz 2003-09-15
  • 打赏
  • 举报
回复
易水分析过贴主的那种情况吗?
这个MBR程序是在C区[主分区]装了98,D盘[逻辑盘]装了XP之后读取的
Areslee 2003-09-15
  • 打赏
  • 举报
回复
我好歹也分析过几个MBR,没见过与FS相关的
zfqj 2003-09-15
  • 打赏
  • 举报
回复
我上面说过了啊,是我直接读取硬盘零扇区得到的啊,然后我反编译一下啊.
我的电脑一直很正常啊,没见有什么病毒啊,启动也很正常啊.这段代码没问题吧.
Areslee 2003-09-15
  • 打赏
  • 举报
回复
不是,你这段代码从哪里来的,肯定来源有问题
zfqj 2003-09-15
  • 打赏
  • 举报
回复
FAT32的DBR的第二部分就在第6个扇区上
原来如此,这下有点明白。
易水:
是不是这个MBR先读取第一个扇区,成功的话就结束,不成功则判断如果是FAT32就尝试读取6扇区,这是不是为了增加启动系统可能性,使其能够在0扇区读取异常的情况下都能启动windows。
giantzz 2003-09-14
  • 打赏
  • 举报
回复
那个看到过,谢谢
加载更多回复(29)

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧