Microsoft Knowledge Base Article
This article contents is Microsoft Copyrighted material.
©2005-©2007 Microsoft Corporation. All rights reserved.
Terms
of Use |
Trademarks
Article ID: 140732 - Last Review: May 24, 2004 - Revision: 1.1
PRB: Windows 95 Doesn't Load SCSI Miniport Driver
This article was previously published under Q140732
Hardware vendors developing a Microsoft SCSI miniport driver may find that
their miniport will not load under Windows 95 when the SCSI adapter's BIOS
is enabled. Ios.log shows the following listing:
UnKnown int 13 hooker MBRINT13
The Windows 95 I/O Supervisor (Ios.vxd) attempts to detect unsafe INT 13h
hookers during Windows 95 initialization. Part of this detection mechanism
is an attempt to detect INT 13h hooks that were installed by a modified
Master Boot Record (MBR). MBR INT 13h hooks are usually installed by disk
utilities that perform services such as disk compression or encryption,
which make it unsafe for Windows 95 to take over control of the disk using
32-bit disk drivers. MBR INT 13h hookers may also be installed by certain
viruses.
Under certain circumstances, it is possible for IOS to treat the INT 13h
handler installed by a SCSI BIOS as an unsafe MBR INT 13h hooker. This
occurs when the BIOS allocates system RAM and moves its INT 13h entry point
into this memory. The INT 13h hook is treated as an unsafe MBR INT 13h hook
because it lies at an address below A000:0000h in RAM, rather than above
A000:0000h in what is assumed to be ROM.
IOS tries to detect when a BIOS has installed an INT 13h handler by
examining the code in the handler's entry point. It looks for code sequences
that jump directly to an address above A000:0000h. Specifically, it looks
for the following five code sequences to call or jump to an address above
A000:0000h:
push ds
push cs
pop ds
jmp xxxx:yyyy
push ds
push cs
pop ds
jmp dword ptr [MyFunc]
push ds
push cs
pop ds
call dword ptr [MyFunc]
SCSI miniport developers who are encountering this problem should modify
their INT 13h entry point to use one of the above code sequences, and thus
allow IOS to load their miniport driver.
This behavior is by design.
APPLIES TO
- Microsoft Win32 Device Driver Kit for Windows 2000
Retired KB Content DisclaimerThis article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
Community Feedback System
Very often, it takes hours to solve a problem. Very often, you've looked high
and low, and have tried a lot of solutions. When you finally found it, chances
are, it was because someone else helped you. Here's your chance to give back.
Use our community feedback tool to let others know what worked for you and what
didn't.
Please also understand that the community feedback system is not warranted to be
correct, it's simply a system that we've built to let people try and help each
other. If something in a feedback response doesn't make sense to you, or you're
not comfortable making changes that the feedback talks about (like registry
edits), please consult a professional.
Thank you for using kbAlertz.com Feedback System.
-- Scott Cate