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

備忘録。

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 に移行しろ)

Sponsored Link
Sponsored Link
Windows
tsukumiをフォローする
Sponsored Link
つくみ島だより

コメント