What is the UFS file format?
.ufs is a raw disk image containing a UFS2 (Unix File System 2) filesystem, used primarily by PC-BSD and its successor TrueOS for network-based installation cloning. Rather than a wrapper format, it is a verbatim sector-by-sector copy of a UFS2-formatted partition, suitable for writing directly to a target disk with dd or similar tools.
The UFS2 superblock - the on-disk structure that records block size, inode counts, and filesystem parameters - is located at offset 1,372 bytes (0x55C) from the start of the image, carrying the magic value 0x19540119. The older UFS1 variant places its superblock at offset 8,192 bytes. Beyond the superblock, the layout follows standard UFS2 conventions: boot blocks, cylinder group summaries, inode tables, and data blocks.
UFS2 is the native filesystem of FreeBSD, introduced with FreeBSD 5.0 in January 2003. The .ufs extension appeared in PC-BSD network installers distributed roughly between 2010 and 2018. Mounting a .ufs image on Linux requires the ufs kernel module via mount -t ufs -o ufstype=ufs2; on FreeBSD, mdconfig attaches the image as a memory disk before mounting.
PC-BSD was renamed TrueOS in 2016 and effectively discontinued in 2018 when iXsystems focused on TrueNAS. Raw disk images are now more commonly distributed with the .img extension.
Security & safety
RISK: LOWUFS disk images are passive filesystem containers. Risk is data exposure if the image contains sensitive files from the source system. Scan contents before sharing. Mounting an untrusted image on Linux with read-only flag (-o ro) limits risk.
Format details
in a nutshell- Generic raw disk image - Any raw UFS2 partition dump may be saved as .ufs regardless of origin tool.
Programs that open UFS files
Technical details
deep spec| Filesystem type | UFS2 (Unix File System 2) |
| Byte order | Little-endian |
| UFS2 superblock offset | 1372 bytes (0x55C) from image start |
| UFS2 superblock magic | 0x19540119 (fs_magic field) |
| UFS1 superblock offset | 8192 bytes (for older UFS1-formatted images) |
| Block structure | Configurable block and fragment sizes; typical: 32768-byte blocks, 4096-byte fragments |
| Cylinder group layout | Boot blocks → superblock → cylinder group summaries → inode tables → data blocks |
| OS origin field | fs_ostype in superblock identifies the creating operating system |
| Superblock checksum | CRC32 on UFS2 superblock (soft-updates); optional gjournal per-block checksums |
| Typical image size | 50 MB - 20 GB (PC-BSD/TrueOS network installer clone images) |
| FreeBSD mount method | mdconfig -a -t vnode -f <file.ufs> then mount /dev/md0 <mountpoint> |
| Linux mount command | mount -t ufs -o ufstype=ufs2 <file.ufs> <mountpoint> |
| Primary use case | PC-BSD / TrueOS network installation cloning (circa 2010-2018) |
| Released | UFS2 introduced in FreeBSD 5.0 (2003); .ufs image extension used by PC-BSD network installers |
| Latest version | UFS2 (current; UFS1 obsolete); no version embedded in image extension |
| Open standard | Yes · royalty-free |
| Specification | docs.freebsd.org |
UFS conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about UFS files.