😵
macOS で "failed to open for writing: Resource busy" と表示される場合の対処法
TL;DR
先にアンマウントする。
症状
USB 内にあるデータを完全削除しようと思い、shred コマンドを実行したら "Resource busy" と言われてしまった。shred コマンド以外でも、このエラーが出ることはある。
解決法
ファイルシステム名の検索
以下のコマンドを実行する。
Shell
df
対象のファイルシステム名 (例: /dev/disk2s1
) をクリップボードにコピーしておく。macOS では、USB は /Volumes
以下にマウントされるので、"Mounted on" の欄が /Volumes/<USB_NAME>
となっているディスクの "Filesystem" の欄をコピーすれば良い。
アンマウント
そして、対象のファイルシステムをアンマウントする。
Shell
diskutil unmount <FILESYSTEM_NAME>
所望のコマンドを実行
その後、実行したいコマンドを実行する。たとえば、USB の中身を完全消去したければ以下のコマンドを実行する。
Shell
sudo shred -uvz <FILESYSTEM_NAME>
参考: ハードディスク内のデータを本当の意味で完全消去する方法
Discussion