Мне нужно получить имя диска, на котором установлена Windows.Лучший способ найти это - через реестр, поскольку WMI очень медленный для этого конкретного запроса.
string diskdrive = Registry.GetValue(@"HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\Scsi\Scsi Port 0\Scsi Bus 0\Target Id 0\Logical Unit Id 0", "Identifier", null);
, который возвращает: INTEL SSDSCKKF512H6 LBF
Хотя это прекрасно работает в моей системе,«Target Id», кажется, имеет другой цифровой идентификатор для другой системы.Как бы я собирался определить конкретный идентификатор цели (может быть, обнаружить его, используя часть строки подраздела реестра, как-то).Даже не уверен, что это подойдет для дисков других типов (Nvme или IDE).Если есть лучший способ сделать это без запроса WMI.
Заранее спасибо
Найден что-то из CMD:
REG QUERY "HKLM\HARDWARE\DEVICEMAP\Scsi\Scsi Port 0\Scsi Bus 0\Target Id 0" /v Identifier /s
Это ищет ключ реестра с именем Identifierв пределах целевого идентификатора 0