外付けハードドライブの権限を回復しようとしています。ごみ箱を入れた後、「このタイプのファイルを使用しています」というメッセージが表示され、空にすることはできません。ドライブの権限を回復すると、この問題が解決される可能性があることをオンラインで読みました。再起動したり、プラグを抜いたり再接続したりすると、ドライブが使用中であるため、現在のドライブをマウント解除できません。私は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によってロックされています。
例外が追加されたことを示すために、次のスクリーンショットを示します。
ベストアンサー1
診断が速すぎる
ドライブの権限を回復すると、この問題が解決される可能性があることをオンラインで読みました。
残念ながら、あなたの問題の説明によると、これは間違っています。回復する必要があるのは、外部ディスク上のファイルシステムですSEAGATE
。
分析するlsof
コマンドのlsof
出力mds
は、コマンド(最初の列)が実際にファイルシステム/volumes/SEAGATE
(最後の列)を読み取っていることを示します。この素晴らしいコマンドの詳細については、MacOS Xに付属のマニュアルを読んでください。
man lsof
mds
MacOS Xサーバーは、すべてのファイルシステムメタデータへのアクセスを提供する役割を果たします。最も重要な顧客はFinder
およびですSpotlight
。
外付けディスクを取り出せない場合は、mds
まだ読んでいるので正当なものです。とにかく解凍すると、ファイルシステムが確実に破損する可能性があります。
ファイルシステムを無料で修復して修復
これで故障したので、修正する方法は次のとおりです。
System Preferences > Spotlight
選択ウィンドウを開き、SEAGATE外付けディスクをPrivacy
追加()してインデックスの試行を停止します。+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
問題がない場合は4番に進みます。
mds
シャットダウン後も解放されない場合は、他の/Volumes/SEAGATE
プロセスがファイルシステムにアクセスしていますmds
。 (これはウイルス対策またはジャンクウェアのいずれかです。これは別の調査スケールです。)この場合、クイックパスはstoplaunchd
-startです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
大丈夫です。 4に進みます。
Disk Utility
ディスクを起動して確認してくださいSEAGATE
。少し修理が必要になりそうです。この場合は修理してください。ポップアップを表示して、「ファイルを使用中」というエラーメッセージがなくなったことを確認してください。
System Preferences > Spotlight
選択ウィンドウを開き、SEAGATE外部ディスクをPrivacy
削除()してインデックスを作成できます。-Spotlight
strep 3を過ぎて
launchd
起動を停止すると、mds
それを再度有効にする必要があります(そうしないと、ファイルシステムを管理する多くの操作が失敗します)。次のように進んでください。
cd /System/Library/LaunchDaemons /usr/bin/sudo launchctl load com.apple.metadata.mds.plist