diskedit(dos下的磁盘编辑工具)的写硬盘扇区的方式是什么?

zhgwbzhd 2006-03-28 10:09:25
我估计是利用中断13,因为我使用的版本最大只能看到8G的硬盘扇区。
可是我觉得又不完全正确,希望有研究的朋友指点。
...全文
388 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
那是因为还原卡的ROM在BOOT的时候把原来的INT 13替换了。
你调用INT 13的时候,还原卡的软件可以决定执行还是不执行。
zhgwbzhd 2006-03-28
  • 打赏
  • 举报
回复
是呀,我也这么认为的,可是我觉得不可思议的是,因为机器安装了还原卡,使用他就可以把MBR的内容覆盖成其他的内容,虽然重新启动之后就给还原了。可是我使用int13的3号功能直接写MBR,就写不成功。不知为什么。
zara 2006-03-28
  • 打赏
  • 举报
回复
只能看到 8G 的硬盘? 那可能是比较早期的软件, 采用的是 CHS 方式的 int13h 来进行的. 即使是采用 int13h, 使用扩展的读写功能, 是可以访问任意大小的
zhgwbzhd 2006-03-28
  • 打赏
  • 举报
回复
算了,方正用着挺怪的,在某种情况下,diskedit又不能写回去(当时看是没有被修改),有些时候就可以写回去(当时看是被修改了)。不弄了。
  • 打赏
  • 举报
回复
对。
diskedit正常情况下是不使用直接磁盘I/O的,要进入之后选中Advanced Recovery Mode才行。
也许diskedit使用了INT 25h和INT 26h?
你试试diskedit /m能不能被还原。
zhgwbzhd 2006-03-28
  • 打赏
  • 举报
回复
可是我认为,diskedit没有使用io对硬盘进行写,因为我是用io对硬盘写,还原卡是不起作用的。但是diskedit写硬盘,是可以被还原的。所以推测是通过int13写的。但是我调用了int13对硬盘写,又不能直接显示出来,单diskedit确又能显示出来,有点迷惑。
  • 打赏
  • 举报
回复
1. diskedit支持raw模式,可以直接通过端口访问IDE,证据就是在系统中没列出来的硬盘它也能发现。
2. INT 40h是BIOS的原始INT 13h入口(如果没被修改的话)。
zhgwbzhd 2006-03-28
  • 打赏
  • 举报
回复
那还原卡还能那么智能的判断,使我调用的int13还是diskedit调用的int13?所以说我认为diskedit可能也调用int13,但是那可能还使用了什么其他的手段,使当时有效了。

21,459

社区成员

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

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