Поддерживает ли linux ntfs

Обновлено: 02.07.2024

Российская компания Paragon Software опубликовала исходный код собственной реализации драйвера файловой системы NTFS для Linux. Соответствующий патч в список рассылки разработчиков ядра отправил один из основателей и генеральный директор компании Константин Комаров. Код разработки опубликован на условиях свободной лицензии GPL 2.0.

Драйвер добавляет в Linux полноценную поддержку основной файловой системы Microsoft Windows на уровне ядра, включая возможности актуальной версии NTFS 3.1. В их числе – воспроизведение изменений из журнала; поддержка обычных, сжатых и разреженных файлов.

Paragon Software планирует взять на себя сопровождение проекта, обеспечить исправление ошибок и добавление новой функциональности. В частности, разработчики обещают добавить поддержку полного журналирования поверх универсального блочного устройства (Journaling Block Device, JBD). На его основе, к примеру, организовано журналирование в «родной» для Linux файловой системе ext4.

tuxtux600.jpg

Linux предложили новую свободную реализацию драйвера файловой системы NTFS

Ранее Paragon Software предлагала лишь закрытую коммерческую версию драйвера Microsoft NTFS for Linux. Вероятно, на коде данной разработки и базируется новый открытый драйвер.

Патч могут не принять

Как отмечает тематический ресурс Phoronix, в текущем виде разработка Paragon Software не готова к включению в ядро Linux, в частности из-за несоблюдения авторами ряда требований по оформлению патчей. К примеру, патч отправлен в рассылку в виде ссылки на единственный файл, содержащий более 27 тыс. строк, что существенно затрудняет обязательную процедуру проверки кода.

Ситуация с поддержкой NTFS в Linux и macOS

NTFS (New Technology File System, «файловая система новой технологии») – стандартная файловая система для семейства операционных систем Windows NT (куда входит в том числе и Windows 10) корпорации Microsoft. Впервые представлена в 1993 г. Спецификации NTFS закрыты, что значительно усложняет разработку драйверов для ее поддержки.

Операционные системы на базе ядра Linux «из коробки» поддерживают ряд современных файловых систем, в том числе XFS, JFS, BtrFS, ext4. Последняя является наиболее частым выбором пользователя. Поддержка NTFS в Linux также реализована – в ядро с версии 2.2 по умолчанию включен модуль, обеспечивающий поддержку данной файловой системы, но только в режиме чтения. То есть при необходимости пользователь Linux сможет подключить и скопировать данные с дисков и флеш-накопителей, записанных под Windows, однако полноценная работа с ними ему недоступна.

В настоящее время единственный способ получения в Linux полноценного доступа к NTFS-разделам, в том числе на запись, без приобретения коммерческих продуктов предполагает использование открытого проекта ntfs-3g. При применении ntfs-3g разделы NTFS монтируются (подключаются) с использованием модуля FUSE (Filesystem in Userspace, «файловая система в пользовательском пространстве»). Из недостатков ntfs-3g можно отметить невысокую производительность по сравнению с оригинальным драйвером для Windows и отсуствие обновлений с 2017 г.

Киберучения: как отработать реагирование на атаки хакеров на полигоне


В операционной системе Apple macOS встроенный драйвер NTFS по умолчанию работает в режиме чтения. После выпуска версии Snow Leopard была найдена возможность включения экспериментальной поддержки записи на NTFS, которую можно активировать через терминал. Однако она может работать нестабильно и приводить к различным проблемам.

Пользователям macOS также доступны коммерческие решения по поддержке NTFS, в том числе и разработка Paragon Software – Microsoft NTFS for Mac, и все тот же ntfs-3g, установка и настройка которого для рядового пользователя может стать нетривиальной задачей.

Несколько слов о Paragon Software

Компания Paragon Software была основана в 1994 г. студентами и выпускниками Московского физико-технического института (МФТИ), преимущественно вышедшими из компании «Физтехсофт». Первыми двумя продуктами фирмы стали Paragon DOS и Paragon BootManager. В дальнейшем к ним добавилось ПО для карманных компьютеров – компания начала с локализации популярного тогда PDA Newton и с технологии распознавания рукописного ввода Penreader.

Сегодня одним из приоритетных направлений компании является создание программных решений для управления жесткими дисками, распределения и защиты данных. Офисы группы расположены в США, Китае, Японии, Польше и России, головной офис – в немецком городе Фрайбург-им-Брайсгау.

Paragon Software сотрудничала с Microsoft, в том числе по вопросу разработки закрытых коммерческих версий драйверов файловых систем, права на которые принадлежат корпорации из Редмонда. Например, в начале 2017 г. россияне выпустили Paragon exFAT для Android – первую на рынке потребительскую версию файловой системы для беспрепятственного обмена данными между внешними носителями объемом более 32 ГБ и устройствами на базе Android – операционной системой, основанной на Linux.

В октябре 2019 г. CNews писал, что Paragon Software представила Linux-сообществу собственную реализацию драйвера файловой системы exFAT, предназначенной для флеш-накопителей. На тот момент драйвер работал в режиме только чтения, но в разработке находилась версия, поддерживающая режим записи.

В январе 2020 г. южнокорейская корпорация Samsung предложила собственную реализацию exFAT. Именно в ее пользу впоследствии сделали выбор разработчики Linux.

Недавно, входе установки дистрибутива Zorin OS, я выделил и указал монтирование дополнительного раздела с файловой системой ext4. Как выяснилось после установки системы, раздел смонтирован, но права доступа на запись раздела есть только у Администратора (Root). Я не мог ничего скопировать в него или создать в нем папку. По всей видимости, у меня не было «прав на запись» для указанного раздела.

В этом руководстве мы рассмотрим, как правильно установить разрешение на запись для раздела с файловой системой ext4 в Ubuntu и подобных системах.

Как установить разрешение на запись в разделе ext4 для Ubuntu и подобных систем

Для начала нужно знать UUID раздела ext4. Но перед этим сначала стоит узнать имя раздела. Имя раздела в Ubuntu будет похоже на sdaX или sdbX для второго диска.

В терминале выполняем команду:

Вывод команды будет выглядеть примерно следующим образом:


Вы можете узнать название раздела по его размеру, указанному в поле Размер. В моем случае, т.к я смонтировал раздел второго диска, диск имеет название sdb1.

Теперь, когда вам известно имя раздела, вы можете найти UUID с помощью следующей команды:

Вывод команды будет выглядеть примерно так:


Как видите, по имени раздела можно легко определить UUID.

После того, как вы узнали UUID раздела, следующим шагом будет выяснить, где смонтирован раздел.

Примечание. Если точку монтирования раздела вы указали во время установки, то этот шаг пропустите.

Обычно расположение монтирования ext4 находится в /media/ . Где user_name – имя пользователя. Вы также можете использовать переменную $USER. Она автоматически примет имя пользователя.

Вы можете отобразить смонтированные разделы следующей командой:

У вас отобразятся смонтированные разделы. Вы также сможете видеть, что только root пользователь имеет право записи в смонтированном разделе ext4. Нам нужно будет изменить разрешение на запись для этого раздела.

Теперь самый простое решение – предоставить всем доступ на запись с помощью печально известного chmod 777. Но, опять же, вы не захотите этого делать, так как эти права предоставят всем доступ на запись. По возможности избегайте использования chmod 777.

А если не chmod 777, то что еще? Доступ к файлу есть у пользователя root как владельца и root как группы. Даже «admin» попадает в группу «другие». Поэтому решение прав доступа на запись ext4 раздела будет изменением группы владельца разделом.

Следующей командой мы изменим владельца раздела:

Где comss – имя пользователя, а 56d0c0ab-60a0-48bf-955d-bc2f283009b6 – UUID раздела.

В моем случае, т.к точка монтирования раздела была указана во время установки системы, то я поступил немного проще. Открыл файловый менеджер, перешел в раздел и в файловом менеджере посмотрел пусть расположения монтирования. Команда изменения группы владельца выглядела следующим образом: chgrp adm /Files

После изменения группы измените права записи для группы следующим образом:

Где comss – имя пользователя, а 56d0c0ab-60a0-48bf-955d-bc2f283009b6 – UUID раздела.

Опять же, в моем случае команда выглядела следующим образом: chmod g+w /Files


Теперь вы можете копировать, вставлять и создавать новые файлы в разделе ext4 без каких-либо проблем. А с дополнительной безопасностью пользователи без прав администратора не смогут этого сделать.

Использование NTFS-диска для игр из Steam в Linux

Данная инструкция необходима для настройки монтирования NTFS-диска, содержащего игры Steam, который ранее использовался в среде Windows, а дальше будет использоваться для работы с Proton (Steam Play) в Linux.

Данная инструкция взята из полезного материала репозитория ValveSoftware. В качестве протестированных систем там указаны различные версии Ubuntu и Pop!_OS, однако мною она была протестирована и в других Linux системах, и оказалась рабочей инструкцией.

Примечание. Если вы уже указали точку монтирования NTFS диска, например во время установки системы, то переходите сразу к следующую шагу, к редактированию fstab файла.

Настройка и автоматическое монтирование раздела NTFS

Создаем точку монтирования NTFS диска с играми:

Найдём идентификатор пользователя, идентификатор группы, раздел подключенного диска и UUID, используя следующие команды.

По умолчанию оба должны быть с номером 1000.

Примонтированный раздел диска:

Он должен быть помечен как /dev/sdaX

UUID: Найдите строку, в которой первый столбец соответствует метке команды fdisk.

Например, в моем случае это следующая строка:


Редактирование fstab

Отредактируйте файл fstab, чтобы смонтировать раздел или изменить параметры монтирования:

Для монтирования раздела добавьте следующую запись (если нет других записей для этого раздела):

Если опции монтирования уже заданы, то отредактируйте их и задайте из команды выше:


Командами CTRL+O и CTRL+X сохраните изменения и закройте редактор.

Предотвращение ошибок чтения NTFS

Из-за природы NTFS создание файлов / папок с символами, которые Windows не может прочесть, вызовает дисковые ошибки (что приведит к тому, что игры не запускаются), наиболее распространенной проблемой является символ ; в именах файлов, который Proton создает на диске NTFS.

Создание символической ссылки:

Где /media/gamedisk/ – это смонтированный NTFS диск.

Если папка /compatdata уже существует на смонтированном диске, то удалите её.

Спрашиваю его - зачем тебе линукс на нтфс? Он говорит - это риторический вопрос. Почему не сделали версию линукса под нтфс? Чем неугоден линуксу нтфс?



Потому, что не нужно


А может ибо не осиливает?


Зачем осиливать то, что не нужно?


Где мой поп корн.


В ядре нет полноценного драйвера для поддержки ntfs. А нет его, потому что нафиг он никому не нужен.


Попробуй найти различия в том, что умеет та же ext2/3/4 и что умеет нтфс


ntfs в основном используется через fuse, ядреный ntfs как я понимаю полуживой, и скорее всего что-то нужное не умеет.


Ненужно. Было бы нужно, сделали бы. Это же элементарно, Ватсон.


Лучше спросить, почему GNU/Linux не ставится FAT32: тогда станет ясно, что дело не только в наличии драйвера в ядре, но и в банальном отсутствии UNIX-прав у этих двух ФС.


Потому что MS и патенты. Но интересно, ntfs поддерживает unix-style права на файлы? Или можно их с помощью ACL эмулировать? Вроде ничего такого не помню, но с другой стороны еще первые версии NT были сертифицированы на совместимость с posix 1, хардлинки точно есть, недавно вроде и софтлинки добавили.


NTFS может обеспечить сохранение подобной метаинформации и case-sensitivity, просто Windows этого не делает


Приз за правильный ответ уходит этому господину!

dvrts ★★★ ( 09.04.15 14:32:34 )
Последнее исправление: dvrts 09.04.15 14:32:41 (всего исправлений: 1)

банальном отсутствии UNIX-прав у этих двух ФС


за отдельную плату могу собрать твоему умственно неполноценному другу Линукс, устанавливающийся на ntfs


Меня больше интересует почему винда на ext4 не ставится? Спроси между делом у друга, а.


А какова будет совместимость с Windows при таких костылях?
Ну и какой смысл в этой странной затее, если в итоге с этим не сможет нормально работать этот самый Windows?


друг, который не решается ставить линукс.
не решается
не решается
не решается
не решается

Твой друг - робкое, аморфное чмо. Фу иметь таких друзей.

Почему не сделали версию линукса под нтфс?

Кстати, почему не сделали версию виндавса под ext4?

Например, отсутствием открытой спецификации. Например, микрософтовскими патентами на ФС и чрезвычайно агрессивным поведением микрософта в сфере патентов.

Manhunt ★★★★★ ( 09.04.15 14:46:36 )
Последнее исправление: Manhunt 09.04.15 14:48:29 (всего исправлений: 2)

почему это не ставится? включи в ядре поддержку NTFS и ставь, все должно работать.


Меня больше интересует почему винда на ext4 не ставится? Спроси между делом у друга, а.

А какова будет совместимость с Windows при таких костылях?

Не хуже чем у венды с самой собой:


В самом деле, совместимость с Windows врядли будет хуже, чем у Windows :-D.


Не так интересны такие вопросы, сколько те причины, которые к ним приводят. Подозреваю то, что многие пользователи не знают о том, что жёсткие диски и Flash память можно переформатировать и разбивать на новые разделы по-новому. А отсюда и могут возникать такие вопросы. Ведь, если человек исходит из той предпосылки, что у него носитель информации с разделом в NTFS и с этим уже ничего не поделать, то ему и становится интересно то, что можно сделать именно с этим. Но, возможны и другие варианты, да.


Почему не сделали версию линукса под нтфс?

Не сделали потому что на нашлось желающих это сделать бесплатно и/или кто готов это профинансировать.


Потому что ему стрёмно иметь дело с неполноценными файловыми системами.


Чем же она неполноценна то?)


Например, патамучшта надо иметь маппер GUID<->UID где-то в ядре, сама ФС закрыта, и всё реверсинжинирят, а значит стабильности нифига не будет.

А почему мастдайка не ставится на reiserfs? Что за нафиг?


ФС женоубийцы?! Нет пути!

Даже тот, что через fuse не умеет хардлинки и еще какие-то плюшки.

Но все равно: система доступа NTFS не позволит ее в линуксе использовать.


Вау. Не знал о таком синтаксисе.

Самая кошерная ФС! У меня практически везде reiserfs.


Он говорит - это риторический вопрос



У меня практически везде reiserfs

У меня раньше тоже так было ещё с тех времён, когда в Debian'е не было ext3/ext4. Однако, практика потом показала, что в случае чего с fsck проблем меньше именно в случае ext2/ext3/ext4. А бывают и такие ситуации, что, например, локальное зеркало CentOS'а на разделе в reiserfs'е, свежеустановленный минимальный CentOS ничего не знает про reiserfs, нужно доустановить модуль из локального репозитория, который без него не доступен. А вот в случае локального репозитория на ext2/ext3/ext4 таких проблем не возникает.


В прошлый раз мы тестировали производительность файловой системы ReFS в Windows 10. Там мы затронули некоторые ФС из мира Linux, которые показали достаточно вялые результаты, поскольку из-за ограничений Windows чтение и запись были недостаточно хорошо реализованы. На сей раз подобная несправедливость будет устранена, теперь роли меняются, и файловые системы NTFS, FAT32 и exFAT уже сами становятся гостями. Методика тестирования была усовершенствована, теперь все операции выполняются специальным скриптом, с точностью до миллисекунды замеряющим время, затраченное на определенную операцию. Кроме того был изменен набор данных, вместо поочередного копирования групп различных файлов проводится копирование сразу всех файлов разных типов. Также тестирование теперь не ограничивается только жестким диском, здесь были задействованы более актуальные в настоящее время твердотельные и flash накопители. На каждом из них для размещения тестовых данных был создан раздел объемом 4 Гб, вторым устройством для перемещения данных выступал созданный в оперативной памяти раздел объемом 2304 Мб с файловой системой TMPFS. Поскольку flash-память имеет ограниченное количество циклов перезаписи, то в оценке производительности на данном типе носителей участвовали только нежурналируемые файловые системы.

реклама

var firedYa28 = false; window.addEventListener('load', () => < if(navigator.userAgent.indexOf("Chrome-Lighthouse") < window.yaContextCb.push(()=>< Ya.Context.AdvManager.render(< renderTo: 'yandex_rtb_R-A-630193-28', blockId: 'R-A-630193-28' >) >) >, 3000); > > >);

Тестовая система:

  • Процессор: Xeon E5440 @ 3.4 ГГц
  • GIGABYTE GA-P35-DS3L
  • Оперативная память: 3584 МБ DDR2-800
  • Жесткий диск: Seagate Barracuda 7200.10 3250410AS 250 ГБ
  • Твердотельный накопитель: SanDisk SDSSDHII-120G-G25 120 ГБ
  • MicroSD карта SanDisk Ultra 16 Гб UHS-I, поключенная с помощью адаптера MXT
  • Ubuntu 16.04 x64 с последними обновлениями

Набор данных:

  • 100 MP3 файлов - 681,3 Мб
  • 880 JPEG изображений 268,8 Мб
  • 4 видеоролика в формате MP4 - 492,7 Мб
  • 1 ISO образ - 583 Мб
  • Суммарный объем:

реклама

Краткая характеристика участников тестирования:

EXT2 - расширенная версия первой файловой системы EXT для ОС на ядре Linux.

EXT3 - журналируемая EXT2.

реклама

EXT4 - значительно расширенная по функционалу EXT3.

BTRFS - прогрессивная файловая система, использующая СУБД-подобную структуру , а также предлагающая множество современных опций.

F2FS - файловая система от Samsung, предназначенная для использования на flash-памяти.

ReiserFS - журналируемая ФС от компании Namesys, позволяющая изменять свой размер на лету без размонтирования.

XFS - высокопроизводительная 64-битная журналируемая файловая система, созданная компанией Silicon Graphics.

JFS - 64-битная журналируемая ФС, разработанная IBM с прицелом на высокую производительность, надёжность и масштабируемость для многопроцессорных компьютеров.

HFS+ - файловая система, использующаяся в macOS.

NTFS - ФС для Windows NT, выросшая из HPFS, совместной разработки IBM и Microsoft для OS/2.

FAT32 - усовершенствованная версия файловой системы FAT для DOS и Windows.

exFAT - расширенная версия FAT32, предназначенная для flash-накопителей.

Результаты тестов:

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


Новая файловая система F2FS демонстрирует отличный результат, опережая своих оппонентов. За ней следуют продвинутые журналируемые ФС, в основном использующиеся в NIX системах. Гости из Windows, а также устаревшие EXT2 и EXT3 заметно отстают.

Теперь проделаем тоже самое, но уже с быстрым твердотельным накопителем.


Разрыв между первым и замыкающим участниками заметно вырос. На сей раз в лидерах созданная профессионалами Sun Microsystems система XFS, которая показала результат близкий к максимальной пропускной способности интерфейса SATA-II. BTRFS, все еще считающая в некоторых аспектах не совсем стабильной, находится в нижней части списка. Работающая в пользовательском пространстве с помощью специального драйвера, NTFS показала почти в четверо более низкий результат, чем XFS.

А теперь данные будут переноситься наоборот с дисков в ОЗУ. Так как запись происходит очень быстро, то распределение файловых систем в диаграмме будет зависеть от их производительности при считывании.


Ситуация похожа на ту, которая была продемонстрирована в первом тесте. Но тут FAT32 поднялась сразу на семь позиций, а на ее место переехала BTRFS. Устаревшие EXT2 и EXT3 снова замыкают список.

Теперь очередь за SSD.


Видно, что разница сократилась, поскольку и твердотельный накопитель и оперативная память довольно быстрые устройства, и одно лишь это устраняет различные недостатки, присущие каждой их файловых систем. XFS выдала просто ошеломительный результат, практически уперевшись в пропускную способность SATA-II. Более усложненная BTRFS на второй позиции. Несмотря на прослойку в виде FUSE, NTFS заняла довольно почетное место.

Настала очередь flash-накопителей.


exFAT обошла F2FS в тесте записи примерно на 18%. EXT2, как и в предыдущих испытаниях, плетется в конце.

Ну и, наконец, чтение с flash-памяти.


FAT32 показывает, кто здесь царь. Несмотря на почтенный возраст, она и не собирается сдавать своих позиций. К сожалению максимальный размер файла в FAT32 ограничен четырьмя гигабайтами, что совершенно не подходит для тех же фильмов в высоком качестве. Однако, ее замена в лице exFAT отменяет данный изъян ценой всего лишь десятипроцентной потери производительности.

И ради интереса был проведен еще один тест с участием только RAM-дисков (копирование ISO-образа).


Заключение

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

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

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

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