Windows7で「このファイルを変更するには コンピューターの管理者 からアクセス許可を得る必要があります」というエラーが出たときの対処

この記事は最終更新日から1年以上が経過しています。情報が古くなっている可能性があります。

備忘録。

Sponsored Link

結論

  1. 一旦削除したいファイルを削除しようとしてエラーになるので [再試行] を何度か押す
  2. 一度シャットダウン → もう一度起動する
  3. この時点でファイルが既に削除されているか、操作権限が通常のファイル同様になっているので削除できる状態になる
  4. 壊れたファイルを削除して完了

経緯

Git で作業をしていたら、いつのまにか

error: update_ref failed for ref 'refs/remotes/origin/master': cannot lock ref 'refs/remotes/origin/master': unable to resolve reference 'refs/remotes/origin/master': Permission denied

という見たことのないエラーが…

原因は (リポジトリフォルダ)/refs/remotes/origin/master ファイル(おそらく Git の管理ファイル)が壊れてしまい、上書きも移動も削除もできない状態になってしまったことにあるらしい。
git commit・git push 自体は通常通り行え GitHub にも正しく反映されるが、壊れたファイルに書き込みできないことでエラーになっていた。git remote rm で直るかと思いきや直らず、かなり詰まってしまった。

別 PC 内のストレージにあるローカルリポジトリをネットワーク経由でいじっている特殊なケースなので壊れるのも無理はないとはいえ…

(リポジトリフォルダ)/refs/remotes/origin/master を削除しようとすると「このファイルを変更するには管理者のアクセス許可を提供する必要があります」「このファイルを変更するには コンピューターの管理者 からアクセス許可を得る必要があります」と表示され、いくら再試行を押しても削除できない。
プロパティから権限周りの設定を変えようとしたが全部変更できない(適用ボタンを押すと謎のエラーが出る)し、裏技の 7-Zip File Manager(エクスプローラーじゃできない操作がなぜかできたりする)も使えず…。

今回は管理者にすらファイルの操作ができない権限になっていた(Linux で言う 000 ?)が、なぜかこの手の問題は大体再起動で直る。過去にも何度か再起動で直ったことがあった。
ファイルをロックしたままプロセスが消えた場合とかに起きそうだけど、どういう条件で起こるのかは分からない。

その点 Windows7 は割とファイルが壊れやすいような気がするな…(いい加減 Windows10 に移行しろ)

コメント

  1. フォルダの削除ができました。ご記載の手法を拝見してまさか、この様な単純な手順で削除が可能とは思っていませんでした。
    しかし、実行すると呆気なく、目の上のタンコブ(憎っくきフォルダ)を葬り去る事がで来ました。
    このノートPCにも window10を入れましたが、10対応のドライバーが無く、window7に戻しました。今後も困った際には此方へ、と思いますので有意義な情報の発信をお願い致します。
    有り難うございました。

    • いえいえ。だいぶ前に書いた記事ですが、お役に立てたようで何よりです。