Skip to content

ntfs

Windows NT filesystem.

Implements filesystem.Filesystem. No cgo, no root.

Warning

Lightweight, test-oriented. Use a real NTFS implementation for on-disk compatibility.

Status

Read Write Format Label Symlinks On-disk format
✅ ✅ ✅ ✅ ✕ Minimal in-image blob model — NOT the real NTFS on-disk format

Supported

  • Read/write files (blob storage inside the image)
  • Directories, recursive delete, rename
  • In-image free-list reuse
  • In-image Grow / Shrink / Resize and compaction (Compact, FragmentationStats, Layout)
  • A separate read-only reader parses genuine on-disk NTFS: LZNT1 decompression, named streams (ADS), $REPARSE_POINT symlinks/junctions, $ATTRIBUTE_LIST, volume label

Not implemented

  • The NTFSIMG1 in-image driver does not implement real NTFS structures (MFT, ACLs, journaling)
  • The real on-disk reader is read-only and does not decode EFS-encrypted data
  • Grow/Shrink/Resize/Compact operate on the NTFSIMG1 image only, not real on-disk NTFS

Install

go get github.com/go-filesystems/ntfs

Note

See the module's README for full, up-to-date details.