
WindowsのファイルシステムといえばC:やD:といったドライブレターが特徴です。ドライブレターはアルファベットのA~Zに限定されているかのように思えますが、それは表面的な制限だけなのかもしれません。
ブログ記事「Windows drive letters are not limited to A-Z」は、Windowsの内部構造を探り、A~Z以外の文字でもドライブレターが成立することを詳しく解説しています。
記事によると、Windowsのドライブレターは実は A~Zに限定されておらず、subst コマンドを使えば +:\ や €:\ のような非アルファベットのドライブを作成可能とのこと。
以下は、C:\fooディレクトリへのエイリアスとしてドライブ+:\ を作成する例です:
subst +: C:\foo
+:\ドライブはcmd.exeでは普通に動作します。
> cd /D +:\ +:\> tree . Folder PATH listing Volume serial number is 00000001 12AB:23BC +:\ └───bar
実は、ドライブレターの正体は「Object Manager」に登録されたシンボリックリンクです。Win32パス (C:\foo)は内部で NTパスの(\??\C:\foo)に変換され、最終的に\Device\HarddiskVolumeX\fooへと解決されます。
Object Managerは、名前付きオブジェクトの追跡を担当しており、C:を単なるシンボリックリンクとして扱えるように、+:や €:を扱うこともできます。subst €: C:\foo のようにユーロ記号やギリシャ文字をドライブレターに設定することもできるのです(ただし設定する文字は、UTF-16の範囲内でなければならないという制限は存在します)。
実用上の制約
+:\ や €:\ はコマンドプロンプトでは動作するものの、エクスプローラーやPowerShellでは認識されません。

UTF-16の制約により、サロゲートペアを含む文字はドライブレターとして使えないという制限も存在します。
また、SetVolumeMountPointW APIではユーロ記号が「¬」に変換されるなど、未対応文字は予期せぬ結果を生むこともあります。
まとめ
Hacker Newsでもこの記事は注目されており、€:\ のような非ASCIIドライブレターが動作することに驚きの声が寄せられています。また、NTカーネルの内部構造の柔軟さに比べ、ユーザー向けのUIが制限されている点が面白いとも評価されています。
技術者にとっては「面白いトリビア」であるものの、非標準ドライブレターはマルウェアに悪用される可能性があるのではという指摘もあり、セキュリティの面からの懸念も寄せられています。
