我们可以使用的Int13h(直接盘read/write)在Windows操作系统或没有窗的保护模式不允许我们,如果是,是否有工作?在此先感谢。

有帮助吗?

解决方案

没有,在Windows子系统,在启动过程中初始化,会重新配置BIOS中断处理的内核作为BIOS调用是16位,而不是保护模式,因而INT 13H将是无效的。这就是为什么有这是在32位保护模式,它完全绕过BIOS编写的驱动程序。

这引出了一个问题 - 为什么你想这样做?

Windows将在任何试图与BIOS沟通杀了你的代码,如果说“嘿,你的代码,你跟我作为Windows老大,你无法绕过我,mwuah哈哈的<强> 不踩OUTSIDE MY DOMAIN ”。

的唯一时间INT 13h中,将使用将是在引导过程中阶段窗口加载之前或者如果正在使用MSDOS作为系统即没有窗户,只是启动进入MSDOS,则INT 13H将是有效的使用。在这两种情况下,它们将是16位模式,因此BIOS将是可访问的。

有一个共同的中断器0x2E我相信,这是内核的系统调用,据我所知。

总之,我不会建议试图绕过Windows系统,这就是为什么有一个司机为你做的,你会关闭互动与司机更好的磁盘I的一部分,这样的事情/ O子系统,让那为您处理它。

其他提示

使用正确的权限(管理员有它们)时,可以使用的Win32的CreateFile和相关函数直接访问物理驱动器和逻辑分区。请参阅 MSDN 文档。

正如其他人已经提到的这不会有效,除非你使用的16位MSDOS,但是如果你是一个32位系统和有 debug.exe 你可以试试自己。(你可能会崩溃你的OS!) 只是输入命令传斧头,等等。int13h等。然后,执行它。

诠释13H无法在Windows 尝试工作

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top