Mac OS X - Problemi con l'autorizzazione del file nell'unità USB NTFS


10

Posso leggere / scrivere file all'interno di un'unità USB esterna NTFS.

Ho dei problemi con file di grandi dimensioni come AVI / MKV memorizzati su un'unità esterna NTFS. Quei file appaiono in grigio nel Finder e, sempre usando Finder, quando "Apri con" il mio lettore video ricevo uno strano errore:

L'elemento "file.avi" è utilizzato da Mac OS X e non può essere aperto.

Bene, ho trovato una soluzione alternativa: se trascino la selezione file.avinel mio lettore video, tutto funziona bene.

Ma davvero non riesco a capire perché appare questo problema.

Si prega di considerare che non ho installato alcun driver personalizzato NTFS (ad es. MacFUSE o NTFS-3g). Per montare la mia unità USB NTFS in R / WI sono state modificate solo /etc/fstab, aggiungendo la seguente riga:

LABEL=WD320 none ntfs rw

Succede solo su file multimediali (ad es. Video)? Puoi escludere specificamente alcuni tipi di file?
slhck,

Un'altra cosa che potresti provare è installare NTFS-3g e vedere se funziona.
slhck,

Una soluzione non tecnica è quella di aprire i file in grigio con l'inutile Quick Time Player (QTP) usando 'quick view'> doppio (o destro) clic sul nome file> Quick Look Funziona solo con file che QTP può aprire come mp4 avi ecc. Non aprirà i file mkv.

Per aggirare completamente il problema, è possibile creare i file trasferendoli da un disco rigido esterno (anziché copiarli dall'HD del computer) all'HD NTFS. Faticoso, certo, ma poi è possibile accedere direttamente ai file

Risposte:


26

Ho trovato un thread che tratta lo stesso argomento. I file appaiono in grigio e non possono essere aperti con lo stesso messaggio di errore.

Ecco i passaggi per (si spera) risolverlo:

  • Apri un Terminale ed esegui

    xcode-select --install
    
  • Quanto sopra installerà gli strumenti da riga di comando XCode

  • Quindi, corri

    GetFileInfo /Volumes/WD320/yourfile.avi
    
  • Ci dovrebbero essere informazioni sul tipo di file e sul creatore e altri attributi di file

  • Ora, modifica quegli attributi chiamando

    SetFile -c "" -t "" /Volumes/WD320/yourfile.avi
    
  • Ora il file dovrebbe essere riprodotto

Ovviamente non potevo provarlo (cosa che normalmente farei), ma forse aiuta.


Qualcuno vuole spiegare perché il downvote? @NSGod in realtà si riferiva alla mia risposta come la cosa da provare - la sua (molto buona) risposta spiega solo il background tecnico.
slhck,

1
Molto bene. Grazie mille per questo suggerimento :)
freedev,

Non puoi più modificare questi campi nelle proprietà del file del Finder stesso? Sembrano essere in caselle di testo modificabili nello screenshot fornito nella risposta data da @NSGod. Se possibile, ciò spiegherebbe un downvote, se si consiglia di scaricare un programma non necessario.
sinceramente

@trikly: No, la finestra mostrata nella mia risposta è uno screenshot dell'app Xray di Rainer Brockerhoff ( brockerhoff.net/xray ). Mac OS X Finder non ha mai avuto la possibilità di modificare tipi di file e codici creatore direttamente tramite una GUI (potresti essere in grado di utilizzare AppleScript). Il mio intento di mostrare l'immagine era di cercare di illustrare meglio ciò che stava accadendo.
NSGod,

1
Funziona ancora bene in macOS Sierra per i miei file HDD montati su NTFS :-) grazie!
Benno,

7

L'elemento "file.avi" è utilizzato da Mac OS X e non può essere aperto.

Ciò significa che l'elemento ha avuto un tipo di file 'brok'e un codice creatore 'MACS'impostato per esso (e non cancellato):

inserisci qui la descrizione dell'immagine

Quando si utilizza il Finder per duplicare i file, quando il Finder crea per la prima volta il file duplicato, imposta un tipo di file speciale 'brok'e un codice creatore di 'MACS'(il codice creatore del Finder stesso), per indicare che il file è in uso. Una volta terminata la creazione del file duplicato, il Finder reimposta il tipo di file e il codice creatore su quelli del file originale.

Di solito, si verifica una situazione in cui il 'brok'tipo di file non viene ripristinato se il Finder si arrestava in modo anomalo o in qualche modo veniva interrotto durante la copia del file. Se questo non è il tuo caso, allora quello che vedi potrebbe essere un bug nel rwsupporto del driver NTFS integrato.

Come accennato da Slhck, dovresti essere in grado di cancellare questa reazione dal Finder cancellando il tipo di file e il codice creatore del file in questione.


2

La mia risposta a questo problema è il risultato del mettere insieme le risposte prese da molti altri post (molte grazie) e la mia esperienza.

Sullo sfondo: ho un disco rigido esterno con un file system NTFS. Voglio collegarlo di tanto in tanto. In precedenza il volume montava "sola lettura". Una volta risolto il problema, i file sul volume erano in uno stato inutilizzabile. al fine di ottenere il volume montato correttamente e avere i file accessibili, ho dovuto fare quanto segue:

Cordiali saluti: Sono un utente kornshell. Regola questi comandi sulla tua shell preferita.

$ sudo ksh
<password>

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

$ vi /sbin/mount_ntfs

Quindi incolla il contenuto di seguito:

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

Poi:

$ chmod a+x /sbin/mount_ntfs

$ chown root:wheel /sbin/mount_ntfs

Ora, ogni volta che collego il disco, è montato "lettura / scrittura" e i file sul disco hanno il loro stato "brok" ​​ripristinato. Questa sceneggiatura funziona bene per me. Il tuo chilometraggio può variare.

Godere --


1

Grazie mille per questo: ho migliorato lo script sopra perché non funzionava sulla mia macchina OSX 10.8.4 (ha dato errori) ed è stato un po 'lento. Devi solo verificare quando è montato un disco di sola lettura ... Modifiche contrassegnate con 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

Potresti per favore menzionare le modifiche apportate e perché - grazie.
suspectus,

grazie per la risposta - ho provato a spiegarlo nel post sopra.
JCV

Ciò significa che un lettore deve leggere entrambi i blocchi di codice e fare un confronto mentale. Alcune annotazioni per descrivere ciò che hai fatto e perché sarebbe utile.
suspectus,

1
Lo script funziona solo fino a quando il disco non viene reinstallato, quindi deve modificare nuovamente i parametri. Ho provato a cambiare i parametri setFile in -c "????" (applicazione creatore sconosciuta) che offre una soluzione persistente ma che confonde il tempo di apertura durante l'apertura di un filmato (tipo di file sconosciuto blah blag).
JCV,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.