Mac OS X - Проблеми з дозволом на файли у накопичувачі NTFS


10

Я можу читати / записувати файли на зовнішньому USB-накопичувачі NTFS.

У мене є проблеми з великими файлами, такими як AVI / MKV, що зберігаються на зовнішньому диску NTFS. Ці файли виявляються сірими в Finder, і, завжди використовуючи Finder, коли я "Відкриваю" свій відеоплеєр, я отримую дивну помилку:

Пункт "file.avi" використовується Mac OS X і не може бути відкритий.

Що ж, я знайшов вирішення: якщо перетягнути і перетягнути file.aviв свій відеоплеєр, все працює добре.

Але насправді я не можу зрозуміти, чому ця проблема з'являється.

Зверніть увагу, що у мене не встановлені спеціальні драйвери NTFS (наприклад, MacFUSE або NTFS-3g). Для монтажу мого USB-накопичувача NTFS в R / WI лише змінили /etc/fstab, додавши наступний рядок:

LABEL=WD320 none ntfs rw

Це відбувається лише на медіафайлах (наприклад, відео)? Можна спеціально виключити деякі типи файлів?
slhck

Ще одна річ, яку ви можете спробувати, це просто встановити NTFS-3g і подивитися, чи працює він з цим.
slhck

Нетехнологічним рішенням є відкриття сірого файлів за допомогою марного програвача Quick Time Player (QTP) за допомогою "швидкого перегляду"> імені файлу подвійного (або правого) клацання> Швидкий перегляд Це працює лише з файлами, які QTP може відкрити, наприклад mp4 avi тощо. Він не відкриє mkv-файли.

Щоб повністю обійти проблему, ви можете створити файли, перенісши їх із зовнішнього жорсткого диска (замість того, щоб копіювати їх з HD вашого путера) на ваш NTFS HD. Працелюбний, звичайно, але тоді до файлів можна отримати доступ безпосередньо

Відповіді:


26

Я знайшов тему, яка стосується тієї самої теми. Файли відображаються сірими і їх не можна відкрити тим самим повідомленням про помилку.

Ось такі кроки (сподіваємось) вирішити:

  • Відкрийте термінал і запустіть

    xcode-select --install
    
  • Вищезазначене встановить інструменти командного рядка XCode

  • Потім бігайте

    GetFileInfo /Volumes/WD320/yourfile.avi
    
  • Повинна бути інформація про тип файлу та його творця та інші атрибути файлу

  • Тепер змінити ці атрибути, зателефонувавши

    SetFile -c "" -t "" /Volumes/WD320/yourfile.avi
    
  • Тепер файл повинен відтворюватися

Я, очевидно, не міг спробувати це (що зазвичай роблю), але, можливо, це допомагає.


Комусь хочеться пояснити, чому потік? @NSGod насправді назвав мою відповідь річчю, яку слід спробувати - хоча (його дуже хороша) відповідь пояснює лише технічну основу.
slhck

1
Дуже добре. Велике спасибі за цю пропозицію :)
freedev

Ви більше не можете редагувати ці поля у власності файлів Finder? Вони, схоже, знаходяться у текстових полях для редагування на скріншоті, наведеному у відповіді, наданій @NSGod. Якщо ви можете, це пояснить зворотний зв'язок, якщо ви рекомендуєте завантажити непотрібну програму.
trlkly

@trikly: Ні, вікно, показане у моїй відповіді, - це скріншот програми Xray Rainer Brockerhoff ( brockerhoff.net/xray ). Mac OS X Finder ніколи не мав можливості редагувати типи файлів та коди творців безпосередньо через GUI (можливо, ви зможете використовувати AppleScript). Мій задум із зображенням полягав у тому, щоб спробувати краще проілюструвати те, що відбувається.
NSGod

1
Все ще добре працює в macOS Sierra для моїх файлів жорсткого диска, встановлених NTFS :-) дякую!
Бенно

7

Пункт "file.avi" використовується Mac OS X і не може бути відкритий.

Це означає, що елемент мав тип файлу 'brok'та створений код творця 'MACS'для нього (а не очищено):

введіть тут опис зображення

Коли ви використовуєте Finder для дублювання файлів, коли Finder вперше створює дублікат файлу, він встановлює спеціальний тип файлу 'brok'та код творця 'MACS'(код творця самого Finder), щоб означати, що файл використовується. Після того, як Finder закінчить створити повторюваний файл, він скидає тип файлу та код творця до типових оригінальних файлів.

Зазвичай ви стикаєтеся лише з ситуацією, коли 'brok'тип файлу не скидається, якщо Finder повинен вийти з ладу або яким-небудь іншим чином перервався під час копіювання файлу. Якщо це не так для вас, то те, що ви бачите, може бути помилкою в rwпідтримці вбудованого драйвера NTFS.

Як згадував slhck, ви можете мати змогу очистити цю реакцію Finder, очистивши тип файлу та код-код створеного файлу.


2

Моя відповідь на цю проблему є результатом спільної роботи з відповідями, отриманими з кількох інших постів (велике спасибі) та власним досвідом.

Фон: у мене зовнішній жорсткий диск з файловою системою NTFS. Я хочу підключати його час від часу. Раніше в томі було встановлено "лише для читання". Після того, як я це виправив, файли в томі були у непридатному стані. щоб правильно встановити гучність і забезпечити доступ до файлів, мені довелося зробити наступне:

FYI: Я користувач kornshell. Налаштуйте ці команди на бажаній оболонці.

$ sudo ksh
<password>

$ mv /sbin/mount_ntfs /sbin/mount_ntfs.orig

$ vi /sbin/mount_ntfs

Потім вставте вміст нижче:

#!/bin/ksh

# --- direct all script stdout to a temp file for examination
exec > /tmp/ntfs

# --- connect all stderr to stdout
exec 2>&1

# --- get the last argument on the command line - this is the mount point
eval echo \$$# |
read MOUNT_PT
echo "\${MOUNT_PT} = \"${MOUNT_PT}\""
echo

echo "Mounting $@"

# --- call the original ntfs mounter with the arguments handed in
/sbin/mount_ntfs.orig -o rw "$@"

echo "Mounted  $@"

# --- show the result of the mounting operation
mount

# --- fix files at the newly mounted MOUNT_PT that are in the 'brok' state
find "${MOUNT_PT}" -type f |
while read FILE; do

    # ---
    # --- use 'SetFile' to modify the file status
    # ---
    # --- this command line assumes the 'SetFile' command has been installed
    # --- and is available in your PATH
    # ---
    SetFile -c "" -t "" "${FILE}"

done

Тоді:

$ chmod a+x /sbin/mount_ntfs

$ chown root:wheel /sbin/mount_ntfs

Тепер, коли я підключаю диск, він встановлюється «читати / писати», і файли на диску повертаються до статусу «брок». Цей сценарій добре працює для мене. Ваш пробіг може відрізнятися.

Насолоджуйтесь -


1

Дякую за це - я вдосконалив сценарій вище, оскільки він не працював на моїй машині OSX 10.8.4 (давав помилки) і був трохи повільним. Потрібно лише перевірити, коли встановлений диск лише для читання ... Зміни, позначені символом JCV CHANGED:

#!/bin/ksh

# --- direct all script stdout to a temp file for examination
exec > /tmp/ntfs

# --- connect all stderr to stdout
exec 2>&1

# --- get the last argument on the command line - this is the mount point
eval MOUNT_PT=\${$#}
# -- JCV CHANGED: corrected eval expression

echo "\${MOUNT_PT} = \"${MOUNT_PT}\""
echo

echo "Mounting $@"

# --- call the original ntfs mounter with the arguments handed in
/sbin/mount_ntfs.orig "$@"

echo "Mounted  $@"

# --- show the result of the mounting operation
 mount

# --- fix files at the newly mounted MOUNT_PT that are in the 'brok' state
find "${MOUNT_PT}" -type f |
while read FILE; do
  #JCV CHANGED: added check whether file type affected
  GetFileInfo -t "${FILE}"  | read FILETYPE
    if [[ $FILETYPE = "\"brok\"" ]];then
    # ---
    # --- use 'SetFile' to modify the file status
    # ---
    # --- this command line assumes the 'SetFile' command has been installed
    # --- and is available in your PATH
    # ---
    SetFile -c "" -t "" "${FILE}"
    echo "fixing file ${FILE}"
   fi
done

Скажіть, будь ласка, зміни, які були внесені, і чому - дякую.
підозрюваний

дякую за відповідь - я намагався пояснити це у публікації вище.
JCV

Це означає, що читач повинен читати обидва блоки коду та робити ментальне порівняння. Деякі анотації для опису того, що ви зробили, і чому було б корисно.
підозрюваний

1
Сценарій працює лише до того моменту, коли диск не буде переремонтовано - тоді він повинен знову змінити параметри. Я спробував змінити параметри setFile на -c "????" (додаток для творця невідомий), який дає стійке рішення, але потім плутає швидкість під час відкриття фільму (невідомий тип файлу бла благ).
JCV
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.