INACCESSIBLE_BOOT_DEVICE

Hi,
My driver is Class volume upperfilter. In addition, I install a pseudo
device that is root enumerated which is also handled by my driver (my driver
is the pseudo device function driver). The pseudo device is a control device
which is used by a user-mode app.
When I disable the root enumerated device, and then I reboot, I get a
INACCESSIBLE_BOOT_DEVICE BSOD, and it seems as if the loader fails to find
my driver when it loads the boot disk stack. The BSOD happens only on win2k,
on win2k3, the boot process goes with no problem, and I can later on enable
the device without problems. (Obviously, when I am not disabling the device,
I can reboot in both OS with no problem).

Can someone please explain why the loader cannot find my driver when its
pseudo root enumerated device is disabled?

Thanks,
Eran.

Your driver must be already started when the boot device starts. You can
assure this will happen by setting the device to “boot” start and in a group
which is set before “system bus extender” in the group load order.

Shahar

“Eran Borovik” wrote in message news:xxxxx@ntdev…
> Hi,
> My driver is Class volume upperfilter. In addition, I install a pseudo
> device that is root enumerated which is also handled by my driver (my
> driver is the pseudo device function driver). The pseudo device is a
> control device which is used by a user-mode app.
> When I disable the root enumerated device, and then I reboot, I get a
> INACCESSIBLE_BOOT_DEVICE BSOD, and it seems as if the loader fails to find
> my driver when it loads the boot disk stack. The BSOD happens only on
> win2k, on win2k3, the boot process goes with no problem, and I can later
> on enable the device without problems. (Obviously, when I am not disabling
> the device, I can reboot in both OS with no problem).
>
> Can someone please explain why the loader cannot find my driver when its
> pseudo root enumerated device is disabled?
>
> Thanks,
> Eran.
>
>

Hi,
My driver has already “boot” start and was part of “extended base” group
which should come before “system bus extender”.
I experimented with other different groups like “base” which is the first
one or “scsi miniport” but the result was always the same.
The strange thing is that under the debugger, I can see there is a
driverobject for my driver (using !drvobj), however the machine just refuses
to call my driver DriverEntry if my root enumerated device is disabled.
Again, this behaviour only occurs on win2k(Sp4). In win2k3, it works without
problem.

Eran.

“Shahar Talmi” wrote in message news:xxxxx@ntdev…
> Your driver must be already started when the boot device starts. You can
> assure this will happen by setting the device to “boot” start and in a
> group which is set before “system bus extender” in the group load order.
>
> Shahar
>
>
>
> “Eran Borovik” wrote in message news:xxxxx@ntdev…
>> Hi,
>> My driver is Class volume upperfilter. In addition, I install a pseudo
>> device that is root enumerated which is also handled by my driver (my
>> driver is the pseudo device function driver). The pseudo device is a
>> control device which is used by a user-mode app.
>> When I disable the root enumerated device, and then I reboot, I get a
>> INACCESSIBLE_BOOT_DEVICE BSOD, and it seems as if the loader fails to
>> find my driver when it loads the boot disk stack. The BSOD happens only
>> on win2k, on win2k3, the boot process goes with no problem, and I can
>> later on enable the device without problems. (Obviously, when I am not
>> disabling the device, I can reboot in both OS with no problem).
>>
>> Can someone please explain why the loader cannot find my driver when its
>> pseudo root enumerated device is disabled?
>>
>> Thanks,
>> Eran.
>>
>>
>
>
>

Make your control device just plain stupid non-PnP, and not
root-enumerated.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----
From: “Eran Borovik”
Newsgroups: ntdev
To: “Windows System Software Devs Interest List”
Sent: Thursday, August 18, 2005 6:32 PM
Subject: [ntdev] INACCESSIBLE_BOOT_DEVICE

> Hi,
> My driver is Class volume upperfilter. In addition, I install a pseudo
> device that is root enumerated which is also handled by my driver (my driver
> is the pseudo device function driver). The pseudo device is a control device
> which is used by a user-mode app.
> When I disable the root enumerated device, and then I reboot, I get a
> INACCESSIBLE_BOOT_DEVICE BSOD, and it seems as if the loader fails to find
> my driver when it loads the boot disk stack. The BSOD happens only on win2k,
> on win2k3, the boot process goes with no problem, and I can later on enable
> the device without problems. (Obviously, when I am not disabling the device,
> I can reboot in both OS with no problem).
>
> Can someone please explain why the loader cannot find my driver when its
> pseudo root enumerated device is disabled?
>
> Thanks,
> Eran.
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com