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_POINTsymlinks/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/Compactoperate on the NTFSIMG1 image only, not real on-disk NTFS
Install
go get github.com/go-filesystems/ntfs
- Source: https://github.com/go-filesystems/ntfs
- API reference: https://pkg.go.dev/github.com/go-filesystems/ntfs
Note
See the module's README for full, up-to-date details.