Может ли программа определить, что диск, на котором она запущена, является локально смонтированным, но хранящимся в сети VHD/VHDX?

Может ли программа определить, что диск, на котором она запущена, является локально смонтированным, но хранящимся в сети VHD/VHDX?

Все это касается как клиентской, так и серверной версии Windows 10.

Фон:Некоторые программы блокируют установку/запуск в общих сетевых папках. Я не имею в виду ошибки из-за общего доступа/разрешений файлов или необходимости включения политик в GPO/реестре; я имею в виду, что они напрямую сообщают вам, что сетевые установки «не будут работать», а затем блокируют их, даже при использовании сопоставленного сетевого диска (например, «\SERVER\DriveP», сопоставленного с «Z:\» на локальной машине).

Обходной путь, который я нашел, — это создание VHD/VHDX на сетевом ресурсе, а затем использование Disk Management на локальной машине для монтирования этого VHD как локального диска. Например, я создаю файл VHD "VirtualDrive.vhd" в "\SERVER\DriveP", а затем присоединяю этот VHD к "D:\" на локальном ПК. Это кажется на 100% прозрачным и функционально идентичным диску, физически подключенному к ПК; программы, которые обычно блокируют (или не работают) с отображаемыми сетевыми установками, работают с этим методом.

Суммируя:У меня есть программы, установленные на сетевом диске с использованием локально смонтированного VHD, который физически хранится на сетевом диске.

Вопрос:Есть ли способ, позволяющий программе определить, что диск, на котором она запущена (в данном примере — D:), на самом деле является VHD-диском, хранящимся на удаленном компьютере, но смонтированным локально, а не диском, физически подключенным к ПК?

Я подумал, что это, возможно, лучшее сообщество, чтобы задать вопрос, чем serverfault.

решение1

В течение достаточно длительного периода времени это можно было бы определить косвенно. Это не на 100% надежно и занимает много времени, но эта информация могла бы просочиться из реального мира.

Поставьте программу, которая работает непрерывно, делает много запросов к диску и знает загрузку системы, в которой она работает. Поскольку она учитывает время обслуживания запросов, в конечном итоге она должна прийти к выводу, что некоторые ответы занимают так много времени (из-за сетевого трафика, перегрузки и т. д.), когда система в остальном не загружена, что диск не может быть настоящим жестким диском, подключенным к материнской плате.

Связанный контент