Загрузка драйвера в SafeMode

Тема в разделе "WASM.NT.KERNEL", создана пользователем Marik, 31 мар 2009.

  1. Marik

    Marik New Member

    Публикаций:
    0
    Регистрация:
    21 июн 2006
    Сообщения:
    166
    Адрес:
    Russia
    Доброго времени суток!
    Требуется загрузить драйвер в безопасном режиме. Для этого прописал здесь ( HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal ) по аналогии с другими драйверами свой драйвер.
    При создании службы драйвера если в параметрах указать SERVICE_BOOT_START или SERVICE_SYSTEM_START, то драйвер то все стартует без проблем.
    Мне нужно запускать драйвер вручную из пользователького сервиса. так вот в сервисе при запуске ошибка ERROR_NOT_SAFEBOOT_SERVICE 1084 (0x43C) This service cannot be started in Safe Mode. При этом если посмотреть в сведениях системы то полно драйверов у кторых тип запуска стоит вручную но они загружены в системе в безопасном режиме. Может кто знает как это делается?!
     
    Tensor нравится это.
  2. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    1. Ты забыл про эту ветку: HKLM\\SYSTEM\\CurrentControlSet\\Control\\SafeBoot\\Network\\, в нее тоже надо прописаться, иначе в безопасном режиме с поддержкой сети драйвер не загрузится.
    2. Скорее всего в ключе с драйвером ты не создал параметр "Group". Пропиши туда что-нибудь, что является Driver Group. К примеру, "filter". Должно помочь.
     
  3. Marik

    Marik New Member

    Публикаций:
    0
    Регистрация:
    21 июн 2006
    Сообщения:
    166
    Адрес:
    Russia
    В группу пробовал не помогло :dntknw: (У меня драйвер не PnP)
     
  4. KondraT

    KondraT Member

    Публикаций:
    0
    Регистрация:
    22 янв 2006
    Сообщения:
    175
    Регистрирую драйвер через CreateService:
    Код (Text):
    1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\keyboard
    2.   Display Name - keyboard
    3.   Error Control - 0
    4.   ImagePath - \??\C:\driver\keyboard.sys
    5.   Start - 1
    6.   Type - 1
    Хочу грузить его в Safe Mode:
    Код (Text):
    1. - HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\keyboard
    2.  @ - Driver
    В процессе загрузки в Safe Mode в WinDbg сообщение: SAFEBOOT: skipping device = keyboard.SYS(Group). При SERVICE_BOOT_START - ни в Safe Mode ни в обычном режиме драйвер не грузится вообще. В DriverEntry только создание вирт. устр-во и линк на него.

    Какие значения должны быть по умол. в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\keyboard и где подробно почитать про эти значения и загрузку дров в Safe Mode?
    Почему не грузится при SERVICE_BOOT_START?
    Спасибо.
     
  5. KondraT

    KondraT Member

    Публикаций:
    0
    Регистрация:
    22 янв 2006
    Сообщения:
    175
    ничего не пойму как с этими ключами действовать.
    создаю подразделы:
    Код (Text):
    1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\keyboard.sys
    2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\keyboard.sys
    3.  
    4. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SafeBoot\Minimal\keyboard.sys
    5. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SafeBoot\Network\keyboard.sys
    6.  
    7. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\SafeBoot\Minimal\keyboard.sys
    8. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Contro2\SafeBoot\Network\keyboard.sys
    Везде @ - Driver.
    Иногда грузится, иногда нет, затирая указанные выше подразделы, и дебаг строка - SAFEBOOT: skipping device = keyboard.SYS(Group).
    Люди, кто в курсе, подскажите, что неверно-то?