Можно ли загружать / выгружать драйвер фильтра DiskDrive «на лету» без перезагрузки?

1086
Phylum

Как видно из заголовка, я хочу знать, могу ли я загрузить или выгрузить драйвер фильтра дискового накопителя, не перезагружая машину, и изменения вступят в силу немедленно.

Я делаю это в среде WinPE и должен оставаться в WinPE.


исторический

Я встроил драйверы PGPWDE Symantec Encryption Desktop (также известный как PGP) в наш загрузочный носитель MDT / SCCM, чтобы наши специалисты могли легко управлять зашифрованными дисками (добавлять / удалять пользователей, восстановление паролей, восстановление данных и т. Д.).
Однако драйверы PGPWDE имеют некоторую встроенную функцию, которая предотвращает стирание MBR / сектора 0. Это создает проблему при перезаписи зашифрованного компьютера:

  • дискпарт чистый не сотрет MBR
  • bootrec / fixmbr или / fixboot не перезаписывают MBR
  • сторонние утилиты вроде dskprobe и mbrwiz тоже не будут работать
  • Все вышеперечисленное выполняется успешно, что означает «выполнено успешно» или эквивалентное; errorlevel / lastexitcode равен 0

Поэтому я думаю, что если я смогу выгрузить драйвер, то это уберет эту «защиту», и я смогу успешно стереть MBR и приступить к созданию образа.

В WinPE,

  • Я не вижу соответствующих (например: нет ссылок на pgp, wde и т. Д.) Драйверов фильтров, загруженных в fltmc
  • Я не вижу ничего релевантного (например: нет ссылок на pgp, wde и т. Д.) При запуске devcon status, driverfiles, dp_enum, resources, find, findall
  • Существует несколько классов настройки устройства, которые имеют как имя, так и описание «?»
  • Системный процесс загружает только один файл: pgpwded.sys (проверяется через procxp)

Вот что [немного], я думаю, я знаю о драйвере / «устройстве»:

  • В Диспетчере устройств (на компьютере под управлением Windows с установленным программным обеспечением), после отображения скрытых элементов, я вижу его в разделе Драйверы без Plug and Play
    • Два сервиса: PGPdisk и PGPsdkDriver
    • Класс устройства и GUID класса устройства для обоих - LegacyDriver и соответственно
  • стек devcon * показывает:
    • класс установки, конечно, класс DiskDrive (в форме GUID)
    • Фильтры высшего класса включают partmgr и pgpwded
  • devcon driverfiles * показывает установленные INF-файлы и файлы драйверов устройств как% WINDIR% \ inf \ disk.inf [disk_install] и% WINDIR% \ system32 \ drivers \ disk.sys соответственно
  • при проверке GUID DiskDrive в реестре UpperFilters подтверждают записи PartMgr & pgpwded.
  • Я нашел сервис в HKLM \ System \ ControlSet001 \ Services \ PGPwded
    • ErrorControl: 1
    • Группа: Фильтр
    • Начало: 0
    • Тип 1
  • Попытка остановить службу («PGPwded Storage Filter Service») завершается неудачно: «запрошенная пауза, продолжение или остановка недопустимы для этой службы»
  • хотя и devcon classfilter diskdrive upper !pgpwdedуспешно, он не выгружает его из памяти до перезагрузки. (что мы не можем сделать)
  • Наконец, это файлы, обычно связанные с PGP:
    • % WINDIR% \ System32 \ pgpcl.dll
    • % WINDIR% \ System32 \ pgpiconv.dll
    • % WINDIR% \ System32 \ pgpsdk.dll
    • % WINDIR% \ System32 \ pgpsdknl.dll
    • % WINDIR% \ System32 \ pgpsdkui.dll
    • % WINDIR% \ System32 \ pgpwd.dll
    • % WINDIR% \ System32 \ pgpwdesdk.dll
    • % WINDIR% \ System32 \ Drivers \ pgpsdk.sys
    • % WINDIR% \ System32 \ Drivers \ pgpwded.sys

Изменил бы константу типа «Пуск» с 0 (которая представляет собой часть стека драйверов для загрузочного тома и поэтому должна быть загружена загрузчиком) на:

  • 2 = загружается или запускается автоматически для всех запусков, независимо от типа сервиса; ИЛИ ЖЕ
  • 3 = доступно, независимо от типа, но не будет запущено, пока не будет запущено вручную

Я думаю, что я сделал это настолько далеко, насколько смогу, и, хотя я боюсь худшего, обращаюсь к сообществу за предложениями.

2

0 ответов на вопрос