阅读:2106回复:9
SCSI miniport 驱动启动时报inaccessible_boot_device
各位大虾, 我现在在做scsi miniport驱动。
windows2000就在我的scsi 卡上启动(测试时没有ide硬盘)。 我设置我的驱动在第0级启动(在disk.sys之前)。 启动后检测到windows有几次读取磁盘的操作。但在全部第0级驱动装入后,windows2000会报 inaccessible_boot_device ,这是什么回事了? 难道是我的驱动又给临时性卸载了吗? |
|
|
沙发#
发布于:2004-11-07 10:12
关注.....
|
|
|
板凳#
发布于:2004-11-08 10:19
你试试看把disk.sys提前,或者把scsi miniport往后挪一点,scsi的启动要再disk后面才行。
|
|
地板#
发布于:2004-11-08 22:48
tennychen, 你的建议是倒过来了吗?
scsi miniport不是应该在disk.sys之前启动的吗? 如果我是从ide中启动,那么我的scsi磁盘工作得很正常. 但如果拨掉ide硬盘, 直接从scsi 磁盘启动,就会报inaccessible_boot_device了. 我的系统结构是: disk.sys | disk lower filter | scsi miniport 我在disk lower filter中拦截到的IRP_MN_QUERY_DEVICE_RELATIONS的BusRelations中,发现Count都是0,跟这个有关系吗? 在disk lower filter中拦截到的这个PNP, 当我转发到下层的scsi miniport时, 这时在scsi miniport中表现startio中对应的什么例程呢? 如果我想在disk lower filter中直接完成IRP_MN_QUERY_DEVICE_RELATIONS, 那我该怎样做? |
|
|
地下室#
发布于:2004-11-09 14:05
这只是我的建议,因为我以前也遇到过类似的问题,倒过来试试看而已,但是我感觉因为你从ide起来正常,可能不是这个原因,是不是你的scsi的service start不是0啊?实在不行就用softice看看就知道了,看看你的scsiservice 有没有活动
|
|
5楼#
发布于:2004-11-09 17:50
我的driver有启动的, 而且在 蓝屏之前 执行了几次读磁盘。
它读了几次MBR,也执行了几次ReadCapacity, 我在scsi miniport中设置 srb_function_claim/release_device返回 srb_status_success, 但都一样蓝屏 |
|
|
6楼#
发布于:2004-11-10 09:24
那你还是试试看吧scsi miniport group往后挪挪看,换到disk的scsi class 后面吧,只有这些原因了
|
|
7楼#
发布于:2004-11-10 11:25
试过了,还是不行.
我在scsiminiport中也处理了mode_sense了,但还是老样子. terrychen兄能联系一下我, 指点一下吗? |
|
|
8楼#
发布于:2004-11-10 12:05
试过了,还是不行. 你要处理什么功能? disk.sys | disk lower filter | scsi miniport 如果你complete ,那么scsi miniport将不能得到处理,你是否确保你的驱动complete是正确的? 那些scsi命令处理起来很麻烦,你是否按照scsi规范去正确处理了,并且处理完整了呢? |
|
|
9楼#
发布于:2004-11-10 14:01
问一个简单的问题,你的scsi硬盘上的os能起来么?还有你修改的这些值是修改在scsi硬盘上么?
我的msn:klos@263.net |
|