Mac OS X - Sự cố với quyền truy cập tệp vào ổ đĩa NTFS


10

Tôi có thể đọc / ghi tệp trong ổ USB ngoài NTFS.

Tôi gặp một số vấn đề với các tệp lớn như AVI / MKV được lưu trữ trên ổ đĩa ngoài NTFS. Các tệp đó xuất hiện màu xám trong Finder và, luôn sử dụng Finder, khi tôi "Mở bằng" trình phát video của mình, tôi nhận được một lỗi lạ:

Mục tập tin.avi nghiêm được Mac OS X sử dụng và không thể mở được.

Chà, tôi đã tìm thấy một cách giải quyết: nếu tôi kéo và thả file.avivào trình phát video của mình thì mọi thứ đều hoạt động tốt.

Nhưng thực sự tôi không thể hiểu tại sao vấn đề này xuất hiện.

Vui lòng xem xét tôi chưa cài đặt trình điều khiển tùy chỉnh NTFS (ví dụ MacFUSE hoặc NTFS-3g). Để gắn ổ USB NTFS của tôi trong R / WI chỉ được sửa đổi /etc/fstab, thêm dòng sau:

LABEL=WD320 none ntfs rw

Có phải điều này chỉ xảy ra trên các tệp phương tiện (ví dụ: video)? Bạn có thể loại trừ một số loại tập tin?
slhck

Một điều khác bạn có thể thử là chỉ cần cài đặt NTFS-3g và xem nó có hoạt động với điều đó không.
slhck

Một giải pháp không dành cho dân công nghệ là mở các tệp bị mờ bằng Trình phát thời gian nhanh (QTP) vô dụng bằng cách sử dụng 'xem nhanh'> gấp đôi (hoặc phải) bấm vào tên tệp> Xem nhanh Điều này chỉ hoạt động với các tệp mà QTP có thể mở như mp4 avi, vv Nó sẽ không mở tập tin mkv.

Để khắc phục hoàn toàn sự cố, bạn có thể tạo các tệp bằng cách chuyển chúng từ đĩa cứng ngoài, (thay vì sao chép chúng từ HD của máy tính) sang NTFS HD của bạn. Lao động, chắc chắn, nhưng sau đó các tệp có thể được truy cập trực tiếp

Câu trả lời:


25

Tôi đã tìm thấy một chủ đề liên quan đến cùng một chủ đề. Các tập tin xuất hiện màu xám và không thể mở được với cùng một thông báo lỗi.

Dưới đây là các bước để (hy vọng) giải quyết nó:

  • Mở Terminal và chạy

    xcode-select --install
    
  • Ở trên sẽ cài đặt các công cụ dòng lệnh XCode

  • Sau đó chạy

    GetFileInfo /Volumes/WD320/yourfile.avi
    
  • Cần có thông tin về loại tệp và người tạo và các thuộc tính tệp khác

  • Bây giờ, thay đổi các thuộc tính đó bằng cách gọi

    SetFile -c "" -t "" /Volumes/WD320/yourfile.avi
    
  • Bây giờ các tập tin nên chơi

Tôi rõ ràng không thể thử nó (điều mà tôi thường làm), nhưng có lẽ nó giúp.


Bất cứ ai quan tâm để giải thích tại sao các downvote? @NSGod thực sự gọi câu trả lời của tôi là điều cần thử - câu trả lời (rất tốt) của anh ấy chỉ giải thích nền tảng kỹ thuật.
slhck

1
Rất tốt. Cảm ơn rất nhiều vì lời đề nghị này :)
freedev

Bạn có thể không còn chỉnh sửa các trường này trong chính thuộc tính tệp Finder không? Chúng dường như nằm trong các hộp văn bản có thể chỉnh sửa trong ảnh chụp màn hình được đưa ra trong câu trả lời do @NSGod đưa ra. Nếu bạn có thể, điều đó sẽ giải thích một downvote, nếu bạn khuyên bạn nên tải xuống một chương trình không cần thiết.
trlkly

@trikly: Không, cửa sổ hiển thị trong câu trả lời của tôi là ảnh chụp màn hình của ứng dụng Xray của Rainer Brockerhoff ( brockerhoff.net/xray ). Trình tìm kiếm Mac OS X chưa bao giờ có khả năng chỉnh sửa các loại tệp và mã người tạo trực tiếp thông qua GUI (bạn có thể sử dụng AppleScript). Ý định của tôi với việc hiển thị hình ảnh là cố gắng minh họa rõ hơn những gì đang xảy ra.
NSGod

1
Vẫn hoạt động tốt trong macOS Sierra cho các tệp HDD gắn NTFS của tôi :-) cảm ơn bạn!
Benno

7

Mục tập tin.avi nghiêm được Mac OS X sử dụng và không thể mở được.

Điều này có nghĩa là mục đã có loại tệp 'brok'và mã người tạo 'MACS'được đặt cho nó (và không bị xóa):

nhập mô tả hình ảnh ở đây

Khi bạn sử dụng Finder để sao chép các tệp, khi Finder lần đầu tiên tạo tệp trùng lặp, nó sẽ đặt một loại tệp đặc biệt 'brok'và mã người tạo 'MACS'(mã người tạo của chính Finder), để biểu thị rằng tệp đang được sử dụng. Khi Finder hoàn tất việc tạo tệp trùng lặp, nó sẽ đặt lại loại tệp và mã người tạo thành các tệp của tệp gốc.

Thông thường, bạn chỉ gặp phải tình huống 'brok'loại tệp không được đặt lại nếu Finder bị sập hoặc bằng cách nào đó bị gián đoạn trong quá trình sao chép tệp. Nếu đó không phải là trường hợp của bạn, thì những gì bạn nhìn thấy cũng có thể là một lỗi trong sự rwhỗ trợ của trình điều khiển NTFS tích hợp.

Như slhck đã đề cập, bạn sẽ có thể xóa phản ứng này bởi Finder bằng cách xóa loại tệp và mã người tạo của câu hỏi trong tệp.


2

Phản ứng của tôi đối với vấn đề này là kết quả của việc ghép lại các câu trả lời được lấy từ một số bài đăng khác (cảm ơn nhiều) và kinh nghiệm của riêng tôi.

Nền: Tôi có một ổ cứng ngoài với hệ thống tệp NTFS. Tôi muốn thỉnh thoảng cắm nó vào. Trước đây, âm lượng sẽ gắn kết 'chỉ đọc'. Khi tôi đã sửa nó, các tệp trên ổ đĩa ở trạng thái không sử dụng được. để có được âm lượng được gắn chính xác và có thể truy cập các tệp, tôi phải làm như sau:

FYI: Tôi là người dùng kornshell. Điều chỉnh các lệnh này vào shell ưa thích của bạn.

$ sudo ksh
<password>

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

$ vi /sbin/mount_ntfs

Sau đó dán nội dung bên dưới:

#!/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

Sau đó:

$ chmod a+x /sbin/mount_ntfs

$ chown root:wheel /sbin/mount_ntfs

Bây giờ, bất cứ khi nào tôi cắm vào đĩa, nó được gắn 'đọc / ghi' và các tệp trên đĩa có thiết lập lại trạng thái 'brok' của chúng. Kịch bản này hoạt động tốt cho tôi. Số dặm của bạn có thể thay đổi.

Thưởng thức --


1

Cảm ơn rất nhiều vì điều này - Tôi đã cải thiện tập lệnh ở trên vì nó không chạy trên máy OSX 10.8.4 của tôi (bị lỗi) và hơi chậm. Chỉ cần kiểm tra khi đĩa chỉ đọc được gắn ... Thay đổi được đánh dấu bằng 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

Bạn có thể vui lòng đề cập đến những thay đổi được thực hiện và tại sao - cảm ơn.
suspectus

cảm ơn vì đã trả lời - tôi đã cố gắng giải thích nó trong bài viết trên.
JCV

Điều đó có nghĩa là một người đọc phải đọc cả hai khối mã và so sánh về mặt tinh thần. Một số chú thích để mô tả những gì bạn đã làm và tại sao sẽ hữu ích.
suspectus

1
Kịch bản chỉ hoạt động cho đến khi đĩa được phát lại - sau đó nó phải thay đổi lại các tham số. Tôi đã thử thay đổi thông số setFile thành -c "????" (không biết ứng dụng của người tạo) cung cấp giải pháp bền bỉ nhưng sau đó nó gây nhầm lẫn thời gian nhanh trong khi mở phim (loại tệp không xác định blah blag).
JCV
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.