NEWFS_MSDOS(8)

名称
newfs_msdos - MS-DOS (FAT) ファイルシステムの作成

書式
newfs_msdos [-f capacity] [-L vollabel] device

解説
newfs_msdos は、 mount_msdos(8) や昔のプログラムローダが理解できる形式のファイルシステム構造を device 上に作成します。 device は、現存する書込み可能なファイルやデバイスであれば何でも受け付けますが、 典型的にはフロッピディスクドライブ用のキャラクタデバイス (たとえば /dev/rfd0) です。通常ファイルの場合は、 MS-DOS ファイルシステムのダンプイメージとして 扱われます。ファイルシステム構造が書き込まれるだけで、 ファイルの切り詰めは行われません。

オプションは以下のものがあります:

-f capacity
    ファイルシステムのサイズのデフォルトを capacity kilobytes とします。 現在は 360, 720, 1200, 1440 を認識できます。

    このオプションが指定されない場合は、 newfs_msdos はそのサイズを device のサイズを参考に決定します。 これは全ての場合において信頼できるわけではありませんが、 ほとんどの場合にはうまくいくと思われます。

-L vollabel
    ファイルシステムを記述するラベルとして、 ‘4.4BSD’ のかわりに vollabel を用います。

ファイルシステムの構造は、3 つの主要な区画から構成されています。

The bootsector
    これは一番最初の (512-byte) のセクタです。通常、これには オペレーティングシステムのブートストラップ用の実行コードが含まれています。 オペレーティングシステムをメディアにインストールする仕事は newfs_msdos の仕事の範囲を越えているので、ここでインストールされるブートコードは、 ディスクにはブート可能なシステムが含まれていないというメッセージを表示 するだけです。 bootsector 内には BIOS parameter block (BPB) が含まれます。ここには、ファイルシステムの統計的なパラメータがいくつか 含まれています。

The File Allocation Table(s) (FAT)
    bootsector の次からのセクタには FAT が保持されています。 これは、ファイルシステムの割り当て状況を記録しておくために使われます。 1 つのファイルを構成する複数のファイル片を指すポインタの鎖を保持しています。 通常は全く同じ FAT が 2 つあります。

The root directory
    最後の構造はこのメディア用のルートディレクトリです。 これは単に領域確保のためにあり、0 で埋めつくされていて、不幸にもサイズが 固定です。 newfs_msdos はこれを空のものとして初期化、ボーリュームラベルを一番最初の ディレクトリスロットに登録します。

診断
作業が成功した場合には、戻り値 0 で終了します。 ファイルシステムの作成に失敗した場合には、戻り値 1 で終了します。 プログラム対し不正な引数を与えた場合には、戻り値 2 で終了します (診断用の出力に対し、適切な情報が出力されます)。

関連項目
fdformat(1), fsck_msdos(8), mount_msdos(8), newfs(8)

バグ
現在は、ファイルシステムのパラメータを曖昧に指定することはできません。 よって、現在サポートしている容量のメディアしかフォーマットできません。 また、同じ理由により、ハードディスク上のパーティションも扱うことは出来ません。 これが出来るようになるためには、もっとたくさんオプションを追加しなければ なりません。また、既知のフォーマットを記憶してあるテーブルに、 もっとたくさんエントリを追加しなければなりません。

メディアの傷に対する対処はしません。

歴史
newfs_msdos は FreeBSD 2.2 で登場しました。

作者
このプログラムは Dresden の Joerg Wunsch によって寄贈されました。