何故おとなしく入ってくれないのか。
何度か試していたら、なんか別の更新が来た。
でも、そいつも同じように「予定通りに(ry」だった。
なんか根本的におかしいぞ。
あ。
もしかしてWindows UpdateってC:\Windows\Temp
使ってるのか?
と思って調べてみるとC:\Windows\SoftwareDistribution
だった。
関係なかったか。
何故C:\Windows\Temp
でマズいかというと、
ここは一時ファイルの読み書きが行われるので、速度アップとSSD延命のために
実体はRAMDiskに置いといてC:\Windows
にシンボリックリンクを張っている。
Windows上だけでWindows Updateが完結する更新なら問題無い。
ただ、今回のようにリブートが絡むと、Windowsが立ち上がっていないとRAMDsikなんて無い状態なわけで
それを読みに行って失敗した となるのかと予想したんだけど、違うか~。
念のため・・・。
C:\Windows
にTemp2
というフォルダを作成する。
なんか警告が出るけど気にせずOK。
スタートボタンを右クリックして設定をクリック。
「設定の検索」に環境変数
と入力してEnter。
右端の編集ボタンをクリック。
ここにあるTEMPとTMPを編集する。
行を選択して、編集ボタンをクリック。
初期値は%SystemRoot%\TEMP
になっている。
%SystemRoot%\TEMP2
に変更してOKボタンをクリック。
これをもう片方のTMPも同じように変更する。
元のTEMPを何が使っているかわからないので、Windowsを再起動する。
再起動が完了したらWindows Updateポチッとな。
いつも通りの流れで、再起動を指示されるので再起動。
あ、普通に通りやがった。
何か釈然としないところもあるけど、解決した。
再び設定→Windows Update→更新プログラムのチェックをすると
22H2が来た。
これは失敗したら非常にマズいので前述のTEMP2のまま実行。
そして無事成功。
変更したパスを戻すのを忘れないように。