[求助] winhex的MBR 十六进制中字母加一的疑惑

[复制链接]
  • TA的每日心情
    开心
    2019-1-7 12:27
  • 签到天数: 4 天

    [LV.2]九品芝麻官

    发表于 2018-12-2 16:53:25 | 显示全部楼层 |阅读模式
    本帖最后由 ziluopao 于 2018-12-2 16:54 编辑

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

    那么问题来了,这里的FF+1等于多少呢
  • TA的每日心情
    擦汗
    2018-5-18 22:56
  • 签到天数: 609 天

    [LV.9]二品侍郎

    发表于 2018-12-2 18:16:37 | 显示全部楼层
    0x3c007ff+1=0x3C00800
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-1-31 15:03
  • 签到天数: 41 天

    [LV.5]六品通判

    发表于 2018-12-3 07:31:13 | 显示全部楼层
    进位啊,高位进一
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    7 天前
  • 签到天数: 25 天

    [LV.4]七品知县

    发表于 2020-9-3 01:38:02 | 显示全部楼层
    2#说的对,谢谢!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    昨天 08:30
  • 签到天数: 26 天

    [LV.4]七品知县

    发表于 2020-9-3 07:59:45 | 显示全部楼层
    这个是NTFS分区才这么操作

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

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

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

    另外,Windows文件系统基本都是倒序填写。所以FF 07 C0 03,实际十六进制就是3C007FF,转换为十进制再加1
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

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