外付けHDの権限を修復しようとしています。 「そのようなファイルは使用中です」というメッセージがたくさん表示されるため、プラグを差し込んだときにゴミ箱を空にすることはできません。ドライブの権限を修復することでこれが解決される可能性があることをオンラインで読みました。ドライブを再起動するか、プラグを抜いてから再度差し込むと、使用中のため、現在ドライブをアンマウントできません。lsof
を使用して何が使用されているかを確認しましたが、これを理解できず、表示されません。これが何を意味するかを学ぶための明確なガイドを見つけるために。出力は以下のとおりです。
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mds 59 root 23r DIR 1,9 1701 5 /Volumes/SEAGATE
mds 59 root 31r DIR 1,9 1701 5 /Volumes/SEAGATE
コマンド
ps ax | egrep '[ /](PID|mds)'
出力
PID TT STAT TIME COMMAND
660 ?? Ss 0:12.49 /System/Library/Frameworks/CoreServices.framework/Frameworks/Metadata.framework/Support/mds
673 ?? Ss 0:08.68 /System/Library/Frameworks/CoreServices.framework/Frameworks/Metadata.framework/Versions/A/Support/mds_stores
コマンド
/usr/bin/Sudo kill 660
出力
//new line$
コマンド
Sudo lsof /dev/disk2s2
出力
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mds 1599 root 11r DIR 1,8 1764 5 /Volumes/SEAGATE
その順番で
Bashファイルを連続して数回実行すると、次のようになります。
PID TT STAT TIME COMMAND
1737 ?? Ss 0:00.69 /System/Library/Frameworks/CoreServices.framework/Frameworks/Metadata.framework/Support/mds
しかし、ドライブはまだmdsによってロックされています
例外が追加されたことを示すために、スクリーンショットを次に示します。
ドライブの権限を修復することでこれが解決する可能性があることをオンラインで読みました。
残念ながら、あなたの問題の説明から、これは間違っています。修復する必要があるのは、外部ディスクSEAGATE
上のファイルシステムです。
lsof
の分析lsof
コマンドの出力は、コマンドmds
(最初の列)が実際にファイルシステム_/volumes/SEAGATE
_(最後の列)を読み取っていることを示しています。この素晴らしいコマンドの詳細については、MacOSXに付属のマニュアルをお読みください。
_man lsof
_
mds
は、すべてのファイルシステムのメタデータへのアクセスを提供するMacOSXサーバーです。その最も重要なクライアントはFinder
とSpotlight
です。
外部ディスクを取り出すことができない場合、これは正当であり、mds
がまだそれを読み取っているためです。それでもそれを抽出すると、ファイルシステムが確実に破損します。
破損しているので、これを修正する方法は次のとおりです。
_System Preferences > Spotlight
_ select Privacy
ウィンドウを開き、(+)SEAGATE外部ディスクを停止してSpotlight
を停止し、インデックスを作成しようとします。
mds
がまだ実行されている場合:
_ps ax | egrep '[ /](PID|mds)'
_
あなたはそれを殺さなければならないでしょう:
__pid_to_kill=`ps ax | egrep '[ /]mds' | awk '{print $1}'`
if [ "${_pid_to_kill}" ] ; then
echo "${_pid_to_kill}" | while read _pid ; do
/usr/bin/Sudo kill ${_pid}
done
fi
_
lsof
ディスクが空いていることをSEAGATE
で確認します。
_lsof /Volumes/SEAGATE
_
これでよければ、GOTO4。
mds
を強制終了しても_/Volumes/SEAGATE
_が解放されない場合は、mds
を介してこのファイルシステムにアクセスする別のプロセスがあります。 (これはアンチウイルスまたはクラップウェアである可能性があります。これはまったく別のサイズの調査です)。この場合、高速パスはlaunchd
がmds
を開始しないようにすることです。
次のように実行します。
_cd /System/Library/LaunchDaemons
/usr/bin/Sudo launchctl unload com.Apple.metadata.mds.plist
_
mds
プロセスがもうないことを確認してください:
_ps ax | egrep '[ /](PID|mds)'
_
lsof
ディスクが空いていることをSEAGATE
で確認します。
_lsof /Volumes/SEAGATE
_
これで大丈夫です、GOTO4。
_Disk Utility
_を起動し、ディスクSEAGATE
を確認します。修理が必要になるのではないかと思います。この場合は修理してください。
それを取り出して、「使用中のファイル」エラーメッセージがもうないことを確認してください。
_System Preferences > Spotlight
_ select Privacy
ウィンドウを開き、(-)SEAGATE外部ディスクでSpotlight
がインデックスを作成できるようにします。
launchd
がmds
を開始しないようにする必要がある、strep 3.に合格した場合は、この機能を再度有効にする必要があります(そうしないと、ファイルシステムの管理で多くのことが失敗します)。
次のように実行します。
_cd /System/Library/LaunchDaemons
/usr/bin/Sudo launchctl load com.Apple.metadata.mds.plist
_
Spotlightがこのドライブのインデックスを作成しているようです。 Spotlightがハングアップし、このドライブを絶えず叩く原因となっている問題がある可能性があります。
mds
プロセスはメタデータサーバーです。このプロセスを強制終了してから、このドライブにインデックスを付けないようにスポットライトに指示してください。
Spotlightのインデックス作成を無効にするには、[システム環境設定]-> [Spotlight]-> [プライバシー]に移動し、ディスクを除外リストに追加します。 mds
を強制終了して再起動し、スポットライトを取得してインデックス作成を停止する必要がある場合があります。
これがあなたの問題であるかどうかはわかりませんが、始めるのに良い場所です。