EgorS
14-08-2019, 13:04
Приветствую! История такая (это к делу не относится, просто для полноты картины). Есть у меня древний комп с 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, но после перезагрузки она опять была в реестре! Так выходит, что я не правильно понял: не драйвер грузится через реестр, а драйвер при старте прописывается в реестр откуда-то извне? (Иначе почему там восстановилась удаленная ветка).
Если кто понимает всё это, можете объяснить? Как прибить загрузку этого драйвера магнитных лент?
В 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, но после перезагрузки она опять была в реестре! Так выходит, что я не правильно понял: не драйвер грузится через реестр, а драйвер при старте прописывается в реестр откуда-то извне? (Иначе почему там восстановилась удаленная ветка).
Если кто понимает всё это, можете объяснить? Как прибить загрузку этого драйвера магнитных лент?