Как включить поддержку записи NTFS в Mac OS X 10.7 Lion стандартными средствами. – macdaily.me (original) (raw)

После установки OS X 10.7 Lion Golden Master начал присматриваться к будущему рабочему окружению: что и как работает, что убрали, что добавили, что переместили. Это же практически то, что нас ожидает вот-вот-вот! Решил опробовать как обстоят дела с чтением/записью NTFS в Lion. Чтение, конечно же, и так работает, как говорят «из коробки», а я решил пошаманить с включением записи на NTFS разделы подручными средствами операционной системы «Лев». На ум пришёл уже известный способ, которым пользовался в Mac OS X Snow Leopard. Но не смотря на резвость работы этого Golden Master’а я был огорчён. Как вы уже догадались, не работает этот способ в Mac OS X Lion GM. Но в этот раз я уже не обращался к гуглу. Смысла в этом нет, рано. Сейчас все кругом да около пишут обзоры и сплетни, а не колупаются в глубинах ОС. Решил этим делом заняться сам, и это дало положительный результат.

Методом научного тыка (народные методы не расписываются в мелочах) определил, что c «моунтером» mount_ntfs в папке /sbin всё впорядке, скрипт, который мы создаём, тоже работает как нужно. Оказалось, что всё дело крылось в самом драйвере (кексте) ntfs.kext, который находится в /System/Library/Extensions/. Немного поколупавшись в NTFS драйверах от Mac OS X 10.6.8 и от Mac OS X 10.7 GM обнаружил, что драйвера отличаются минимально, можно сказать только сборкой, но вот Lion’овскую лешили встроенной поддержки записи на NTFS разделы. Попробовал подсунуть бинарик кекста ntfs.kext из Snow Leopard в Lion, полечил права, перезагрузился… И всё заработало! Короче, инструкция:

Скачиваем этот архив, в котором находится бинарик от ntfs.kext из Mac OS X 10.6.8 Snow Leopard и скрипт. Распаковываем этот архив на Рабочий стол. У вас должна появиться папка NTFS_Enabler в которой находятся два файла: mount_ntfs и ntfs. Запускаем Терминал (Terminal.app) и выполняем:

  1. Чтоб не писать лишних sudo сразу говорим, что мы будем работать от лица администратора (root’а):
    sudo -s
    и жмём Enter. На запрос пароля вводим пароль «суперпользователя» и снова жмём Enter.
  2. Создаём резервную копию бинарика из ntfs.kext:
    mv /System/Library/Extensions/ntfs.kext/Contents/MacOS/ntfs \
    /System/Library/Extensions/ntfs.kext/Contents/MacOS/ntfs_orig
  3. Копируем «бинарик» драйвера ntfs.kext, вытянутый из Mac OS X 10.6.8 Snow Leopard, на место оригинального «бинарика»:
    cp ~/Desktop/NTFS_Enabler/ntfs \
    /System/Library/Extensions/ntfs.kext/Contents/MacOS/ntfs
  4. Назначаем ему правильные права и атрибуты:
    chown root:wheel /System/Library/Extensions/ntfs.kext/Contents/MacOS/ntfs;
    chmod 644 /System/Library/Extensions/ntfs.kext/Contents/MacOS/ntfs
  5. Создаём резервную копию оригинального «моунтера» mount_ntfs:
    mv /sbin/mount_ntfs /sbin/mount_ntfs_orig
  6. Теперь на место оригинального «моунтера» mount_ntfs помещаем скрипт-враппер, который будет перехватывать системные комманды и активировать ntfs.kext на чтение и запись:
    cp ~/Desktop/NTFS_Enabler/mount_ntfs /sbin/mount_ntfs
  7. Скопированному скрипту назначаем правильные права и атрибуты:
    chown root:wheel /sbin/mount_ntfs; chmod 755 /sbin/mount_ntfs
  8. Запускаем драйвер:
    kextload /System/Library/Extensions/ntfs.kext
    При удачном запуске не должно быть ошибок.
  9. Запускаем Дисковую утилиту и перемонтируем диски с файловой системой NTFS. Перезагружаться не нужно.

В архиве так же находится текстовый документ с командами построчно, так как движок блога мог поколбасить некоторые из них. После выполнения вышеперечисленных 9-ти шагов диски и разделы с файловой системой NTFS будут монтироваться на чтение и запись сразу, без каких-либо прописок в fstab и перезагрузок! Отключить запись на NTFS и вернуть всё обратно можно при помощи двух консольных команд (потребуется пароль администратора):

sudo mv /sbin/mount_ntfs_orig /sbin/mount_ntfs

А потом потом:

sudo mv /System/Library/Extensions/ntfs.kext/Contents/MacOS/ntfs_orig
/System/Library/Extensions/ntfs.kext/Contents/MacOS/ntfs

Читатель блога по имени Сергей Васильев провёл исследование этого метода и выделил следующие “плюсы” и “мниусы”:

Плюсы:

Минусы:

Поэтому читателям такая рекомендация: по дефолту пользоваться нативным драйвером согласно этому методу. Но Держать NTFS-3G установленным, но выключенным (кнопка Disable/Enable в System Preferences) на случай если нужно примонтировать проблемный раздел или разметить диск. Так же от себя напомню, что всё опробовалось и работает начиная с Mac OS X Lion 10.7 Golden Master, до Mac OS X Lion 10.7.2 включительно.

×

Внимание! Из-за многочисленных нестыковок я создал небольшой пакет под названием NTFS Tools, который проделает всё вышеописанное автоматом (ссылка на обзор). Все действия по модификации системы вы делаете на свой страх и риск! Стандартный NTFS-драйвер при неопределённых условиях может работать крайне нестабильно. Это может привести к «краху» файловой системы и, как следствие, потере данных. Ввиду того, что любое решение для работы с файловой системой NTFS, разработанное вне Microsoft, является результатом реверс-инжениринговых работ, крайне не рекомендуется использовать файловую систему NTFS вне операционной системы Windows для хранения важных данных. Не полагайтесь на сторонние решения, такие как Tuxera NTFS, Paragon NTFS или NTFS-3G. Используйте функцию записи на NTFS только для обмена файлами, потеря которых не критична, или если имеется их резервная копия.