Linux vfatドライバが特定の文字を受け入れないのはなぜですか?

Linux vfatドライバが特定の文字を受け入れないのはなぜですか?

Linux vfatドライバは、vfat長いファイル名に特定の文字を許可しないようです。?<>\:*|"Windowsはこれらの文字をサポートしていないことを知っていますが、ウィキペディアこれは、ファイルシステムがデフォルトでnull以外の16ビットUnicode文字をサポートしていることを示しているようです。それでは、Linuxドライバが利用可能な文字を制限するのはなぜですか?それは互換性のためだけのものですか、それとも実際にウィキペディアのページに記載されていない技術的な制限はありますか?前者の場合、これらの制限を克服する方法はありますか?

NTFS-3gは、これらの文字をNTFSに書き込むことをサポートします。これは、外部ハードドライブを使用してLinuxシステム間でファイルを移動するのに役立ちます。 VFATで同じことができればいいでしょう。

答え1

私の記憶が正しい場合、Windowsでサポートされているすべてのファイルシステム(FAT / VFAT / FAT32 / NTFS)は、有効なファイル名とディレクトリ名のいくつかの標準命名規則を満たす必要があります。上記の文字リストは予約済み文字なので、Unicode文字も使用できません。

私が言うのは、fat / vfatファイルシステムのLinux実装がこの「Windows標準」に従うことです。おそらく、この記事それについての詳細を得ることができます。

関連情報