NEWFS_MSDOS(8)

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

書式
newfs_msdos [-N] [-B boot] [-F FAT-type] [-I volid] [-L label] [-O OEM] [-S sector-size] [-a FAT-size] [-b block-size] [-c cluster-size] [-e dirents] [-f format] [-h heads] [-i info] [-k backup] [-m media] [-n FATs] [-o hidden] [-r reserved] [-s total] [-u track-size] special [disktype]

解説
newfs_msdos ユーティリティは、FAT12, FAT16, FAT32 のいずれかのファイルシステムを、デバイス special 上に作成します。この際、必要ならば disktab(5) の disktype を使用して、ジオメトリを決定します。

オプションを以下に示します:

-N  ファイルシステムを作成しません: パラメータを表示するだけです。

-B boot
    ブートストラップをファイルから取得します。

-F FAT-type
    FAT タイプ (12, 16, 32 のいずれか)。

-I volid
    ボリューム ID。

-L label
    ボリュームラベル (11 文字まで)。 ラベルを構成する文字は、 通常の DOS (8+3) ファイル名に許される文字のみにする必要があります。

-O OEM
    OEM 文字列 (8 文字まで)。 デフォルトは "BSD 4.4" です。

-S sector-size
    セクタあたりのバイト数。受け付ける値は、128 から 32768 までの、2 のべき乗です。

-a FAT-size
    FAT あたりのセクタ数。

-b block-size
    ファイルシステムのブロックサイズ (クラスタあたりのバイト数)。 この値は、受け付け可能なクラスタあたりのセクタ数 (後述) に、 分解可能である必要があります。

-c cluster-size
    クラスタあたりのセクタ数。受け付ける値は、1 から 128 までの、2 のべき乗です。

-e dirents
    ルートディレクトリのエントリ数 (FAT12 と FAT16 のみ)。

-f format
    標準 (フロッピディスク) フォーマットを指定します。 標準フォーマットは、(それぞれキロバイトでの容量で表現して) 160, 180, 320, 360, 640, 720, 1200, 1232, 1440, 2880 のいずれかです。

-h heads
    ドライブのヘッド数。

-i info
    ファイルシステム情報セクタの位置 (FAT32 のみ)。 値 0xffff は、情報セクタが無いことを意味します。

-k backup
    バックアップブートセクタの位置 (FAT32 のみ)。 値 0xffff は、バックアップセクタが無いことを意味します。

-m media
    メディア記述子 (受け付ける値は、0xf0 から 0xff まで)。

-n FATs
    FAT 数。受け付ける値は 1 から 16 までで、両端を含みます。デフォルトは 2 です。

-o hidden
    隠しセクタの数。

-r reserved
    予約セクタの数。

-s total
    ファイルシステムサイズ。

-u track-size
    トラックあたりのセクタ数。

注
FAT ファイルシステムパラメータは、 実際のファイルシステムの前にある「予約」セクタの始めの、 「ブートセクタの BPB (BIOS パラメータブロック)」に置かれます。 参照のために、この構造を以下に示します。

    struct bsbpb {
        u_int16_t	bps;		/* [-S] セクタあたりのバイト数 */
        u_int8_t	spc;		/* [-c] クラスタあたりのセクタ数 */
        u_int16_t	res;		/* [-r] 予約セクタ数 */
        u_int8_t	nft;		/* [-n] FAT 数 */
        u_int16_t	rde;		/* [-e] ルートディレクトリのエントリ数 */
        u_int16_t	sec;		/* [-s] 総セクタ数 */
        u_int8_t	mid;		/* [-m] メディア記述子 */
        u_int16_t	spf;		/* [-a] FAT あたりのセクタ数 */
        u_int16_t	spt;		/* [-u] トラックあたりのセクタ数 */
        u_int16_t	hds;		/* [-h] ドライブヘッド数 */
        u_int32_t	hid;		/* [-o] 隠しセクタ数 */
        u_int32_t	bsec;		/* [-s] ビッグ総セクタ数 */
    };
    /* FAT32 拡張 */
    struct bsxbpb {
        u_int32_t	bspf;		/* [-a] FAT あたりのビッグセクタ数 */
        u_int16_t	xflg;		/* 制御フラグ */
        u_int16_t	vers;		/* ファイルシステムバージョン */
        u_int32_t	rdcl;		/* ルートディレクトリの開始クラスタ */
        u_int16_t	infs;		/* [-i] ファイルシステムの情報セクタ */
        u_int16_t	bkbs;		/* [-k] バックアップブートセクタ */
    };

使用例

    newfs_msdos /dev/ad0s1

デフォルトパラメータを使用し、 /dev/ad0s1 にファイルシステムを作成します。

    newfs_msdos -f 1440 -L foo fd0

標準 1.44M ファイルシステムを、ボリュームラベル "foo" にて、 /dev/fd0 に作成します。

関連項目
disktab(5), disklabel(8), fdisk(8), newfs(8)

診断
終了状態は、成功時には0 に、エラー時には 1 になります。

歴史
newfs_msdos コマンドは、最初に FreeBSD 3.0 に登場しました。

作者
Robert Nordier <rnordier@FreeBSD.org>