Skip to content

danwdart/ntfs2btrfs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ntfs2btrfs

Ntfs2btrfs 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. The original image is saved as a reflink copy at image/ntfs.img, and if you want to keep the conversion you can delete this to free up space.

Although I believe this tool to be stable, please note that I take no responsibility if something goes awry!

You're probably also interested in WinBtrfs, which is a Btrfs filesystem driver for Windows.

Thanks to Eric Biggers, who successfully reverse-engineered Windows 10's "WOF compressed data", and whose code I've used here.

Usage

On Windows, from an Administrator command prompt:

ntfs2btrfs.exe D:\

Bear in mind that it won't work with your boot drive or a drive with a pagefile on it.

On Linux, as root:

ntfs2btrfs /dev/sda1

Installation

On Windows, go to the Releases page and download the latest Zip file.

For Linux:

For other distributions or operating systems, you will need to compile it yourself - see below.

Changelog

  • 20210105

    • Added support for NTFS compression
    • Added support for "WOF compressed data"
    • Fixed problems caused by sparse files
    • Miscellaneous bug fixes
  • 20201108

    • Improved error handling
    • Added better message if NTFS is corrupted or unclean
    • Better handling of relocations
  • 20200330

    • Initial release

Compilation

On Windows, open the source directory in a recent version of MSVC, right-click on CMakeLists.txt, and click Compile.

On Linux:

cmake .
make

You'll also need libfmt installed - it should be in your package manager.

What works

  • Files
  • Directories
  • Symlinks
  • Other reparse points
  • Security descriptors
  • Alternate data streams
  • DOS attributes (hidden, system, etc.)

What doesn't work

  • Rollback to original NTFS image
  • Windows' old extended attributes (you're not using these)
  • Large (i.e >16KB) ADSes (you're not using these either)
  • Preservation of LXSS metadata
  • Preservation of the case-sensitivity flag
  • Unusual cluster sizes (i.e. not 4 KB)
  • Encrypted files

Can I boot Windows from Btrfs with this?

Yes, if the stars are right. See Quibble.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 58.2%
  • C 38.4%
  • Assembly 2.4%
  • Other 1.0%