次のページ 前のページ 目次へ

3. DOS FAT 12/16/32, VFAT

3.1 VFAT: ロングファイルネーム

Windows 95/98 と Windows NT/2000 は,FAT にロングファイルネームを持た せるために,読み取り専用, 隠しファイルシステムボリュームの属性が設定された特殊なディレクトリエントリを持た せています.したがって,DOS から FAT ボリュームにアクセスしてもこれらの 「ファイル」は見えません.これらは以下のようにいかれた構造を持つ特殊な エントリです.

byte              スロットのシーケンス番号
string(10)        ファイル名の最初の 5 文字
byte              属性を表すバイト値
byte              常に 0
byte              8.3 形式の別名についてのチェックサム
string(12)        ファイル名の追加の 6 文字
word              開始クラスタ番号.長いスロット内では 0.
string(4)         名前の最後の 2 文字

問題が起こるのは,ロングファイルネームを持つファイルを VFAT に対応して いないシステムから削除/修正したときです.なぜなら,DOS の 8+3 の エントリしか削除/修正されないからです.Windows 95/98 から scandisk を 使えばこの問題を修復できます.

3.2 UMSDOS: Linux で FAT ファイルシステムに LFN/属性を持たせる

Linux は UMSDOS と呼ばれる独自の FAT の機能拡張を持っています.これを 使うとロングファイルネーム,パーミッションやファイルの所有者,リンクや 特殊デバイスを FAT 上に持つことができます.各ディレクトリには "--linux-.---" という名前のファイルが置かれます. このファイル内にロングファイル名や他の必要なフィールドが保持されます. 詳しい情報については /usr/src/linux/Documentation/filesystems/umsdos.txt ファイル を見てください. Linux UMSDOS ドライバの作者は Jacques Gelinas < jacques@solucorp.qc.ca> であり,現在の管理者は Matija Nalis < mnalis@jagor.srce.hr> です.

3.3 OS/2 における FAT ファイルシステムの拡張属性

OS/2 Warp のバージョン 3, 4, 5 はロングファイルネームと拡張属性を FAT ボリューム上の "\ea data. sf" および "\wp root. sf" というファイル 内に持ちます(両方ともファイルシステムのルートディレクトリに置かれます). 筆者の知る限り,OS/2 の拡張属性を実装している OS は他にはありません. 拡張属性の構造に関する何らかの情報をお持ちであれば,ぜひ 筆者にメールしてください.

3.4 Star LFN

Star LFN は DOS 4.0 以降で動作するエミュレータであり,これを使うと Windows95 の DOS 窓で使えるロングファイルネーム機能を利用できます. 現在はシステムファイルかつ隠しファイルでなければロングファイルネーム の読み書きができません.つまり,Windows95 の実際のロングファイルネーム は読み書きできません.詳しくは http://sta.c64.org/starlfn.html を見てください.

3.5 OS/2 から VFAT にアクセスする方法(VFAT-OS2)

VFAT-OS2 は,Windows 95 の VFAT 形式でフォーマットされたパーティション が OS/2 標準のドライブレターを持っているかのように OS/2 から透過的に アクセスできるようにするパッケージです.このパッケージの最終目標は VFAT ファイルシステムで FAT を置き換えられるようにすることです.この パッケージは現在は読み取り専用モードで NFTS パーティションにもアクセス できます.

3.6 DOS から VFAT にアクセスする方法 (LFNDOS ドライバ)

Microsoft が LFNDOS という,DOS で Microsoft Long Filename API を使え るようにするドライバを公開していると言っている人がいます.このドライバ をダウンロードできる場所をもし知っていたら筆者に教えてください.

3.7 DOS から VFAT にアクセスする方法 (Free LFNDOS ドライバ)

LFNDOS を使うと Windows95 の Long Filename (LFN) API を DOS の プログラムから使えます.このドライバはファイル名を格納するのに Windows95 と同じフォーマットを使うので,どちらのシステムからでも ファイルを見たり使ったりできます.このドライバはメモリ常駐プログラムと して動作し,コンベンショナルメモリを 60KB 程度必要とします.

Windows95 の元では,DOS プログラムは割り込み関数を組み合わせて呼び出す ことによってロングファイル名を使えます.この関数は Windows が提供して います.例えば,COMMAND.COM は Windows の DOS プロンプトとして実行され た時にはロングファイルネームを使えますが,MS-DOS モードで起動されてい る場合には使えません.EDIT.COM や全ての DJGPP プログラムといった別の プログラムも利用可能ならばロングファイルネームを使います.

3.8 DOS から VFAT にアクセスする方法 (Odi の LFN ツール)

このツールを使うと,Windows95/98 が FAT32, FAT16, FAT12 ファイルシステム 上に作ったロングファイルネームを持つファイルを DOS から簡単に管理でき ます.LDIR と打ち込むと,ファイル名がロングファイルネームで得られます. LCOPY を使ってファイルをコピーすると,ロングファイルネームの情報が保た れます.ロングファイルネームを持つディレクトリを作ることや(LMD), ロングファイルネームを持つファイルの名前を変えること(LREN)さえできます.

3.9 OS/2 から FAT32 にアクセスする方法 (FAT32.IFS)

OS/2 用の FAT32.IFS を使うと OS/2 から FAT32 パーティションにアクセス できます.FAT32 パーティションの作成はできないので,作成を行うには Win95 OSR2 がまだ必要となります.また,OS/2 の CHKDSK は起こり得る 全てのエラーを修復できないので,エラーによっては Windows95 の scandisk を使わなければなりません.

3.10 Windows NT 4.0 から FAT32 にアクセスする方法

NT 4.0 と NT 3.51 用の FAT32 ファイルシステムドライバです.

3.11 Windows NT 4.0 から FAT32 にアクセスする方法

これは Windows NT 4.0 用の FAT32 ファイルシステムドライバです.一度 インストールすると,システム上に存在する全ての FAT32 ドライブは ネイティブの Windows NT ボリュームとまったく同じようにアクセスできるよ うになります.フリー版は読み取り専用の機能しか持っていません.商用版は 読み書き可能です.

3.12 Stac/Dblspace/Drvspace されたドライブに Linux からアクセスする方法 (DMSDOS)

DMSDOS は圧縮された DOS ファイルシステム(CVF-FAT)の読み書きができます. 以下の構成に対応しています: DMSDOS は FAT32, NLS, コードページに対応しています(Linux 2.0.33 と バージョン 0.2.8 の FAT32 パッチの組み合わせと,標準の Linux 2.1.xx, 2.0.34, 2.0.35 の FAT32 対応で確認しました).DMSDOS は VFAT や UMSDOS のロングファイルネームと共存できます.DMSDOS は SMP に対応するために設計し直されており,libc6 環境でも完全にコンパイル できるようになったはずです.

3.13 Linux から dblspace/drvspace されたドライブにアクセスする方法(thsfs)

3.14 Fsresize - FAT16/32 のサイズ変更ツール

FAT16/FAT32 ファイルシステムのサイズ変更を行えます.このツールは他の プログラム(デフラグツール等)を一切必要としません.また --backup オプションと --restore オプションを持っているので,停電(あるいはバグ) が起きても必ず元の状態に戻せます.バックアップファイルは普通は 1MB 未 満の大きさです.

作者は今後は fsresize の新しいバージョンをリリースするつもりはないよう です.というのも彼は parted(Partition Magic のクローン)の開発を行ってい るからです.parted もファイルシステム/パーティションのサイズ変更,コピー, 検査を行えます.

3.15 FIPS - FAT16 のサイズ変更ツール


次のページ 前のページ 目次へ