ソフトウェア
上級

VFAT (Virtual FAT, 長いファイル名対応, 1995)(ヴイファット)

Microsoft が Windows 95 (1995) で FAT16/FAT32 に追加した長いファイル名 (Long File Name、LFN) 対応拡張機能。従来の 8.3 形式 (8 文字 + 3 文字拡張子) の制約を破り、最大 255 文字の Unicode 文字列をファイル名に使用可能とした、現代 Windows・SD カード・USB メモリの標準機能。

0 回閲覧
0 いいね
2026/5/11 更新
関連タグ
VFAT
Long File Name
LFN
Windows 95
Unicode
1995

概要

VFAT (Virtual FAT) は、Microsoft が Windows 95 (1995) で FAT16/FAT32 ファイルシステムに追加した長いファイル名 (Long File Name、LFN) 対応の拡張機能で、従来の 8.3 形式 (8 文字 + 3 文字拡張子、合計 11 文字) の制約を破り、最大 255 文字の Unicode 文字列をファイル名に使用可能とした、現代 Windows・SD カード・USB メモリの標準機能です。Windows 95 と同時導入され、後方互換性のため 8.3 ショート名を維持しつつ、長いファイル名を別エントリ (LFN エントリ、Volume ID 属性) に格納する巧妙な設計で、MS-DOS や古い Windows 3.x 環境からも 8.3 形式でアクセス可能な互換性を確保しました。Unicode UCS-2 対応で多言語ファイル名・日本語ファイル名・絵文字 (一部) も使用可能、FAT32 (1996)・exFAT (2006) に継承される基盤機能として、46 年の FAT ファイルシステムの寿命を延ばした重要技術です。

主な特徴・仕組み

  • 発表: 1995 年 Microsoft (Windows 95)
  • 正式名: VFAT、Virtual File Allocation Table
  • 長いファイル名: 最大 255 文字 (Unicode UCS-2)
  • 8.3 互換: 自動的にショート名 (~1, ~2 等) を生成して保持
  • LFN エントリ: 1 ファイル名 = 1-20 個の LFN エントリ + 1 ショート名エントリ
  • 対応文字: Unicode UCS-2 (16-bit)、日本語・中国語・キリル文字対応
  • 使用不可文字: \ / : * ? " < > | (パス・ワイルドカード用)
  • 互換性: Windows 95-Windows 11・macOS・Linux 全対応
  • 特許: Microsoft 保有、2006 年に EU 訴訟で和解
  • 後継: FAT32 (1996) ・exFAT (2006) で標準継承

スペック比較表 (ファイル名対応)

FSファイル名長さ文字種
FAT12/16 (8.3)8.311 文字ASCII 大文字
VFAT (LFN)長いファイル名255 文字Unicode
FAT32 (VFAT)長いファイル名255 文字Unicode
exFAT長いファイル名255 文字Unicode
NTFS長いファイル名255 文字Unicode
ext4長いファイル名255 バイトUTF-8

具体例・対応技術

  • Windows 95 (1995): VFAT 初実装、長いファイル名対応の起点
  • Windows 98/Me/2000/XP/Vista/7/8/10/11: VFAT 継承
  • macOS Finder: VFAT FAT32/exFAT ボリューム読込・長いファイル名対応
  • Linux vfat ドライバ: mount -t vfat で FAT32/exFAT マウント
  • 現代 SD カード/USB メモリ: FAT32/exFAT + VFAT 標準

自作PCでの選び方・注意点

VFAT は 2026 年現在、Windows・SD カード・USB メモリの標準機能として透過的に動作、エンドユーザーが直接意識する場面は少ないですが、特殊文字・絵文字を含むファイル名でのトラブル時に意識する技術。Windows 11 と macOS/Linux 間で SD カード・USB メモリを共有する際、ファイル名に絵文字 (🎮)・特殊な記号 (✓)・キリル文字・ハングル等を含めると、一部の古いシステム・組み込み機器で文字化けや認識不可となる場合あり、ASCII + 半角英数字 + 日本語ひらがな/カタカナ/漢字までが互換性確保の推奨範囲。Windows のショート名 (~1, ~2) は VFAT の互換性機能の名残、fsutil 8dot3name set 1 でショート名生成無効化可能 (Windows 7+) ですが、互換性のため有効が無難。Linux の mount -t vfat -o iocharset=utf8 でファイル名エンコーディング指定可能、日本語ファイル名トラブル回避に有用。

関連用語との違い

  • FAT12/16 (8.3 名): VFAT の親、ショート名のみ
  • FAT32 + VFAT: 大容量対応 + 長いファイル名
  • NTFS: Microsoft の高機能 FS、VFAT 機能を内包

よくある質問(FAQ)

Q1: VFAT と FAT の違いは? A: FAT (12/16/32) はファイルシステム本体、VFAT はその拡張機能 (長いファイル名対応)。実装的には FAT16/32 + VFAT 拡張がセット。

Q2: ショート名 (~1) は何のため? A: MS-DOS・Windows 3.x 互換性、長いファイル名は LFN エントリ、それらに対応しない古い OS 用にショート名を保持する仕組み。

Q3: 日本語ファイル名は使える? A: VFAT (Unicode UCS-2) で完全対応、Windows・Mac・Linux で読込可能。古い MS-DOS・組み込み機器では文字化けまたは無視される場合あり。

まとめ

  • VFAT = 1995 年 Microsoft 開発、長いファイル名対応拡張
  • 最大 255 文字 Unicode、8.3 ショート名併用で互換性確保
  • Windows 95-現代 Windows・SD カード・USB メモリで標準
  • 46 年 FAT 寿命を延ばす重要技術、Unicode 対応の基盤
この記事について
カテゴリーソフトウェア
難易度上級
作成日2026/5/11