Um programa pode detectar que a unidade em que está sendo executado é um VHD/VHDX montado localmente, mas armazenado em rede?

Um programa pode detectar que a unidade em que está sendo executado é um VHD/VHDX montado localmente, mas armazenado em rede?

Tudo isso no contexto do Windows 10, tanto cliente quanto servidor.

Fundo:Alguns programas bloqueiam a instalação/execução em pastas de rede compartilhadas. Não me refiro a erros devido a permissões de compartilhamento/arquivo ou à necessidade de habilitar políticas no GPO/registro; Quero dizer, eles dizem abertamente que as instalações de rede "não funcionarão" e depois as bloqueiam, mesmo quando usam uma unidade de rede mapeada (ou seja, "\SERVER\DriveP" mapeado para "Z:\" na máquina local).

Uma solução alternativa que encontrei é criar um VHD/VHDX no compartilhamento de rede e usar o Gerenciamento de disco na máquina local para montar esse VHD como uma unidade local. Por exemplo, eu crio um arquivo VHD "VirtualDrive.vhd" em "\SERVER\DriveP" e, em seguida, anexo esse VHD a "D:\" no PC local. Parece ser 100% transparente e funcionalmente idêntico a uma unidade fisicamente conectada ao PC; programas que normalmente bloqueiam (ou não funcionam com) instalações de rede mapeadas funcionam com este método.

Resumidamente:Tenho programas instalados em uma unidade de rede usando um VHD montado localmente que é armazenado fisicamente em uma unidade de rede.

Pergunta:Existe alguma maneira de um programa detectar que a unidade em que está sendo executado ("D:\" neste exemplo) é na verdade um VHD armazenado em um computador remoto, mas montado localmente, em vez de uma unidade fisicamente conectada ao PC?

Achei que esta poderia ser uma comunidade melhor para perguntar do que serverfault.

Responder1

Durante um período de tempo suficientemente longo, poderia ser determinado indiretamente. Não é 100% confiável e leva muito tempo, mas essas informações podem vazar do mundo real.

Postule um programa que roda continuamente, faz muitas solicitações de disco e conhece a carga do sistema onde está rodando. Ao considerar os tempos de serviço para solicitações, eventualmente, ele deve concluir que algumas respostas demoram tanto (devido ao tráfego de rede, congestionamento, seja o que for) quando o sistema não está carregado, que o disco não pode ser um disco rígido real conectado a uma placa-mãe.

informação relacionada