This page has been robot translated, sorry for typos if any. Original content here.

Як включити підтримку записи 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
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
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
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 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
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 , який виконає все вищеописане автоматом.