手抜きOS Windows 10 Part209 / Windows.oldに削除してはいけないファイルが格納されていることがある件

gomi
Windows.oldフォルダ1年くらいたってるので削除しようとしました
ところが削除できないので変だなと思ったのですが

gomi3
以前のWindows のインストールから削除してみることにしました

gomi3a
36M分しか削除できない!

gomi4
削除コマンドはアクセス拒否で削除失敗

gomi5
なんか、ドライバが直接ファイルを開いてるようです…
でも、レジストリ見ると別にファイル使ってないんですよね‥‥。

そこで、fsutil コマンドを使ってみると…

C:\>fsutil hardlink list Accelerometer.sys
\Windows\System32\DriverStore\FileRepository\accelerometer.inf_amd64_ded64ac0ab2094df\amd64\Accelerometer.sys
\Windows.old\System32\DriverStore\FileRepository\accelerometer.inf_amd64_ded64ac0ab2094df\amd64\Accelerometer.sys
\Windows\System32\drivers\Accelerometer.sys

なんと、hardlink が形成されてることが判明。

恐らく、
・ドライバがハードリンクを形成
・Windows 10が実態ファイルを無視して、ハードリンク情報をバックアップ
・ファイルが更新されて、ハードリンクの中身も新しいファイルになったので、 C:\windows.oldに入っているファイルは消せない。
ってのが原因かな

これを無理やり消してしまうと、可動中のデバイスドライバなどが消えてしまってえらいことになります。
C:\Windows.oldに削除できないファイルがある場合は消してはいけない。同じドライブの別の場所に移動してバックアップしておきましょう
せめて実態を判定してからバックアップしてほしいものですね・ω・

おすすめ

6件のフィードバック

  1. のん より:

    ハードリンクならWindows.oldのを安全しても問題ないですですが?

  2. 黒翼猫 より:

    >>1
    安全するとは?

  3. のん より:

    削除しても問題ないですが、と書いたつもりでいました。

  4. 黒翼猫 より:

    >>3
    ハードリンクは、参照元のリンクがすべて消えると消えてしまうので、オリジナルをファイルとしてバックアップして削除してからオリジナルのファイルを書き戻さないとファイルによってはオリジナルのファイルまで消えてしまい、まずいことになります。

  5. のん より:

    同じファイルエントリなのに参照元のリンク?
    ハードリンクは$MFTのひとつのファイルエントリのリンク数2以上になっていて、それだけの基本ファイル情報がある状態。
    ファイルエントリの参照元は、ディレクトリのインデックスですが、ファイルエントリの見た目上、基本ファイル情報の格納順の差しかなく、ランリストは当然ひとつです。
    ファイルエントリは最大バイト数が決まっているので、無限にハードリンクを作ることもできません。
    ファイルの削除はディレクトリのインデックスからリンク切って、ファイルエントリのリンク数を減らし、該当基本ファイル情報を詰めます。
    どのハードリンクを削除しても、ファイルエントリのリンク数が0にならない限りファイルは消えないので、Windows.oldのファイルを消しても問題ないです。

  6. 黒翼猫 より:

    >>5
    結論としては、一部を除いて、Windows.oldのファイルを消すとファイルがなくなってしまう状態になっていました。

コメントを残す

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