个人理解,U盘第一个扇区有可能是DBR,也有可能是MBR 如果是DBR,直接读取分区DBR信息就可以了 如果是MBR,需要读取分区信息,找到分区所在的扇区,然后再读取DBR信息
不知道理解的对不对 如果对的话,那如何来判断第一个扇区是DBR还是MBR?
个人理解,U盘第一个扇区有可能是DBR,也有可能是MBR 如果是DBR,直接读取分区DBR信息就可以了 如果是MBR,需要读取分区信息,找到分区所在的扇区,然后再读取DBR信息
不知道理解的对不对 如果对的话,那如何来判断第一个扇区是DBR还是MBR?
理解是正确的,MBR开始的几个字节数据与DBR是不同的,除此之外还有好些地方。你比较一下这两个扇区的数据
刚才看了一下 MBR中跳转指令为 0XEB 0X58 0X90 DBR中跳转指令为 0XEB 0X3C 0X90 MBR中接下来为 “RISINGAV” DBR中接下来为 “MSDOS5.0” 依靠判断字符串可以么
MBR刚开始的数据是33 C0 DBR刚开始的数据为EB 58 在MBR中会有主分区的地址,和扩展分区的分区表的地址,你根据这个就可以判断每个逻辑盘的DBR
按照你上面是错的,在MBR里面会出现扩展分区的说明,而在DBR里面是不会出现这个部分的。
啊 如此这般,这般如此 糊涂了 刚才看了一下微软的FAT32说明,也没有说 难道要分析X86的汇编语言?
你实际判断的时候只需要去判断你的第0号扇区里面在扩展分区的位置看下是不是你的第一个逻辑分区,如果是的话,那就说明是MBR,否则就是DBR
是不是MBR不一定要有引导码? 我手头了一个U盘格式化了之后,在零扇区有分区表,但引导码部分全部是零。