Как убрать загрузку драйвера из …\Services\Class\?
Приветствую! История такая (это к делу не относится, просто для полноты картины). Есть у меня древний комп с Win98, щас использую его очень редко, чтобы поиграть в старые игрушки. И там есть глюк: при загрузке Win98 в момент появления Рабочего Стола частенько зависает. Проявляется это как-то бессистемно: то зависнет, то нет. Если перезагрузиться несколько раз (обычно 2-4), то в конце-концов Win98 загружается. Я не обращал на это внимания, тем более что, как уже сказал, щас юзаю этот комп очень редко. Но вот что-то решил разобраться. Да, забыл сказать, что иногда (не всегда) зависон сопровождается синим экраном с мессагой "Ошибка в драйвере DRVWQ117".
В Internet нарыл инфу, что такой зависон может быть вызван конфликтом между драйвером накопителей на магнитных лентах (DRVWQ117 это он и есть) и звуком. Там предлагается несколько решений: отключить звук старта Windows, удалить файлы DRVWQ117.VXD, DRVWPPQT.VXD, DRVWCDB.VXD. Но мне стало интересно, как вообще это работает. Почитав "Win98 Resource Kit" (это такая справочная CHM-ка), понял так (сразу оговорюсь, что не уверен, что понял верно!). Система ищет в реестре ветки с параметром "DevLoader", затем грузит драйвер, указанный (в найденной ветке) в параметре "PortDriver". Вот как это изложено в "Win98 Resource Kit": « Configuration Manager attempts to find any device node that has a DevLoader= entry in the registry. The device loader (in the previous example, *Ios) examines the registry, finds the PortDriver= entry, loads the driver and any associated support drivers, and initializes the adapter. » У меня в реестре как раз есть ветка: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\TapeDetection с параметрами DevLoader, PortDriver, откуда, видимо, и грузится этот DRVWQ117.VXD Я решил просто удалить саму ветку TapeDetection, но после перезагрузки она опять была в реестре! Так выходит, что я не правильно понял: не драйвер грузится через реестр, а драйвер при старте прописывается в реестр откуда-то извне? (Иначе почему там восстановилась удаленная ветка). Если кто понимает всё это, можете объяснить? Как прибить загрузку этого драйвера магнитных лент? |
Щас вот зашел сюда на OSzone (по другому поводу). Вспомнил про эту тему, как вижу, никто ничего путного не посоветовал, так что просто решил написать, что я сделал для преодоления зависона (см. описание в посте выше) -- может быть, кому-то пригодится
--- Итак. Я до конца так и не смог понять, как грузится драйвер: считывает ли его OS из реестра, или, наоборот, он при загрузке вписывается в реестр... Но удаление его веток не отключало драйвер: после перезагрузки его ветки опять были в реестре. Поэтому мне кажется, что фактом загрузки драйвера явл-ся само наличие его файлов в папке IOSUBSYS (предполагаю, что драйверы из этой папки грузятся автоматически). Таким образом, отключить загрузку драйвере можно, наверное, только физическим удалением его файлов. Я удалил следующие файлы: Код:
C:\Windows\System\Iosubsys\DRVWPPQT.VXD Код:
HKEY_LOCAL_MACHINE\Enum\TAPECONTROLLER |
Время: 03:05. |
Время: 03:05.
© OSzone.net 2001-