现在我正在使用IDE硬盘并且能够使用BIOS调用进行访问,甚至可以使用LBA 28直接硬件使用PIO模式而无需任何O.S.呼叫。 现在我购买了新的SATA 500 GB硬盘,它是我唯一连接到SATA 1端口的硬盘。我的BIOS显示为第3主硬盘,主要和辅助主机不存在。 现在我已经在第一个分区上安装了MS DOS 5.0,运行正常。 但是现在我只能使用DOS INT 25h从逻辑扇区0开始读取硬盘扇区。这意味着我无法读取包括主引导记录在内的任何隐藏扇区。 当我使用BIOS int 13H调用使用驱动器80H读取硬盘时,它不会返回任何错误,但什么都不读。如果我使用驱动器83H它给驱动器不存在错误。如果我使用DOS功能,我可以访问我的硬盘驱动器作为驱动器c(驱动器2)但不能用于读取MBR。 如果我将使用MS扩展名为int 13H我必须知道BIOS驱动器号。 任何人都可以告诉我如何找到驱动器号码。第三大师硬盘? 或者在兼容模式下使用LBA 40(01f0无效)来使用哪个端口来访问硬盘?
答案 0 :(得分:0)
Ralf Brown's Interrupt List建议挂接INT 13h并调用INT 25h以查看MS-DOS使用的BIOS驱动器号:
一种检测逻辑驱动器号的实际分配的方法 物理BIOS驱动器单元(例如,检测启动驱动器), 是临时安装INT 13h处理程序记录使用过的DL 驱动单元用于任何INT 13 / AH = 02h读取操作并丢弃任何 尝试访问实际的软盘驱动器。然后拨打INT 25h 所有适当的DOS驱动器并观察记录的结果 INT 13h拦截器。