NTFS2BTRFS(8)
๐ NTFS2BTRFS ๐
okay bestie, sit down, hydrate, because today we are doing a whole filesystem glow-up. the manual name is ntfs2btrfs, and it lives in section 8 of the system administration manual, which is basically the cool older-sibling section. it is iconic, it is powerful, and it does exactly one (1) extremely brave thing. let's get into it ๐ซถ
๐ธ NAME ๐ธ
ntfs2btrfs โ convert ntfs filesystem to btrfs filesystem ๐ซ
๐ SYNOPSIS ๐
ntfs2btrfs [options] device
๐ฆ DESCRIPTION ๐ฆ
so this tool does an in-place conversion of Microsoft's NTFS filesystem into the open-source filesystem Btrfs. same energy as what btrfs-convert does for ext2, just, y'know, for NTFS instead. no big deal. (it's a big deal.) ๐
โจ OPTIONS โจ
-c <ALGO>,--compress=<ALGO>โ uses the algorithm you name to recompress the files that are compressed on the NTFS volume. valid choices arezstd,lzo,zlib, ornone. if you don't hand it any value at all,zstdgets used, assuming it's been compiled in. heads up though: this gets ignored if you also pick--no-datasum(see below, bestie, read it).-h <ALGO>,--hash=<ALGO>โ picks the checksumming algorithm for you. valid choices arecrc32c,xxhash,sha256, andblake2. the first one of those is what you get by default, and ngl it should be fine for most purposes. ๐-r,--rollbackโ tries to restore the original NTFS filesystem. see the ROLLBACK section below, it's important. ๐-d,--no-datasumโ skips calculating checksums for existing data. > don't choose this unless you're sure it's what you want. like, sure sure. ๐ญ
๐ ROLLBACK ๐
the original filesystem image gets saved as image/ntfs.img, as a reflink copy. so you can restore it at literally any time by using the rollback option โ provided you haven't moved the data around by doing a balance. โจ
bear in mind that this restores the volume to how it was when you did the conversion, which means any changes you've made since will be lost. gone. poof. ๐ญ
if you decide to keep the conversion (slay, commitment), 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
usernamespace, e.g.:Zone.Identifierbecomesuser.Zone.Identifier.
๐ SEE ALSO ๐
๐ AUTHOR ๐
written by Mark Harmstone (mark@harmstone.com). thank you king ๐ซถ
๐ WEB ๐
https://github.com/maharmstone/ntfs2btrfs
okay and that's the whole page, bestie!! this was ntfs2btrfs version 20240115, dated January 2024 โ and it's an NTFS2BTRFS(8) situation, if you needed the receipts. go forth and convert responsibly, mwah ๐
๐
๐ฆ where this page comes from
- debian trixie: ntfs2btrfs 20240115-2 ยท GPL-2-or-later
- fedora 43: ntfs2btrfs 20240115-5.fc43 ยท GPL-2.0-or-later
- opensuse-leap 16.0: ntfs2btrfs 20240115-bp160.1.10 ยท GPL-2.0-only
- opensuse-leap 16.0: ntfs2btrfs 20240115-bp160.1.10 ยท GPL-2.0-only
- opensuse-leap 16.0: ntfs2btrfs 20240115-bp160.1.10 ยท GPL-2.0-only
- opensuse-leap 16.0: ntfs2btrfs 20240115-bp160.1.10 ยท GPL-2.0-only
- ubuntu noble: ntfs2btrfs 20240115-1 ยท GPL-2-or-later
- ubuntu questing: ntfs2btrfs 20240115-2
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms