手抜きOS Windows 10 Part209 / Windows.oldに削除してはいけないファイルが格納されていることがある件
Windows.oldフォルダ1年くらいたってるので削除しようとしました
ところが削除できないので変だなと思ったのですが
以前のWindows のインストールから削除してみることにしました
36M分しか削除できない!
削除コマンドはアクセス拒否で削除失敗
なんか、ドライバが直接ファイルを開いてるようです…
でも、レジストリ見ると別にファイル使ってないんですよね‥‥。
そこで、fsutil コマンドを使ってみると…
なんと、hardlink が形成されてることが判明。
恐らく、
・ドライバがハードリンクを形成
・Windows 10が実態ファイルを無視して、ハードリンク情報をバックアップ
・ファイルが更新されて、ハードリンクの中身も新しいファイルになったので、 C:\windows.oldに入っているファイルは消せない。
ってのが原因かな
これを無理やり消してしまうと、可動中のデバイスドライバなどが消えてしまってえらいことになります。
C:\Windows.oldに削除できないファイルがある場合は消してはいけない。同じドライブの別の場所に移動してバックアップしておきましょう
せめて実態を判定してからバックアップしてほしいものですね・ω・
ハードリンクならWindows.oldのを安全しても問題ないですですが?
>>1
安全するとは?
削除しても問題ないですが、と書いたつもりでいました。
>>3
ハードリンクは、参照元のリンクがすべて消えると消えてしまうので、オリジナルをファイルとしてバックアップして削除してからオリジナルのファイルを書き戻さないとファイルによってはオリジナルのファイルまで消えてしまい、まずいことになります。
同じファイルエントリなのに参照元のリンク?
ハードリンクは$MFTのひとつのファイルエントリのリンク数2以上になっていて、それだけの基本ファイル情報がある状態。
ファイルエントリの参照元は、ディレクトリのインデックスですが、ファイルエントリの見た目上、基本ファイル情報の格納順の差しかなく、ランリストは当然ひとつです。
ファイルエントリは最大バイト数が決まっているので、無限にハードリンクを作ることもできません。
ファイルの削除はディレクトリのインデックスからリンク切って、ファイルエントリのリンク数を減らし、該当基本ファイル情報を詰めます。
どのハードリンクを削除しても、ファイルエントリのリンク数が0にならない限りファイルは消えないので、Windows.oldのファイルを消しても問題ないです。
>>5
結論としては、一部を除いて、Windows.oldのファイルを消すとファイルがなくなってしまう状態になっていました。