Как открыть btrfs в windows

Обновлено: 08.07.2024

Переход на новую файловую систему, это всегда сложная задача. Мы уже доверяем старой, проверенной файловой системе. Она может даже имеет некоторые ограничения функциональности и производительности, но зато никогда нас не подводила. Новые файловые системы предлагают очень большое количество функций, но возникает вопрос, можно ли им доверять?

Одной из таких файловых систем является Btrfs. Это относительно новая файловая система, которая появилась в 2007 году и была разработана компанией Oracle. Она предлагает очень широкий набор новых возможностей и поэтому сильно интересует пользователей, но до сих пор в сети ходят слухи, что эта файловая система еще не пригодна для постоянного использования. В этой статье мы попытаемся разобраться какие возможности нам дает Btrfs, а также действительно ли ее уже можно использовать.

Что такое Btrfs?

Как я уже сказал, Btrfs была разработана компанией Oracle в 2007 году. Одной расшифровки названия нет, одни говорят, что это значит B-tree FS, другие Better Fs. Также как и в других файловых системах, все данные хранятся на диске по определенным адресам. Эти адреса сохранены в метаданных. И тут уже начинаются различия. Все метаданные организованны в виде b-деревьев. Это дает большую производительность при работе с файловой системой, а также позволяет добавлять неограниченное количество файлов.

Но даже это еще не все. Когда вы перезаписываете файл, данные не перезаписываются, а лишь модифицированная часть копируется в новое место, Затем просто обновляются метаданные. Это позволяет создавать мгновенные снимки файловой системы, которые не занимают места на диске, пока не было внесено много изменений. Если же старый блок больше не нужен, потому что он не является частью какого-либо снимка, то он автоматически удаляется.

Из-за своей структуры Btrfs имеет огромные возможности, например, она может работать с современными очень большими носителями данных. Максимальный размер файловой системы составляет 16 Экзабайт. Это все возможно благодаря правильному использованию пространства на диске. Другие файловые системы используют жесткий диск целиком, от начала до конца для записи своей структуры.

Btrfs поступает по-другому. Каждый диск, независимо от его размера делится на блоки по 1 Гб для данных и 256 Мб для метаданных. Затем эти блоки собираются в группы, каждая из которых может храниться на разных устройствах, количество таких блоков в группе может зависеть от уровня RAID для группы. Менеджер томов уже интегрирован в файловую систему, поэтому больше никакое дополнительное ПО использовать не нужно.

Защита и сжатие данных тоже поддерживается на уровне файловой системы так что здесь вам тоже не нужны дополнительные программы. Также файловая система btrfs поддерживает зеркалирование данных на нескольких носителях. Вот другие особенности btrfs, которые можно упомянуть:

  • Поддержка снимков файловой системы, только для чтения или для записи;
  • Контрольные суммы для данных и метаданных с помощью алгоритма crc32. Таким образом, можно очень быстро определить любые повреждения блока;
  • Сжатие с помощью Zlib и LZO;
  • Оптимизация для работы с SSD, файловая система автоматически определяет ssd и начинает вести себя по-другому;
  • Фоновый процесс для обнаружения и исправления ошибок, а также дефрагментации и дедупликации в реальном времени;
  • Поддерживается преобразование из ext4 и ext3.

Все это очень хорошо, но можно ли уже использовать эту файловую систему? Попробуем разобраться и с этим.

Готова ли Btrfs к использованию?

Вокруг Btrfs до сих пор сохранилось много неправильных представлений. Многие из них происходят от реальных проблем, которые были в начале разработки файловой системы. Но люди, просматривая эту информацию не смотрят на ее дату. Да Btrfs действительно была нестабильной и неустойчивой. Было очень много проблем с потерей данных и много пользователей писали об этом, но это было еще в 2010 году.

Самая важная часть файловой системы - это ее формат хранения на диске. Но формат файловой системы Btrfs уже зафиксирован, это случилось еще в 2012 году и он больше не изменяется без крайней необходимости. Это само по себе достаточно, чтобы признать стабильность btrfs.

Но почему же Btrfs считается многими нестабильной? Этому есть несколько причин. Во-первых, это боязнь пользователей к новым технологиям. Это было не только в Linux, но и в Microsoft, при их переходе на NTFS, и в Apple. Но здесь есть некоторый парадокс, файловая система XFS прошла 20 лет стабильного развития, но самой стабильной файловой системой считается ext4, которая была разработана из форка ext3 в 2006 году. Фактически она на год старше Btrfs.

Вторая причина в активной разработке, хотя формат хранения данных заморожен, основная кодовая база еще активно разрабатывается и там есть еще много места для улучшения производительности и внедрения новых функций.

Но уже есть много подтверждений, что файловая система готова. Эта файловая система используется на серверах Facebook, где компания хранит свои важные данные. А это уже само по себе важный фактор. Над улучшением файловой системы работают такие компании как Facebook, SuSE, RedHat, Oracle, Intel и другие. Эта файловая система используется в SUSE Linux Enterprise по умолчанию, начиная с выпуска 12. Все эти факторы вместе доказывают, что файловая система вполне готова к использованию. А учитывая функциональность и особенности btrfs ее уже можно использовать.

Использования Btrfs

Почему стоит использовать Btrfs и стоит ли вообще, разобрались. Теперь хотелось бы показать немного практики, чтобы вы могли оценить эту файловую систему в действии. Я буду приводить примеры на основе Ubuntu. Сначала установим инструменты для управления файловой системой:

sudo apt install btrfs-tools

Создание файловой системы btrfs

Сначала нужно создать файловую систему. Допустим, у нас есть два жестких диска /dev/sdb и /dev/sdc, мы хотим создать на них единую файловую систему с зеркалированием данных. Для этого достаточно выполнить:

sudo mkfs.btrfs /dev/sdb /dev/sdc

btrfs

По умолчанию будет использоваться RAID0 для данных (без дублирования, и RAID1 для метаданных (дублирование на один диск). При использовании одного диска метаданные тоже дублируются, если вы хотите отключить это поведение можно использовать опцию -m single:

sudo mkfs.btrfs -m single /dev/sdb

Но делая это, вы повышаете опасность потери данных, поскольку если метаданные будут утеряны, то данные тоже.

Посмотреть информацию о только что созданной файловой системе вы можете командой:

sudo btrfs filesystem show /dev/sdb

btrfs1

Или обо всех подключенных файловых систем:

sudo btrfs filesystem show

Монтирование btrfs

Для монтирования используйте обычную команду:

sudo mount /dev/sdb /mnt

btrfs2

Вы можете монтировать любой из дисков, это приведет к одинаковому эффекту. Строчка в /etc/fstab будет выглядеть так:

/dev/sdb /mnt btrfs defaults 0 1

Теперь смотрим информацию о занимаемом месте на дисках:

sudo btrfs filesystem df /mnt

btrfs3

Сжатие в btrfs

Для включения сжатия достаточно добавить опцию compress при монтировании. Ей можно передать алгоритм lzo или zlib:

sudo mount -o compress=lzo /dev/sdb /mnt
sudo mount -o compress=zlib /dev/sdb /mnt

Восстановление Btrfs

Для восстановления поврежденной Btrfs используйте опцию монтирования recovery:

sudo mount -o recovery /dev/sdb /mnt

Изменение размера

Вы можете изменить размер тома в реальном времени, для этого используйте команду resize:

sudo btrfs filesystem resize -2g /mnt

btrfs4

Уменьшит размер на 2 гигабайта. Затем увеличим на 1 Гигабайт:

sudo btrfs filesystem resize +1g /mnt

btrfs5

Создание подтомов

Вы можете создавать логические разделы, подтома внутри основного раздела с помощью Btrfs. Они могут быть примонтированы внутри основного раздела:

sudo btrfs subvolume create /mnt/sv1
sudo btrfs subvolume create /mnt/sv2
sudo btrfs subvolume list /mnt

btrfs6

Монтирование подтомов

Вы можете примонтировать подтом по id, полученному с помощью последней команды:

sudo umount /dev/sdb

sudo mount -o subvolid=258 /dev/sdb /mnt

Или вы можете использовать имя:

sudo mount -o subvol=sv1 /dev/sdb /mnt

Удаление подтомов

Сначала подключите корень btrfs вместо подтома:

sudo umount /mnt

sudo mount /dev/sdb /mnt/

Чтобы удалить подтом можно использовать путь монтирования, например:

sudo btrfs subvolume delete /mnt/sv1/

Создание мгновенных снимков

Файловая система Btrfs позволяет создавать мгновенные снимки изменений. Для этого используется команда snapshot. Например, создадим файл, затем сделаем снимок:

touch /mnt/sv1/test1 /mnt/sv1/test2

sudo btrfs subvolume snapshot /mnt/sv1 /mnt/sv1_snapshot

btrfs7

Дефрагментация btrfs

Из-за использования копирования при записи может возникать фрагментация. Чтобы запустить дефрагментацию файловой системы используйте команду:

sudo btrfs filesystem defrag /mnt

btrfs9

Выводы

Как видите, файловая система btrfs очень интересная и перспективная. К тому же она уже полностью готова к использованию и достаточно стабильна. А вы уже пользуетесь Btrfs? Собираетесь пользоваться после прочтения статьи? Напишите в комментариях внизу!

Проблемы с кросс-совместимостью операционных систем не оканчиваются на формате бинарных файлов. Они начинаются намного раньше, на уровне файловых систем: бесполезно пытаться прочитать том 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.

в основном то же, что и How to read ext4 partitions on Windows ? .

Поскольку я хотел наслаждаться функциями btrfs, такими как прозрачное сжатие или автоматическая дефрагментация, я установил свою систему Linux в субволюме btrfs.

Я попытался ᴜꜰꜱ Explorer, но он не способен читать большинство моих файлов.

Итак, как получить мои музыкальные файлы Linux без перезагрузки ?

Мне нужен только доступ на чтение, а не запись байтов в файловой системе (моя система Linux приостановлено на диске).

Лучшим вариантом было бы иметь возможность экспортировать каталоги в виде архива tar, чтобы сохранить разрешения и атрибуты.

только потому, что эта тема появляется в Google, я хотел бы повторить ответ noctrex в рекомендации WinBtrfs (GitHub), экспериментальный драйвер Btrfs для Windows. среди других особенностей Он поддерживает:

  • чтение и запись файловых систем Btrfs
  • базовый RAID: RAID0, RAID1 и RAID10
  • расширенный RAID: RAID5 и RAID6
  • получение и настройка доступа Списки управления (ACL), используя безопасность xattr.NTACL
  • жесткие ссылки
  • разреженные файлы
  • сжатие zlib
  • сжатие LZO

вы можете подключить его только для чтения после установки, изменив записи реестра в в HKLM\система\CurrentControlSet на\сервисы\система Btrfs, и я нашел его очень стабильным (если немного медленным) даже с шестью смонтированными разделами Btrfs и очень частым читает с одного из них.

Он поддерживает запись на диск, но поскольку программное обеспечение все еще находится в разработке (и поставляется с важным отказом от ответственности, что "вы используете его на свой страх и риск. Я не несу ответственности за любой ущерб, который он может нанести вашей файловой системе. Не используйте этот драйвер, если у вас нет полных и обновленных резервных копий всех ваших данных"), вероятно, не рекомендуется монтировать его только для чтения. (К сожалению, по умолчанию он монтируется с включенной записью, поэтому вам нужно перейти в зарегистрируйте и измените это. В любом случае у вас обязательно должны быть резервные копии.)

Доброго дня!

К сожалению "обычная" версия Windows не позволяет работать с дисками, отформатированными в файловые системы (ФС) Ext2, Ext3, Ext4 (используются в Linux). Всё, что доступно — это узнать о их существовании в управлении дисками, а вот скопировать файл — уже проблема.

Наиболее сподручный и самый удобный вариант (на мой взгляд) — установить в Windows спец. драйвер, который позволит ОС работать с дисками Ext2/3/4 также, как если бы они были отформатированы в NTFS (скажем). Т.е. любая программа в Windows (тот же проводник) сможет в обычном режиме работать с диском. Удобно?

Теперь о том, "что" выбрать.

ускорение ПК

Как «прочитать» информацию на разделах с файловыми системами Ext2, Ext3, Ext4

Способ 1 (через спец. драйвер)

Подобные "драйверы" есть от нескольких производителей. Я бы выделил продукт от Paragon (ссылка на офиц. сайт с драйвером). Почему:

  1. поддержка ФС: Ext2, Ext3, Ext4 (чтение + запись); Btrfs, XFS (только чтение);
  2. после установки драйвера — ничего "делать" не нужно: просто Windows начинает видеть накопители с Ext4+;
  3. совместим с ОС Windows 7/8/10 (плюс есть пробный период, которого хватает для возникшей задачи (обычно)).

Драйвер от Paragon

Драйвер от Paragon

Обратите внимание, что "ненужные" разделы диска можно откл. и не монтировать. Настройка драйвера позволяет это сделать.

Главное окно (Linux File Systems for Windows by Paragon Software)

Главное окно (Linux File Systems for Windows by Paragon Software)

На скрине ниже привел окно проводника: как видите, раздел отображает как "обычный" — на него также можно что-нибудь скопировать / удалить.

Этот компьютер — диски с ФС EXT4 появились в проводнике

На Sourceforge можно также найти бесплатный драйвер файловой системы Ext2/3/4 для Windows 7/8/10* (ориг. название: Ext2Fsd).

Сразу отмечу, что на некоторых ОС Windows 10 — драйвер этот ведет себя нестабильно, и не позволяет прочитать информацию с нужного раздела.

Продукт от Paragon, конечно, выигрывает.

Способ 2 (через дополнения к TC)

TC — это сокращенное название файлового коммандера Total Commander (некая замена проводнику). К этой программе есть очень много плагинов, и, разумеется, для чтения Ext2/3/4 ФС тоже есть!

Покажу по шагам, как в нем открыть подобный раздел диска.

1) Сначала устанавливаем сам Total Commander. Ссылка на офиц. сайт.

2) Далее необходимо загрузить плагин DiskInternals Reader с офиц. сайта (он идет в архиве ZIP - извлекать не нужно).

Запуск TC от имени админа

Запуск TC от имени админа

Установка плагина

DiskInternals Reader

Файлы читаются, можно копировать

Файлы читаются, можно копировать

Способ 3 (с помощью LiveCD)

2) Загруженный ISO-файл с нужной версией дистрибутива Linux необходимо правильно записать на флешку.

3) Далее останется только загрузиться с этой флешки с помощью Boot Menu (вызывается сразу после вкл. ПК). Если вы выберите дистрибутив Linux для новичка — то работать с ним весьма просто (ничуть не сложнее, чем с проводником Windows).

Данная статья частично является переводом официальной вики.

Эта страница содержит информацию о файловых системах, которые ReactOS намерена поддерживать.

Содержание

FAT32

FAT32 — файловая система, разработанная корпорацией Microsoft. Появилась в августе 1996 года, вместе с Windows 95 OSR2. Она проста и легка для понимания по сравнению с другими распространенными файловыми системами. FAT поддерживается различными операционными системами, в т.ч. GNU/Linux, FreeBSD, BeOS, Mac OS X, и FreeDOS. Это делает FAT32 эффективной файловой системой для обмена файлами между операционными системами. Также широко используется на флэш-носителях и внешних жестких дисках.

Статус

ReactOS в настоящее время имеет возможность форматирования и установки на FAT раздел. Драйвер файловой системы в значительной степени выполнен, но содержит много вопросов. В настоящее время он переписывается для использования библиотеки FastFAT.

  • с ревизии 63696 доступно полное форматирование HDD при установке ReactOS.
  • в ревизии 64836 исправлены все проблемы с переименованием файлов.

Разработка

NTFS — еще одна файловая система, разработанная корпорацией Microsoft. Была введена в линейке операционных систем NT, заменив FAT в качестве предпочтительной файловой системы.

Статус

Должна появиться в ReactOS 0.5.0. Поддержка NTFS планируется, но не является приоритетной. Первой целью в этой области, является дать возможность использовать драйвер, включенный в Windows XP, который обеспечивал бы в ReactOS поддержку NTFS.

Первую крупную попытку добавления NTFS в ReactOS сделал Пьер Швейцер (Pierre Schweitzer). При этом, NTFS-3G ему не очень пригодился, из-за довольно значительных различий в архитектурах IFS-драйвера режима ядра и драйвера пользовательского режима. [1]

На 2 ноября 2014 реализована поддержка чтения NTFS.

22 марта 2016 года в баг-трекере ReactOS был опубликован патч CORE-10998 начальной реализации записи NTFS (см. подробнее отчет).

Летом 2016 года, в рамках GSoC, была реализована перезапись существующих файлов.

Летом 2017 года, в рамках GSoC, планировалась реализация создания и удаления файлов.[2] Однако, была реализована только поддержка создания.[3]

10 декабря 2017 Thomas Faber добавил наработки GSoC в транк.

На конец августа 2017 года:

  • поддержка записи по-умолчанию отключена (для предотвращения потери данных, включается через реестр)
  • добавлена поддержка создания файлов и папок
  • Windows видит все файлы и папки, созданные в ReactOS. Протестировано до 700 файлов (текущий предел тестера)
  • все файлы, созданные в ReactOS, имеют правильное содержимое при чтении в Windows.
  • chkdsk не сообщает о каких-либо проблемах после создания файлов и папок в ReactOS
  • выявлены и исправлены многочисленные ошибки

Что планируется еще сделать:

  • удаление и переименование файлов и каталогов
  • кэширование
  • поддержка файла подкачки
  • поддержка асинхронного I/O
  • поддержка отображения файла в память

Нереализованные возможности, необходимые для загрузки:

  • добавление поддержки форматирования
  • обновление инсталлятора для использования NTFS
  • создание загрузчика для NTFS и использование/исправление поддержки NTFS в freeldr
  • ? что-то еще

Не до конца реализованные функции:

  • редкие файлы
  • именованные потоки
  • файловые записи, которые имеют или требуют атрибут $ ATTRIBUTE_LIST

Не поддерживаемые функции:

  • поддержка дисков и файлов с более чем с 2^32 кластерами
  • сжатие файлов
  • шифрование файлов
  • логирование[4]

Second Extended File System (дословно: «вторая расширенная файловая система»), сокращённо ext2 (иногда ext2fs) — файловая система ядра Linux. Была представлена в апреле 1992 года, в качестве замены для расширенной файловой системы (Ext). Т.к. Microsoft не предоставляет поддержку Ext/2, драйвер будет реализован сторонним разработчиком.

Статус

Уже реализована возможность форматирования раздела в ext2, на первой стадии установки, но, начиная с ревизии r62766, отключена. Сам драйвер ext2 достаточно развит и может быть использован. Тем не менее, инфраструктура поддержки ФС (в частности, менеджер кэша) нуждается в дальнейшем развитии, прежде чем ext2 можно будет использовать.

Переписывание

28 сентября 2015 года было решено переписать драйвер ext/2 с использованием драйвера ext2fsd.

  • 12 октября в ревизии 897634c (r69509) драйвер был добавлен в транк.

Если у вас при загрузке livecd или RAM-образа из-за ext2 драйвера не загружается система (CORE-10402) измените iso образ, удалив файл reactos\system32\drivers\ext2fs.sys.

BtrFs

BtrFs — свободная файловая система, разрабатываемая при поддержке компании Oracle, основанная на структурах B-деревьев. Распространяется по лицензии GPL. Одной из первоначальных целей разработки данной файловой системы было обеспечение достойной конкуренции популярной ZFS. Btrfs будет избавлена от многих недостатков, присущих другим современным файловым системам для Linux.

В 2016 году на github-е Mark Harmstone опубликовал драйвер BtrFs для Windows. На основе опубликованного кода разработчики системы добавили поддержку данной файловой системы в ReactOS.

В 2018 году, в рамках GSoC, планируется реализация загрузки с BtrFs.

UDF — (Universal Disk Format) формат записи CD-RW, который позволяет «отформатировать» диск и работать с ним как с обычной большой дискетой, позволяющей чтение/запись/удаление/изменение данных. Объём таких UDF-форматированных дисков равен примерно 530 Мбайт, в отличие от обычных 700 Мбайт при записи одной сессией на весь диск.

В ReactOS планировалось добавить поддержку UDF. На 17 июня 2015 года были исправлены проблемы, возникающие при сборке драйвера, однако он не работает. [5]

4 июня 2017 года была добавлена поддержка чтения UDF.

    — ReactOS не поддерживает UDF — ReactOS не загружается с UDF-драйвером
  • NFS (Network File System) — протокол сетевого доступа к файловым системам. Позволяет подключать (монтировать) удалённые файловые системы через сеть. Возможно будет поддерживается в будущем, в настоящее время отсутствует. В 2012 году был опубликован open source драйвер файловой системы NFS 4.1, который, в апреле 2017 года был использован Пьером Швейцером для реализации поддержки NFS в ReactOS.
    • Кроме NFS Пьер пишет поддержку RDBSS[6]

    03.12.2017 Pierre Schweitzer добавил драйвер ISO-образов VCDROM.

    Для его использования можно воспользоваться уже встроенной консольной утилитой vcdcli. В качестве GUI можно воспользоваться Virtual CD-ROM Control Panel.

    Использование vcdcli

    vcdcli - утилита командной строки, для монтирования дисков.

    • список устройств
    • список подключенных устройств
    • создание виртуального привода
    • монтирование образа
    • извлечение образа
    • переподключение образа

    VFD - Virtual Floppy Drive - драйвер виртуальных дискет. Был реализован 23-дек-2017 в rfc92142.

    Читайте также: