ziluopao 发表于 2018-12-2 16:53:25

winhex的MBR 十六进制中字母加一的疑惑

本帖最后由 ziluopao 于 2018-12-2 16:54 编辑

在winhex中经常要计算MBR和DBR的关系,比如在DBR中查到某分区的容量数是FF 07 C0 03,当写在mbr中时 要把FF加上1

那么问题来了,这里的FF+1等于多少呢

scq330 发表于 2018-12-2 18:16:37

0x3c007ff+1=0x3C00800

帝君 发表于 2018-12-3 07:31:13

进位啊,高位进一

xjpeng100 发表于 2020-9-3 01:38:02

2#说的对,谢谢!

futurestar 发表于 2020-9-3 07:59:45

这个是NTFS分区才这么操作

因为NTFS的DBR描述自己的大小,是不包括引导$Boot的第一个扇区的备份

但是分区表(MBR或者GPT都一样)却包括备份的信息。所以如果从DBR中获取的大小,就需要在分区表里面+1

实际上,是需要十六进制转换为十进制。如果直接从DBR的模板中复制数据,或者从数据转换中复制的十进制,直接加1填到分区表就可以了。如果不是,就需要手工转换

另外,Windows文件系统基本都是倒序填写。所以FF 07 C0 03,实际十六进制就是3C007FF,转换为十进制再加1
页: [1]
查看完整版本: winhex的MBR 十六进制中字母加一的疑惑