explaingit

maharmstone/btrfs

7,423CAudience · developerComplexity · 3/5LicenseSetup · easy

TLDR

WinBtrfs is a Windows driver that lets you read and write Linux Btrfs-formatted drives on Windows, with support for RAID, snapshots, compression, and WSL integration, installed in seconds via a right-click.

Mindmap

mindmap
  root((WinBtrfs))
  What it does
    Btrfs on Windows
    Read and write drives
    Linux drive access
  Features
    RAID 0 1 5 6
    Snapshots subvolumes
    WSL integration
    Shell extension
  Setup
    INF right-click install
    Chocolatey Scoop
    Signed driver
  Limitations
    No defragmentation
    No quota support
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Access a Linux Btrfs drive on a Windows PC without reformatting it, reading and writing files as normal

USE CASE 2

Use WSL on a Btrfs volume that preserves Linux file permissions and symlinks correctly

USE CASE 3

Create Btrfs snapshots and subvolumes directly from Windows File Explorer using the right-click shell extension

USE CASE 4

Transfer drives between a Linux server and a Windows workstation while keeping RAID and compression intact

Tech stack

CWindows Driver KitBtrfs

Getting it running

Difficulty · easy Time to first run · 5min

Secure Boot users may need a registry change before the driver loads, keeping backups of Btrfs drives is strongly recommended.

GNU Lesser General Public Licence (LGPL), free to use and link in your own software, modifications to WinBtrfs itself must be shared under the same license.

In plain English

WinBtrfs is a driver for Windows that lets the operating system read and write drives formatted with Btrfs, a filesystem type that is standard in many Linux environments. By default, Windows cannot see Btrfs-formatted partitions at all. With this driver installed, those drives appear and work like any other Windows disk. The driver is a complete reimplementation written from scratch and contains no code borrowed from the Linux kernel. The project supports most of the significant capabilities that Btrfs offers on Linux. This includes several RAID configurations, which are ways of spreading data across multiple drives for redundancy or speed, from simpler setups like RAID0 and RAID1 through more complex ones like RAID5 and RAID6. It also supports three types of compression for storing data more compactly, disk health checks through scrubbing, the ability to create snapshots and subvolumes, and sending or receiving subvolume data between systems. On the access control side, the driver maps between Linux-style user identifiers and Windows-style identifiers so that file permissions carry over correctly. It also supports Windows Subsystem for Linux, allowing WSL to use a Btrfs volume and preserve Linux metadata like permissions and symlinks. A Windows shell extension integrates with File Explorer so you can create subvolumes and snapshots through right-click menus without using the command line. Installation is straightforward: download the release, right-click the included .inf file, and choose Install. The driver is signed so it loads without special configuration on most systems. It is also available through the Chocolatey and Scoop package managers. For Secure Boot users, a registry change may be needed, though the README suggests turning Secure Boot off as the simpler option. The driver is released under the GNU Lesser General Public Licence. The README includes a clear disclaimer that you use it at your own risk and should keep backups of any data on the drives you mount through it. It has been in development long enough to cover most day-to-day use cases, but a few features such as defragmentation and quota support are still noted as not yet implemented.

Copy-paste prompts

Prompt 1
Install WinBtrfs on Windows 11 and mount a Btrfs-formatted USB drive to copy files from a Linux system
Prompt 2
Set up WinBtrfs so that WSL stores its filesystem on a Btrfs volume and preserves Linux file permissions
Prompt 3
How do I create a Btrfs snapshot of a mounted drive on Windows using the WinBtrfs shell extension in File Explorer?
Prompt 4
What registry change is needed to use WinBtrfs with Secure Boot enabled on Windows 10 or 11?
Open on GitHub → Explain another repo

← maharmstone on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.