Как включить поддержку записи NTFS в Mac OS X 10.7 Lion стандартными средствами

По теме:


Как включить поддержку записи NTFS в Mac OS X 10.7 Lion стандартными средствами


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

Методом научного тыка (народные методы не расписываются в мелочах) определил, что 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

«Плюсы» и «Мниусы»:

Плюсы:

  • Большая скорость записи, около 30 МБ/сек.
  • При удалении файлов помещает их в корзину, а не удаляет перманентно.

Минусы:

  • Если том «некорректно» отмонтирован из винды, то ругается в лог и монтирует read-only.
  • Disk Utility не может создавать раздел типа NTFS.
  • Ну, это всё-таки хак ;-)

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

Не используйте NTFS для хранения важных файлов при работе в Mac OS X; и наоборот, не используйте HFS+ для хранения важных файлов при работе в Windows. Не полагайтесь на сторонние решения, такие как Tuxera NTFS, Paragon NTFS или NTFS-3G. Используйте функцию записи на NTFS только для обмена файлами, потеря которых не критична, или если имеется их резервная копия.

Внимание! Из-за многочисленных нестыковок я создал небольшой пакет под названием NTFS Tools, который проделает всё вышеописанное автоматом.