Como o título sugere, quero saber se posso carregar ou descarregar um driver de filtro de disco rígido sem reiniciar a máquina e fazer com que a alteração entre em vigor imediatamente.
Estou fazendo isso em um ambiente WinPE e preciso permanecer no WinPE.
Histórico
Criei os drivers PGPWDE da Symantec Encryption Desktop (também conhecidos como PGP) em nossa mídia de inicialização MDT / SCCM para que nossos técnicos possam gerenciar facilmente unidades criptografadas (adicionar / remover usuários, recuperação de senha, recuperação de dados, etc.). > No entanto, os drivers PGPWDE possuem algum recurso interno que impede a exclusão do MBR / setor 0. Isso cria um problema ao recriar uma imagem de uma máquina criptografada:
- diskpart clean não apagará o MBR
- bootrec / fixmbr ou / fixboot não reescreverão o MBR
- utilitários de terceiros, como o dskprobe e o mbrwiz, também não funcionam
- Todos os itens acima são executados com sucesso, o que significa "concluído com êxito" ou o equivalente; errorlevel / lastexitcode é 0
Então, meu raciocínio é que, se eu puder descarregar o driver, isso removerá essa 'proteção' para que eu possa limpar com sucesso o MBR e prosseguir com a criação de imagens.
No WinPE,
- Não vejo nenhum driver de filtro relevante (por exemplo, nenhuma referência a pgp, wde etc.) carregado em fltmc
- Não vejo nada relevante (por exemplo, sem referências ao pgp, wde etc.) ao executar o devcon status, driverfiles, dp_enum, recursos, find, findall
- Existem várias classes de configuração de dispositivo com nome e descrição de "?"
- O processo do sistema carrega apenas um arquivo: pgpwded.sys (verificado via procexp)
Veja o que [pouco] eu sei sobre o driver / 'dispositivo':
- No Gerenciador de dispositivos (em uma máquina Windows com o software instalado), depois de mostrar itens ocultos, posso vê-lo em drivers não Plug and Play
- Dois serviços: PGPdisk e PGPsdkDriver
- A classe Device e o GUID da classe de dispositivos para ambos são LegacyDriver e {8ECC055D-047F-11D1-A537-0000F8753ED1} respectivamente
- pilha devcon * mostra:
- classe de instalação é, claro, classe DiskDrive (no formulário GUID)
- filtros de classe superior incluem partmgr e pgpwded
- driverfiles * mostra os arquivos INF instalados e os arquivos do driver de dispositivo como% WINDIR% \ inf \ disk.inf [disk_install] e% WINDIR% \ system32 \ drivers \ disk.sys respectivamente
- ao verificar o DiskDrive GUID no registro, o UpperFilters confirma o PartMgr & Entradas pgpwded.
- Eu encontrei o serviço em HKLM \ System \ ControlSet001 \ Services \ PGPwded
- ErrorControl: 1
- Grupo: Filtro
- Início: 0
- Tipo: 1
- A tentativa de interromper o serviço ("PGPwded Storage Filter Service") falha com "a pausa solicitada, continuar ou parar não é válida para este serviço"
- embora
devcon classfilter diskdrive upper !pgpwded
seja bem-sucedido, ele não o descarrega ativamente da memória até ser reinicializado. (o que não podemos fazer)
- Por fim, esses são os arquivos geralmente associados ao 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
Mudar a constante de tipo 'Iniciar' de 0 (que representa uma parte da pilha de drivers para o volume de inicialização e deve, portanto, ser carregada pelo Carregador de Boot) para:
- 2 = Carregado ou iniciado automaticamente para todas as inicializações, independentemente do tipo de serviço; OU
- 3 = Disponível, independentemente do tipo, mas não será iniciado até ser iniciado manualmente
Acho que levei isso o mais longe possível, e enquanto estou com medo do pior, procurando sugestões na comunidade.