Windows 11に今も残るMS-DOS時代の8.3形式ファイル名、その理由をMicrosoftが解説
Windows 11に残るMS-DOS形式ファイル名の理由を解説

Windows Latestは2026年10月18日(現地時間)、「Microsoft explains why Windows 11 still uses MS-DOS file names, and why it can’t change them」において、Windows 11のシステムファイルにMS-DOS時代の命名規則「8.3形式」が現在も残っている理由を解説した。

Windows 11の最新バージョン26H2にも、kernel32.dll、user32.dll、ntoskrnl.exeといったシステムファイルが存在し、旧式のファイル名形式に従っている。Windows Latestは、こうした仕組みを続ける背景に、長年にわたって蓄積されたソフトウェアとの互換性維持があると説明した。

MS-DOS時代の「8.3形式」はどこから来たのか

8.3形式は、ファイル名を最大8文字、拡張子を最大3文字とする命名規則だ。名前全体はピリオドを含めて最大12文字となり、使用できる文字や記号にも制限がある。

この規則の起源について、Windowsの開発に30年以上携わってきたRaymond Chen氏が、自身のブログ「The Old New Thing」で解説している。同氏によると、8.3形式は1974年にGary Kildall氏が開発したオペレーティングシステム「CP/M」に由来する。ただし、CP/Mがファイル名を8文字に制限した正確な理由は不明だという。

現在のWindowsはこうした制約を受けておらず、標準のファイルシステムであるNTFSは最大255文字の長いファイル名に対応している。

それでも、kernel32.dllやuser32.dllなどのシステムファイルが古い命名規則に従っているのは、既存のアプリケーションとの互換性を維持するためだ。これらのファイル名を変更すると、名前を直接参照しているプログラムが正常に動作しなくなる可能性がある。

Windows 11でも古いファイル名を使い続ける理由

Chen氏は2007年のブログ記事でも、8.3形式が残る理由を考察している。これはMicrosoftの公式見解として発表されたものではなく、同氏による技術的な分析だ。

Windows 95の登場時点で、長いファイル名は必須要件ではなかったがサポートしていた。しかしながら、長い名前を扱えないサーバーに依存する企業環境も存在しており、Windows 95のシステムファイルは8.3形式に収まる必要があった。Chen氏は、Windows NTでもWindows 2000まで短い名前だけのFATシステムドライブが認められ、長い名前への対応が必須になったのはWindows XPからだったと説明している。

長い名前への対応後も、短縮名は互換性のために維持されてきた。Windowsは長い名前に短い別名を付けることができ、たとえばshellstyle.dllとshellstuff.dllが同じフォルダーにある場合、SHELLS~2.DLLのような名前が付くことがある。一部のプログラムは、こうした別名を直接利用することがある。

Program Filesフォルダーについても、C:\PROGRA~1という短縮名を前提とするソフトが存在する。Windows Latestの記者がWindows 11 26H2で確認したところ、この別名が残っていることが確認された。NTFSでは、長いファイル名に対応する8.3形式の短縮名を生成できる。ただし、短縮名を生成するかどうかはボリュームの設定によって異なり、すべてのファイルに短縮名が付けられるわけではない。

Windows 11にも残る短縮形式のフォルダー名

互換性維持に残されてきた短縮名だが、この存在が予期せぬ問題を引き起こすことがある。同一のファイルに対して2つの名前が存在しているために、Windowsがこれを異なるファイルとして扱ってしまう問題だ。

Chen氏によると、Windowsのローダーが長いファイル名と短縮名で指定された同一のDLLを別々のモジュールとして認識し、同じDLLがプロセス内に重複して読み込まれる場合があるという。DLLが独自のグローバル変数を持つと同じ変数が2つ存在することになり、正常な動作を妨げる可能性がある。

同氏はこの問題を取り上げた上で、8.3形式に伴う問題はすべて十分に把握され管理されていると指摘した。Microsoftの技術者は当然のこと、サードパーティーの開発者も今になってこの問題を引き起こすことはしないとの考えだ。

そして、この互換性機能は残すべきとの考えも示した。長い名前への全面移行も可能だが、「問題がないのに、うまくいっている機能をいじる必要はあるのか」と述べ、新たな問題を引き起こす可能性に挑戦する必要はないとしている。

ファイルシステムによる対応の違いも、互換性維持の重要さを物語っている。Microsoftが開発した別のファイルシステム「ReFS」は短縮名をサポートしない。ReFSは8.3形式の短縮名をサポートしていないため、短縮名を前提とする古いアプリケーションでは、ファイルを見つけられず正常に動作しない可能性がある。

Windows Latestは、こうした事例も古い命名規則を変更する難しさを示すものだと伝えている。Windowsを利用していると時折歴史を感じさせる表記に遭遇するが、その背後には下位互換性の維持に配慮を続けたMicrosoftの努力が存在している。