Scroll to navigation

NTFS2BTRFS(8) System Administration NTFS2BTRFS(8)

NAME

ntfs2btrfs - convert ntfs filesystem to btrfs filesystem

SYNOPSIS

ntfs2btrfs [options] device

DESCRIPTION

This is a tool which does in-place conversion of Microsoft's NTFS filesystem to the open-source filesystem Btrfs, much as btrfs-convert does for ext2.

OPTIONS

-c <ALGO>, --compress=<ALGO>

Uses the specified algorithm to recompress files that are compressed on the NTFS volume; valid choices are zstd, lzo, zlib, or none. If you don't specify any value, zstd will be used, assuming it's been compiled in. Note that this will be ignored if you also select --no-datasum (see below).

-h <ALGO>, --hash=<ALGO>

Uses the specified checksumming algorithm; valid choices are crc32c, xxhash, sha256, and blake2. The first of these will be used by default, and should be fine for most purposes.

-r, --rollback

Tries to restore the original NTFS filesystem. See ROLLBACK below.

-d, --no-datasum

Skips calculating checksums for existing data. Don't choose this unless you're sure it's what you want.

ROLLBACK

The original filesystem image is saved as image/ntfs.img as a reflink copy. You can restore this at any time by using the rollback option, provided that you've not moved the data by doing a balance. Bear in mind that this restores the volume to how it was when you did the conversion, meaning that any changes you've made since will be lost.

If you decide to keep the conversion, you can remove the image subvolume at any point to free up space.

XATTRS

Various bits of NTFS-specific data are stored as Btrfs xattrs, in a manner that the Windows btrfs driver understands (https://github.com/maharmstone/btrfs). Some should also be understood by tools such as Wine and Samba, but YMMV.

The NTFS attribute value is stored as a hex string at user.DOSATTRIB.
The reparse points on directories are stored at user.reparse. NTFS symlinks should be converted into POSIX symlinks. The data for other reparse points will be stored as the contents of the files.
The NT security descriptor is stored as security.NTACL.
Alternate data streams on files are stored in the user namespace, e.g. :Zone.Identifier becomes user.Zone.Identifier.

SEE ALSO

btrfs(8), mkfs.btrfs(8).

AUTHOR

Written by Mark Harmstone (mark@harmstone.com).

WEB

https://github.com/maharmstone/ntfs2btrfs
May 2023 ntfs2btrfs 20230501