【macOS】Finderでエラーコード -36 が出てファイル名変更できない場合(SMB共有)

MacのFinderでファイル名を変更しようとすると、

操作を完了できません。
予期しないエラーが起きました(エラーコード-36)。

と表示された。


エラーコード -36 とは?

macOSでよくある I/Oエラー(入出力エラー)のよう。

特に以下の環境で発生しやすいらしい。

  • 外付けHDD
  • NAS
  • USBメモリ
  • 共有サーバー(SMB)
  • 破損ファイル

今回のケース(共有サーバー)

状況

  • 共有サーバー上のファイル
  • Windowsからはファイル名変更可能
  • Macからは変更不可
  • 削除すると消えるが再表示すると復活
  • どのMacでも同じ症状

原因(ほぼ確定)

SMB共有+macOS特有の不整合

特に多いのが:

  1. AppleDouble(._ファイル)破損
  2. 拡張属性の不整合
  3. 文字コード不整合
  4. サーバー側スナップショット復元

Windowsは ._ファイル を無視するけど、
macOSは参照するためエラー -36 が発生するらしい。


【解決方法】dot_clean を実行

① ターミナルを開く

② 以下を実行

dot_clean -m "/Volumes/共有名/該当フォルダ"

※ 共有名は
Finder → 移動 → コンピュータ
で確認。

実行後、再度ファイル名を変更する。


隠しファイル確認(必要なら)

ls -la

._ファイル名 があれば削除:

rm -f ._ファイル名

それでもダメな場合

① 一度ローカルにコピー

  1. Macにコピー
  2. 名前変更
  3. 共有に戻す

② SMB再接続

  1. Finderで共有を「取り出す」
  2. 再接続
smb://サーバー名

削除しても復活する場合

サーバー側で以下が動いている可能性:

  • Windowsの「以前のバージョン」
  • NASのスナップショット
  • ウイルス対策ソフト

Windows側で:

右クリック → プロパティ → セキュリティ
右クリック → 以前のバージョン

を確認。


今回の結論

原因は MacではなくSMB共有の不整合が9割

特に ._ファイル(AppleDouble)が原因の典型例らしい。


今後の予防策

① 大量コピー後に実行

dot_clean -m "/Volumes/共有名"

② SMB再接続

smb://サーバー名

で接続し直すと安定しやすいかも?


まとめ

  • エラー -36 はI/Oエラー
  • 共有環境では ._ファイル が原因になりやすい
  • まずは dot_clean で解決可能

同様の症状が出たら、まず dot_clean を実行してみましょう!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です