Command Section
NEWFS(8)                FreeBSD System Manager's Manual               NEWFS(8)

     newfs - construct a new UFS1/UFS2 file system

     newfs [-EJNUjlnt] [-L volname] [-O filesystem-type] [-S sector-size]
           [-T disktype] [-a maxcontig] [-b block-size]
           [-c blocks-per-cylinder-group] [-d max-extent-size] [-e maxbpg]
           [-f frag-size] [-g avgfilesize] [-h avgfpdir] [-i bytes]
           [-k held-for-metadata-blocks] [-m free-space] [-o optimization]
           [-p partition] [-r reserved] [-s size] special

     The newfs utility is used to initialize and clear file systems before
     first use.  The newfs utility builds a file system on the specified
     special file.  (We often refer to the ``special file'' as the ``disk'',
     although the special file need not be a physical disk.  In fact, it need
     not even be special.)  Typically the defaults are reasonable, however
     newfs has numerous options to allow the defaults to be selectively

     The following options define the general layout policies:

     -E      Erase the content of the disk before making the filesystem.  The
             reserved area in front of the superblock (for bootcode) will not
             be erased.

             This option is only relevant for flash based storage devices that
             use wear-leveling algorithms.

             Erasing may take a long time as it writes to every sector on the

     -J      Enable journaling on the new file system via gjournal.  See
             gjournal(8) for details.

     -L volname
             Add a volume label to the new file system.

     -N      Cause the file system parameters to be printed out without really
             creating the file system.

     -O filesystem-type
             Use 1 to specify that a UFS1 format file system be built; use 2
             to specify that a UFS2 format file system be built.  The default
             format is UFS2.

     -T disktype
             For backward compatibility.

     -U      Enable soft updates on the new file system.

     -a maxcontig
             Specify the maximum number of contiguous blocks that will be laid
             out before forcing a rotational delay.  The default value is 16.
             See tunefs(8) for more details on how to set this option.

     -b block-size
             The block size of the file system, in bytes.  It must be a power
             of 2.  The default size is 32768 bytes, and the smallest
             allowable size is 4096 bytes.  The optimal block:fragment ratio
             is 8:1.  Other ratios are possible, but are not recommended, and
             may produce poor results.

     -c blocks-per-cylinder-group
             The number of blocks per cylinder group in a file system.  The
             default is to compute the maximum allowed by the other
             parameters.  This value is dependent on a number of other
             parameters, in particular the block size and the number of bytes
             per inode.

     -d max-extent-size
             The file system may choose to store large files using extents.
             This parameter specifies the largest extent size that may be
             used.  The default value is the file system blocksize.  It is
             presently limited to a maximum value of 16 times the file system
             blocksize and a minimum value of the file system blocksize.

     -e maxbpg
             Indicate the maximum number of blocks any single file can
             allocate out of a cylinder group before it is forced to begin
             allocating blocks from another cylinder group.  The default is
             about one quarter of the total blocks in a cylinder group.  See
             tunefs(8) for more details on how to set this option.

     -f frag-size
             The fragment size of the file system in bytes.  It must be a
             power of two ranging in value between blocksize/8 and blocksize.
             The default is 4096 bytes.

     -g avgfilesize
             The expected average file size for the file system.

     -h avgfpdir
             The expected average number of files per directory on the file

     -i bytes
             Specify the density of inodes in the file system.  The default is
             to create an inode for every (2 * frag-size) bytes of data space.
             If fewer inodes are desired, a larger number should be used; to
             create more inodes a smaller number should be given.  One inode
             is required for each distinct file, so this value effectively
             specifies the average file size on the file system.

     -j      Enable soft updates journaling on the new file system.  This flag
             is implemented by running the tunefs(8) utility found in the
             user's $PATH.

     -k held-for-metadata-blocks
             Set the amount of space to be held for metadata blocks in each
             cylinder group.  When set, the file system preference routines
             will try to save the specified amount of space immediately
             following the inode blocks in each cylinder group for use by
             metadata blocks.  Clustering the metadata blocks speeds up random
             file access and decreases the running time of fsck(8).  By
             default newfs sets it to half of the space reserved to minfree.

     -l      Enable multilabel MAC on the new file system.

     -m free-space
             The percentage of space reserved from normal users; the minimum
             free space threshold.  The default value used is defined by
             MINFREE from <ufs/ffs/fs.h>, currently 8%.  See tunefs(8) for
             more details on how to set this option.

     -n      Do not create a .snap directory on the new file system.  The
             resulting file system will not support snapshot generation, so
             dump(8) in live mode and background fsck(8) will not function
             properly.  The traditional fsck(8) and offline dump(8) will work
             on the file system.  This option is intended primarily for memory
             or vnode-backed file systems that do not require dump(8) or
             fsck(8) support.

     -o optimization
             (space or time).  The file system can either be instructed to try
             to minimize the time spent allocating blocks, or to try to
             minimize the space fragmentation on the disk.  If the value of
             minfree (see above) is less than 8%, the default is to optimize
             for space; if the value of minfree is greater than or equal to
             8%, the default is to optimize for time.  See tunefs(8) for more
             details on how to set this option.

     -p partition
             The partition name (a..h) you want to use in case the underlying
             image is a file, so you do not have access to individual
             partitions through the filesystem.  Can also be used with a
             device, e.g., newfs -p f /dev/da1s3 is equivalent to newfs

     -r reserved
             The size, in sectors, of reserved space at the end of the
             partition specified in special.  This space will not be occupied
             by the file system; it can be used by other consumers such as
             geom(4).  Defaults to 0.

     -s size
             The size of the file system in sectors.  This value defaults to
             the size of the raw partition specified in special less the
             reserved space at its end (see -r).  A size of 0 can also be used
             to choose the default value.  A valid size value cannot be larger
             than the default one, which means that the file system cannot
             extend into the reserved space.

     -t      Turn on the TRIM enable flag.  If enabled, and if the underlying
             device supports the BIO_DELETE command, the file system will send
             a delete request to the underlying device for each freed block.
             The trim enable flag is typically set when the underlying device
             uses flash-memory as the device can use the delete command to
             pre-zero or at least avoid copying blocks that have been deleted.

     The following options override the standard sizes for the disk geometry.
     Their default values are taken from the disk label.  Changing these
     defaults is useful only when using newfs to build a file system whose raw
     image will eventually be used on a different type of disk than the one on
     which it is initially created (for example on a write-once disk).  Note
     that changing any of these values from their defaults will make it
     impossible for fsck(8) to find the alternate superblocks if the standard
     superblock is lost.

     -S sector-size
             The size of a sector in bytes (almost never anything but 512).

           newfs /dev/ada3s1a

     Creates a new ufs file system on ada3s1a.  The newfs utility will use a
     block size of 32768 bytes, a fragment size of 4096 bytes and the largest
     possible number of blocks per cylinders group.  These values tend to
     produce better performance for most applications than the historical
     defaults (8192 byte block size and 1024 byte fragment size).  This large
     fragment size may lead to much wasted space on file systems that contain
     many small files.

     fdformat(1), geom(4), disktab(5), fs(5), camcontrol(8), dump(8),
     dumpfs(8), fsck(8), gpart(8), gjournal(8), growfs(8), gvinum(8),
     makefs(8), mount(8), tunefs(8)

     M. McKusick, W. Joy, S. Leffler, and R. Fabry, "A Fast File System for
     UNIX", ACM Transactions on Computer Systems 2, 3, pp 181-197, August
     1984, (reprinted in the BSD System Manager's Manual).

     The newfs utility appeared in 4.2BSD.

FreeBSD 11.1-RELEASE-p4          July 15, 2015         FreeBSD 11.1-RELEASE-p4
Command Section