Проблемы с кросс-совместимостью операционных систем не оканчиваются на формате бинарных файлов. Они начинаются намного раньше, на уровне файловых систем: бесполезно пытаться прочитать том Ext3 в Windows или открыть раздел HFS+ в Linux. Встречаются и более экзотические варианты. Разработчики стараются преодолеть этот барьер несовместимости и создают соответствующие драйверы. Одним из таких проектов является WinBtrfs. Btrfs — новая файловая система для Linux, основанная на ряде решений, применённых ещё в ReiserFS. Базой в ней является структура B-деревьев. Многие пророчат новой ФС роль конкурента ZFS: использование последней в Linux затруднено лицензионными ограничениями и сама ZFS весьма охоча до оперативной памяти.
Некоторые считают, что Btrfs можно читать как Better FS — «лучшая система» и что её будущее — замена файловых систем семейства Ext, благо, по тестам она с включенным режимом сжатия опережает Ext4. Но по понятным причинам открыть диск, отформатированный в Btrfs, в Windows нельзя. Точнее, нельзя было до недавнего времени. Проект WinBtrfs, целью которого является создание драйвера для ОС семейства Windows, позволяющего работать с томами Btrfs, вышел на первую финишную прямую — драйвер достиг версии 1.0. Это значит, что перед нами не очередная «альфа» или «бета», а полностью работоспособная система. Интересно, что драйвер не содержит кода из ядра Linux и написан, что называется, с нуля. Несмотря на статус релизной версии, разработка продолжается, и разработчики проекта предупреждают, что использовать данный драйвер пользователям придётся на свой страх и риск.
Весь код доступен под лицензией LGPL (GNU Lesser General Public Licence). В настоящее время в драйвере реализованы чтение и запись с дисков Btrfs, массивы RAID0, 1, 10 и даже продвинутые RAID5 и 6. Работает кеширование, поддерживается система разграничения доступа ACL, реализованы симлинки и «жёсткие» линки, асинхронные режимы чтения и записи, сжатие по алгоритму LZO, горячая замена устройства, создание новых файловых систем с помощью утилиты mkbtrfs. Работает такая популярная команда, как TRIM, а для крупных массивов поддерживается балансировка. Полностью с особенностями проекта можно ознакомиться на GitHub, и там же скачать исходный код, а также бинарные сборки для 32 и 64-битных версий Windows. Требуется версия Windows не ниже 7.
Источник: