Всем привет. Недавно я задался вопросом как организовать обмен файлами между операционными системами. Предположим, я хочу установить сразу три основные ос на своём ноутбуке: линукс, виндовз и хакинтош. Каждая ос предназначается для своих задач: Линукс — для работы и программирования, винда — для игр и хак — просто для разных экспериментов.

Поскольку я создаю обучающие видео ролики о линуксе, мне удобнее работать именно на нём. Но монтировать хочется попробовать в «финальном вырезе». Уж очень мне приглянулась идея магнитной ленты времени.



Так вот, задача стоит такая: нужен раздел на системном накопителе, причём с такой файловой системой, которая поддерживается на чтение и запись всеми перечисленными операционками. На этом разделе будут храниться скачанные из интернета файлы и меж-операционные проекты.

Как такая задача решалась мной раньше? Раньше я использовал только винду с линуксом, поэтому задачи обмена с apple os не возникало. Конечно, хотелось использовать открытую и родную фс для линукса — ext4. Но на винде её смонтировать непросто. Нужно устанавливать бесплатный (но проприетарный) Paragon ExtFS for Windows. И ладно, если бы это работало, но к сожалению данное ПО повреждает вам раздел с линуксом. Напоролся пару раз, и всякое желание пользоваться этим по пропало.

А вот виндовая фс под линуксом читается и пишется без проблем. Нужно всего лишь установить ntfs-3g драйвер. Он работает в юзерспейсе. Файловая система проприетарная, но решение работает.

Теперь же я хочу использовать ещё и хакинтош, и хочется разобраться какие ещё есть варианты для решения этой задачи, кроме ntfs.

На самом деле вариантов немного. Давайте разберёмся, какие есть файловые системы, и какие из них являются более или менее универсальными.

Fat32 — всем известная древняя фс, является самой универсальной в плане переносимости, но и самой убогой в плане ограничений. Была разработана давно, не поддерживает файлы размером более 4 Гб. Проприетарная. Для моих задач не подходит.

Ntfs — родная фс для винды, проприетарщина. Линукс, как я уже писал выше, её поддерживает с помощью стороннего драйвера (ntfs-3g). Мак нативно её не понимает, хотя можно доустановить соответствующее по. Есть несколько вариантов, как платных, так и бесплатных. Ни один из них мне не нравится. ntfs-3g работает в userspace (с медленной скоростью), а платные решения — платные.

Hfs+ — одна из худших фс, когда либо созданных. Родная для мак ос, но нисколько не универсальная. Можно примонтировать на линуксе, а для винды опять же есть платные решения — в пролёте.

Ext4 — одна из правильных фс, родная для линукс. Но в плане монтирования в неродных ос — опять проблемы. За платные решения для хакинтоша и для винды опять просят денег. Есть и бесплатные решения, к примеру ext2fsd, но этот драйвер не умеет писать в ext4. В пролёте.

Udf — одна из правильных фс, поддерживается нативно всеми ос. Эта фс была бы лучшим вариантом, если бы не компания apple. Изначально udf создавалась для оптических носителей, но она может быть спокойно использована на обычном жёстком магнитном диске. НО! Из-за того, что яблочники не реализовали поддержку этой фс с раздела, вся задумка отменяется. Даже последняя мак ос Х поддерживает данную фс только если всё блочное устройство не имеет таблицы разделов. На гитхабе есть скрипт format-udf, который может подготовить носитель специальным образом: в начальном блоке данных прописывается mbr, говорящий что раздел начинается прямо там же где и сам mbr. Т.е. накопитель как бы одновременно и с таблицей разделов (то что понимает винда), и вроде как и без таблицы разделов. Этот способ предполагает что носитель будет внешний, а мне нужно сделать exchange раздел именно на внутреннем накопителе. Так что данный вариант тоже в пролёте.

exFat — проприетарщина, но нативно работает как в винде, так и в маке. Это очень хорошо. А что в линуксе?

Вкратце история:
Эта фс использовалась для sd карт на андроидах, а там у нас линукс ядро. Производители реализовали драйвер exfat для linux ядра и никому его не показывали. Но некто в интернете слил на гитхаб их код. Было понятно, что это воровство, и в таком виде код в ядро попасть не мог. Однако, в этом коде сообщество нашло куски gpl кода, что разумеется, требовало раскрытия всех исходников, т.е. это было уже воровство у сообщества со стороны компании samsung. Через некоторое время самсунг выпустили этот код под gpl лицензией.

Спрашивается, а почему тогда данный драйвер не поддерживается из коробки? Потому что его нет в ядре. Мердж этого кода (пусть и gpl-ного) в mainline — это по сути троян от мелких (из-за патентов). Торвальдс это понимает, и, понятное дело, ядро не отравит.

В линуксе монтировать exfat можно либо с помощью exfat-fuse драйвера, либо с помощью exfat-nofuse. Конечно, лучше nofuse, так как он будет работать быстрее. Но его придётся собирать каждый раз при обновлении ядра. Благо, для автоматизации этой задачи есть механизм dkms.

Подведём итог

Я останавливаюсь на exfat. Да, проприетарщина, но ничего не поделаешь. Зато всё нативно работает, и “танцы с бубном” отсутствуют: во всех трех операционных системах есть нативная поддержка и возможность поставить эту фс именно на раздел. Ограничения в 4 Гб нет. И в целом, это решение достаточно простое.

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

Статьи по теме:

> Сравнение Udf и Fat32
> История с файловой системой exFat
> Установка exfat-nofuse на ArchLinux
> Сравнение файловых систем на википедии

Комментарии (83)


  1. Sdima1357
    26.10.2017 19:15

    Предполагаю что проблема в основном с разной системой прав пользователей в Unix vs Windows. По мере движения Windows в сторону Unix проблема исчезнет.Ну или Windows помрет :)


    1. Charg
      26.10.2017 19:39

      Когда-нибудь, в очень или не очень далеком будущем — да, скорее всего так и будет. Но маневрировать между костылями то приходится уже сейчас…


      1. ds138
        27.10.2017 21:17
        +1

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


  1. dartraiden
    26.10.2017 19:32

    Есть WinBtrfs, но гарантий никто никаких, понятное дело, не даёт (и сильно сомневаюсь, что macOS её понимает).


    1. Darka
      27.10.2017 15:18

      BTRFS сильно опоздал


  1. Dn4g
    26.10.2017 19:43
    -2

    Дико извиняюсь, что не по теме — но где можно почитать об установке хакинтоша на Dexp с уефи, арчем и виндовс?



  1. third112
    26.10.2017 20:31

    А Oracle VM VirtualBox для этих целей не подойдет?


    1. Shtucer
      27.10.2017 06:13

      Я бы сказал: вполне подойдёт. С учетом встроенной функции video capture. Но тут, судя по всему, просто хочется странного.


  1. andreymal
    26.10.2017 21:19
    +1

    Когда мне сливали то-что-нельзя-называть в минуса, мне на мои предложения юзать exfat заявляли, что он чёт не оч


    1. Revertis
      27.10.2017 13:37

      Вынужден написать, что там реально какие-то проблемы есть. Причём, просто под виндой. У родителей несколько раз ФС лочилась из-за каких-то ошибок, становилась только для чтения и всё. И даже починить штатными средствами не получалось. Приходилось сливать инфу на отдельный винт, форматировать и возвращать данные на место :-/


  1. AntonAlekseevich
    26.10.2017 21:27

    к примеру ext2fsd, но этот драйвер не умеет писать в ext4. В пролёте.

    Стоять, Ext2Fsd умеет писать в ext4!
    Правда пока только экспериментально. (Но сбоев раньше не наблюдалось.)


    1. remo001
      27.10.2017 06:26

      он умеет писать в ext2, а не в ext4


      1. AntonAlekseevich
        27.10.2017 07:22

        Если вы настолько не поняли формулировку.


        Ext2Fsd умеет писать в ext4!
        Правда пока только экспериментально. (Но сбоев раньше не наблюдалось.)

        Переброшу вас на официальный сайт проекта могу конкретнее на релиз 0.61, где указано что:


        Features implemented or bugfix since V0.53:

        1, Ext4 extent writing support (developed by ngkaho1234 @ gmail.com)
        See his repository for more details:
        http://github.com/ngkaho1234/Ext3Fsd.git

        так что он умеет писать в Ext4.


        1. AntonAlekseevich
          27.10.2017 07:29

          Примечание: С версии 0.51 есть поддержка записи, но без экстэнтов и флексов в бэках.


  1. quwy
    27.10.2017 00:16
    -1

    Слог больше для журнала «какир», чем для хабра, не надо так.


  1. Lordbl4
    27.10.2017 00:18

    Для поставленной задачи решение вполне жизнеспособное.
    Но если посмотреть в корень проблемы и завести файловое хоронилище? (к примеру из подручных средств)


    1. Nikobraz
      27.10.2017 07:10

      Полностью поддерживаю такое решение, винт в системнике давно не нужен, жужжит, хрустит. Поставить в NAS и подключать по smb или cifs


      1. VJean
        30.10.2017 04:51

        И тогда винт будет жужжать и хрустеть в NASе.
        NAS не панацея — низкие скорости по сети, что критично для обработки видео и RAW-фото. Делать локальную сеть на 10Gb весьма затратно, а на нескольких 1Gb интерфейсах (aka Bonding/Teaming) — прокладка кучи проводов и разбор булыжников при конфигурировании.


        1. Nikobraz
          30.10.2017 06:52

          А нас будет валяться где-нибудь в кладовке подальше от ушей.
          10Gbe уже будет в новых чипсетах, да и гигабит по скорости примерно равен скорости работы с жестким диском.

          А если вам нужна такая адовая скорость, вы собираетесь RAID0 из нескольких HDD делать?


  1. maisvendoo
    27.10.2017 02:43

    к примеру ext2fsd, но этот драйвер не умеет писать в ext4

    Как это не умеет??? Умеет, и позволяет монтировать эти разделы с буквой диска. Следите почаще за обновлениями на офф. сайте этого проекта. Я использую уже много лет, нормально пишет и читает, работает с GPT разметкой и т.п.

    Учите матчасть


    1. AntonAlekseevich
      27.10.2017 06:03

      В текущей(0.68) версии Ext2Fsd:


      Unsupported Ext3/4 features:

      1, journal: log-based operations, external journal
      2, EA (extended attributes), ACL support

      Похоже не все операции доступны, но:


      Features to be implemented in next release:

      1, Extents management improvement
      2, EA and ACL security checking

      как видите будут доступны.


      1. AntonAlekseevich
        27.10.2017 06:11

        Хотя и в старой версии(0.66) тоже самое.


      1. zone19
        27.10.2017 10:48

        Эти фичи для файлообменного раздела точно не важны


        1. AntonAlekseevich
          27.10.2017 11:12

          Конечно, а если разместили журнал в другом разделе? (Допустим по случайности.)


  1. manefesto
    27.10.2017 09:35

    Когда года 3 назад съехал на MacOS сразу выбрал exFat
    На данный момент не брезгую ни Windows, ни Linux и exFat меня спасает


  1. genew
    27.10.2017 10:34

    Я в таких случаях использую Git или Svn.
    Хотя для больших объемов не очень эффективно будет.


  1. AntonAlekseevich
    27.10.2017 10:47

    Конкретно к это статье, могу ответить что все же лучше использовать Ext3FS, как раз полная поддержка всеми основными OS(С дополнительным драйвером в Windows.) вроде есть.


  1. Cheater
    27.10.2017 11:09

    Вынесите все общие данные, в тч фильмы, на домашний сервер, на нём поднимите nfs/samba шару и DLNA. Это всё равно придётся сделать, когда в доме появятся ПК количеством больше одного.


    1. kovserg
      27.10.2017 13:19

      Точно, что мешает использовать какой-нибудь NAS


      1. Goodkat
        27.10.2017 18:15

        Скорость доступа — нужен довольно мощный NAS и быстрая сеть.
        Не знаю, как там с монтированием видео, а для хранения фотографий (огромного количества мелких файлов) NAS (у меня Synology DS212) оказался очень медленным.
        Внешний USB3-2,5"-диск намного быстрее работает, ему не нужно отдельное питание, и его можно взять с собой.

        Драйвера Парагона под Win и Mac я купил на какой-то распродаже, причём «вечную» лицензию с неограниченным апгрейдом на новые версии.


  1. spxnezzar
    27.10.2017 12:27

    Мне вот интересно, чем не устроил вариант остаться в конфигурации Win+Lin а Макось поднять в виртуалке? Вы же в любом случае её для экспериментов используете, а значит время работы в ней достаточно мало, а наличие её в виртуалке позволит вам запускать по надобности из под обеих ОС у вас.


    1. saibaneko
      27.10.2017 15:27

      У макоси сложно запустить поддержку ускорения видео в виртуалке, а автор там как раз редактирует видео


      1. spxnezzar
        27.10.2017 15:57

        упустил момент про видео, т.к. читал по диагонали. Так конечно лучше на железе пускать. Но по мне так всё равно это какой-то ад — жить на трёх системах в одной железке. Я пользуюсь всеми тремя системами повседневно, и у меня никогда не возникало желания и необходимости засунуть их все на одну машину. Линукс жил на ноуте в дуалбуте с виндой. На дэсктопе винда и макось в виртуалке для некоторых вещей, пачка Линуховывх серверов в разных цодах. В итоге с оказией взял макбук и заменил им всё, засунув в эмуляцию винду для работы с visio и ubuntu для тестов, а питон-разработка переехала нативно в макось. После на винду возвращаюсь только поиграть изредка, но и то только из-за того что EVE Online на 13 дюймах не особое удовольствие.


  1. chuvilin
    27.10.2017 12:59

    За поднятие темы автору отдельное спасибо.
    Что в exFAT с симлинками или UNIX-правами? Смогу ли я, скажем, на ней собирать rpm-пакеты?
    Я пока думаю остановиться на btrfs.
    Довольно особенный случай, когда почти все комментарии к статье заминусованы.


    1. sumanai
      27.10.2017 19:03
      -1

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

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


    1. Goodkat
      27.10.2017 20:42

      Зачем вас собирать rpm-пакеты на exFAT? Вы их потом в Windows использовать будете?


      1. chuvilin
        27.10.2017 20:51

        Я хочу держать код проектов на партиции, доступной и в Linux, и в Windows.
        На NTFS Linux постоянно ругается на невозможность сменить пользователя или права.


        1. LinuxComp Автор
          27.10.2017 21:02
          +1

          Я видел такую штуку как User Mapping на ntfs. Может это то что нужно?


          1. chuvilin
            27.10.2017 21:15

            Может быть. Изучу, спасибо.


            1. LinuxComp Автор
              27.10.2017 21:19

              Ну и раз вам не нужен эппл, посмотрите на udf. И может отпишите позже как полёт.


  1. potan
    27.10.2017 13:21

    Отсутствие хорошего универсального решения удручает. У меня давно уже сложилось впечатление, что самая правильный универсальный носитель — что-то типа raspberry pi с ethernet и nfs+samba+… Или отдельный файловый сервер, в стационарном случае. По идее есть пара стандартов на файловую систему с доступом через USB, которые поддерживаются некоторыми сотовыми телефонами, но работают они не очень надежно, по моим наблюдениям.


    1. klirichek
      27.10.2017 20:28
      +1

      Ну тогда уж nfs + samba + afp.
      И даже в этом случае останется "сугубо маковская" функция (если у вас "железный" мак) — в случае, если там time-machine (на базе afp), и backend-раздел для всего этого сумасшествия будет на hfs+ (и при этом будет настоящим разделом на диске, а, не, например, логическим томом в LVM), то в случае "Великой Бяки" вы сможете просто отмонтировать диск от "Малинки", подключить по usb к маку и восстановить систему из бэкапа на базе родной фс.


  1. dmitry_dvm
    27.10.2017 13:32

    «Проприетарщина головного мозга» детектед. Ладно там код мессенджеров, но какая разница какой код у ФС?


    1. Andrusha
      27.10.2017 17:54
      +1

      У меня, например, exFAT не поддерживается в телевизоре LG, из-за чего, до того как я воткнул в него Raspberry Pi с Kodi, приходилось держать отдельную флешку с NTFS специально для него. Для нас без разницы, а вот юристы из LG Electronics решили не связываться.


      1. dmitry_dvm
        27.10.2017 18:27

        В вашем кейсе LG как раз без разницы — и то и другое закрытое.



        1. Andrusha
          27.10.2017 18:41

          В общем-то проблема не в коде, а в самой спецификации. exFAT запатентован Microsoft, и как минимум придётся отстегнуть им бабла за его использование. Это если LG договорятся с MS, а те закроют глаза на вышеописанную мутную историю с драйвером.


          1. dmitry_dvm
            27.10.2017 20:21

            Так нтфс же тоже закрыт. Я имею в виду, что для ЛЖ было без разницы что патентовать, но выбрали нтфс.


      1. Goodkat
        27.10.2017 20:11

        Тоже так попал с LG. Телевизор дороже 1000 у.е., а пары баксов на лицензию exFat не хватило.
        Более того, однажды они просто удалили поддержку smb в очередном апдейте, без возможности вернуть взад.


        Никогда больше не возьму LG.


  1. pfzim
    27.10.2017 14:37

    Разве MacOS не поддерживает NTFS нативно?
    Помню без каких-либо проблем подключал внешний диск с NTFS добавлением в /etc/fstab строчки:
    LABEL=NTFS-RW none ntfs rw,auto,nobrowse
    И диску присваивал имя: NTFS-RW


    1. Shtucer
      27.10.2017 15:25

      Нет, не поддерживает. Только через ntfs-3g из macports или homebrew. Или Paragon-NTFS.


      1. pfzim
        27.10.2017 15:38

        Не устанавливал никаких дополнений. Всё работало указанным выше методом.
        Вот нашел описание: coderwall.com/p/lq-zfq/ntfs-read-write-in-os-x


      1. Quarc
        27.10.2017 18:53

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


        1. pfzim
          27.10.2017 21:38

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


    1. klirichek
      27.10.2017 20:30

      paragon. Или искать другие юзерспейсовые драйвера.


  1. rezdm
    27.10.2017 16:09

    Слегонца странная задачка. Ну вкорячить НАС простецкий.

    Иначе: ZFS?


  1. stgunholy
    27.10.2017 16:09

    В маке по умолчанию NTFS монтируется ReadOnly… Но можно поправить /etc/fstab и будет тогда нормально писать. Это experimental фича, но я так фильмы гоняю — их не жалко


    1. Goodkat
      27.10.2017 20:46

      В macOS тоже 10.13 работает? У меня как-то не завелось, мак вообще не увидел флэшки с NTFS после поправок в /etc/fstab, хотя до и после этого монтировал в read only.

      Использую драйвера парагона, копирование на внешний диск с NTFS примерно раза в два медленней, чем на такой же диск с эпловской родной ФС.


      1. stgunholy
        27.10.2017 21:13

        да, у меня работает…


      1. pfzim
        27.10.2017 21:35

        В /Volumes смотрели? Когда диск через fstab монтируется, его в Файндере не видно, надо руками ярлык создавать.


  1. green_tree
    27.10.2017 18:45

    недавно слезал с мака и решил что теперь всё должно быть открытым, то есть доступно на всех ОС (короче отказался от hfs+ на внешнем винте)
    и вот на практике нет ничего нормального, чтоб сразу и на мак/лин/вин, были попытки с exFat (ужас), Fat32 (дико тормозит на дисках большого объема)
    поэтому остановился на Ntfs. Оно хотя бы работает из коробки на вин/лин и readonly на мак


    1. LinuxComp Автор
      27.10.2017 18:53

      А в чём именно выражался ужас exfat?
      Для внешнего накопителя, который целиком предназначен для ос-независимого файлообмена подходит UDF, как я указывал в статье.


      1. faiwer
        27.10.2017 19:35

        Помню хотел перенести тяжёлый фильм с Linux на OSX, а по сети его тащить было ну слишком долго. Пробовал разные ФС для флешки, часа два убил — бестолку. В том числе exFat. В последствии оказалось, что беда с exFat была в конфигурации этой exFat. То как флешку форматнул gParted не смогла пережевать OSX. А когда форматнул уже средствами OSX, флешку увидели "все" (кроме goPro4).


      1. green_tree
        28.10.2017 08:00

        поддержка exFat странная, оно будто не везде одинаковое)
        в соседнем комменте тоже обратили на это внимание
        плюс поддержка софтом там странная, мне некуда было данные переносить, поэтому для смены файловой системы я разбил диск на два раздела (старый в hfs+ и новый в exfat), вот я задолбался с поддержкой программ по управлению дисками

        про UDF я уже позже нашел инфу, но решил не рыпаться больше и остаться с Ntfs


  1. Tallefer
    27.10.2017 20:05
    +1

    Хотел спросить, поддерживаются ли некоторые фичи, но решил сам поискать инфу и набрел на такую табличку сравнения NTFS, exFAT, UDF и FAT32
    С точки зрения мультиплатформенной поддержки, хочется обратить особое внимание на строчки:


    • Case-sensitive: exFAT — нет, UDF — да.
      Я так понимаю, для линупсов это же важная тема, вроде бы?
    • Hard links (да и вообще любые линки): exFAT — нет, UDF — да.
      В некоторых случаях хранения или архивации файлов бывает очень полезно.
    • POSIX file permissions: exFAT — нет, exFAT — да (единственная из виндовых фс!).

    Хотя, канеш, и UDF далеко не идеальна (фрагментация версий), но...


    1. LinuxComp Автор
      27.10.2017 20:26

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

      Небольшой оффтоп
      Сейчас вот столкнулся с этим. Поставил хакинтош на hfs+ регистро-зависимую, чтобы чувствовать себя более-менее линуксово. Каково же было моё удивление, когда софт Adobe отказывается устанавливаться на такую фс!


      Если Apple в своей новой APFS сделает по дефолту case sensative, может они исправят свои исходники. Но пока что они исправили это предотвращением установки на регистро-зависимую фс. Господи, Adobe, это позор!


      1. Goodkat
        27.10.2017 20:53
        +1

        Зачем вам регистрозависимая ФС? Какие у неё преимущества?


      1. LinuxComp Автор
        27.10.2017 21:05

        Опечатался, case sensItive.


    1. klirichek
      27.10.2017 20:32

      т.е. резюмируя — если нужно сделать "универсальный носитель" (флешку),
      то проще всего жить с udf. Верно?


    1. Goodkat
      27.10.2017 20:48

      POSIX file permissions: exFAT — нет, exFAT — да (единственная из виндовых фс!).
      Отлично, и что вы выбрали? exFAT или exFAT?


      1. Tallefer
        27.10.2017 21:39

        Вот блин, не успел отредактировать. Второе это «UDF — да», канеш. :)
        А я лично выбрал NTFS. %)


  1. klirichek
    27.10.2017 20:24

    Я правильно понял, что я могу отформатировать флешку (целиком, не думая о разделах) в udf, и это и будет самым универсальным решением?
    В смысле, что смогу воткнуть его в комп с любой из трёх систем, дождаться появления иконки на десктопе/в проводнике, и потом drag-n-drop-нуть файлы в любом направлении?


    1. LinuxComp Автор
      27.10.2017 20:28

      Ну по идее да. Но я так не пробовал. Потому что, как уже говорил, мне нужен exchange раздел на внутреннем накопителе, на котором установлены системы.
      А вообще, если как-то можно было бы сделать хотя бы userspace драйвер для mac, но чтобы он мог работать именно с разделом, то я бы выбрал udf. Но я в эту сторону не копал.


      1. klirichek
        27.10.2017 20:40

        Ну да, у вас сформулирован "более общий" вопрос.
        Наверное, он ближе к реальному железу.


        Лично я в конечном итоге остановился на NTFS. Купил внешний диск, который уже был в него отформатирован… (там же был парагоновский драйвер rw для мака, чем-то ограниченный (типа, франшизы, именно на этот конкретный диск)… И как-то на этом решении и осЕл. Лучшего потому что при ближайшем рассмотрении не нашёл на тот момент.
        А вот вы сейчас сказали про udf, и задумался...


  1. fatronix
    27.10.2017 20:27

    А UFS не рассматривали?


  1. belonesox
    27.10.2017 21:30
    +1

    Сталкивался с схожей задачей. «Видеозапись с фреймграбберов или видеокамер по очереди из под Linux и Windows» на один диск. Пробовал и UDF и extFat. К удивлению, обнаружил низкий перформанс (скажем, три потока по 8 MBytes, не справлялись). Fuseвая NTFS при этом, хоть и с налогом на CPU, все это тянуло на том же железе. Так что это не просто комбинаторная задача «лишь бы определялось, читало и писало».


    1. Tallefer
      27.10.2017 21:45

      Ух ты, про ЮДФ неожиданно прям. А предел у НТФС не замерялся?


      1. belonesox
        27.10.2017 23:26

        Специального перформанс-тестирования не делал. Просто писал HDV поток + DV-поток + MJPEG, смотрел iotopом — где-то по 8MB было, и не справлялось (причем было два одинаковых ноута, с UDF и exFAT — и одинаковый факап в начале записи конференции). Сначала подозревал железо (винт в ноутбучном слоте DVD, через SATA-бокс), потом тупо поменял FS — все стало ОК.


        На ext не перешел, ибо под виндой наблюдал странное — если стоит ext2fsd, и диск с ext4 подключен, начинало неслабо есть CPU (до 25-30%) именно сервис ext2fsd — что там происходит, кто там шарится по ext4 (Defender?)… я не выяснял.


        1. Tallefer
          28.10.2017 00:02

          Спасибо, интересно, хотя причина и не ясна; я-то предполагал, что юдф дрова все же более отточены были, чем для проприетарной фс, но, видимо, нтфс все же тащит. :) А под линупсом были какие дрова для нтфс?


          1. AntonAlekseevich
            28.10.2017 08:54

            Встроенное в ядро умеет только читать. (Если я не забыл.)
            Ntfs-3g может как читать так и писать в NTFS.


  1. atrosinenko
    28.10.2017 13:36

    Когда читаю про то, что Ext4 хорошая ФС, но на Винде нужны хитрые сторонние драйверы, вспоминается проект Linux kernel library. Фактически, люди портировали ядро на архитектуру "процесс POSIX/Win32". Сейчас вот попытался по-быстрому набросать статейку про использование родных ФС Linux kernel на Винде, но с ходу кросс-компилировать не удалось: liblkl.dll собрать получилось, а вот cptofs.c / cpfromfs.c зависят от argp.h и на Винде не собираются. Хотел скомпилировать lklftpd, но завяз на сборке Apache Portable Runtime с помощью MinGW. А вот на Маке, вполне возможно, ещё и lklfuse соберётся, и будет счастье. Disclaimer: я не знаю, насколько это качественный порт, и не разрушит ли он ФС с важными данными.


  1. ubiquamus
    30.10.2017 16:45

    Постоянно гоняют мелкие файлы из ext4 в ntfs (в семёрку)стандартным pcmanfm, а вот обратно плагином TC очень долго копирует, хотя потом в dmesg все чисто.