Без предварительных объяснений заголовок данной статьи может показаться загадкой. Мы рассмотрим, как создать виртуальный диск с помощью инструмента subst, например, сделав псевдоним для каталога C:\foo. После выполнения команды «subst +: C:\foo», диск +:\ будет функционировать как обычный. Однако, чтобы понять, как это работает, необходимо разобраться в путях Win32 и NT. Путь Win32 C:\foo преобразуется в NT-путь \??\C:\foo, который обрабатывается низкоуровневыми API, такими как NtCreateFile.
Менеджер объектов в Windows управляет именованными объектами, включая символические ссылки, которые представляют собой способ ссылки на устройства. Буквы дисков, такие как C:, просто соглашение, возникающее при преобразовании путей. Интересно, что буквы, не относящиеся к латинице, не отображаются в Проводнике и не распознаются PowerShell. Также возможно создание дисков с использованием графем Юникода, однако это может привести к различным проблемам с совместимостью. В заключение, работа с дисками в Windows представляет собой более сложный процесс, чем может показаться на первый взгляд.