空き容量の要求が低くなったCreators Update
でも、ギリギリの空きだと途中でエラーが発生する
筆者の手元にストレージが32GBのAtomタブレットが一台ある。昨年のAnniversary Update(以下、RS1)のアップデートでは非常に苦労した。そのときには、MediaCreationToolを使ってUSBメモリを作成し、これを使ってアップグレードを行なった。
しかし、今回のCreators Update(以下、RS2)では、いろいろと試行することで、32GBのストレージでも空き領域を確保することができ、外付けUSBメモリーなしでアップグレードができた。ただし、空き領域を確保するには、かなり手間がかかった。
テスト機のストレージはカタログ値では32GBだが、Cドライブの容量は28.1GB(30261899264バイト)。他のマシンだが、同じ64bit版Windows 10(RS1)では、システム容量として17GB(ディスク上のスペース)を占有している。計算上は10GB程度の空きはなんとか作ることができるはずだ。
一般的な手順として、Windows10のアップグレードには、以下の方法がある。
1. Windows Updateを待つ
2. Windows 10 Update Assistantを利用
3. Media Creation Tool(MCT)でインストールを行なう
4. MCTでインストール用USBメモリを作る
5. MCTでインストール用ISOイメージを作成する
手順自体は、TH2からRS1へのときと同様だが、「2」に関しては挙動が少し違っている。RS1用のUpdate Assistantでは、インストールのため16GBの空きが要求されていたが、RS2用のUpdate Assistantの要求は8GBである。
ただし、実際には、空き領域が8GBで起動しても途中でエラーになりインストールができなかった。確実にインストールが可能だったは空き領域を10GBまで拡大してからだ。
Update Assistantの起動前の空き領域が8GBで、起動後に、これを下回るからエラーというのはわかるが、9GB以上で、インストールを始めてから途中でエラーになるというのはなんともやりきれない。
挙動を観察してみると、Update Assistantを起動し、チェックが完了した段階で、ディスクスペースが8GB以上あって、「OK」と表示されているのに実際にアップデートを実行すると80%程度まで進行してエラー(0xc190020e)になる。
しかも、この0xc190020eは、容量不足で発生しているエラーだという。アップグレード前のチェックが「甘すぎる」のではないかと思われる。インストール途中に最新のアップデートをダウンロードしたり、機種によりドライバが違うため、利用ストレージ容量が変わるのは理解できないわけではない。
しかし、80%まで進行させておいて、そこまでかなり時間が経過しているのにかかわらず、エラーになってしまうのは、かなりガッカリだ。
なお、Windows10のアップグレード時に発生するエラーと対処方法については、以下のMSのページが参考になる。
●Windows 10 アップグレードのエラーの解決
https://technet.microsoft.com/ja-jp/itpro/windows/deploy/resolve-windows-10-upgrade-errors
しかし、必要容量が10GBというのは、RS2を搭載した32GBのマシンでは比較的、というか、なんとかなりそうな容量だ。実際、筆者は空き容量を確保することができた。
もっともストレージ容量が同じ32GBでも、パーティション状態によっては空き容量が異なる。たとえばプレインストールされていたWindowsのバージョンでも違いが出る。
Windows 8.1以前の場合、メーカーで作成した「回復パーティション」が作られており、これが数GBのサイズになっていることがある。また、その後のアップグレードで新たな「回復パーティション」が作られている可能性がある。
このような場合、32GBストレージのマシンでは、初期状態に戻すための「回復パーティション」を削除しないと10GBの容量は確保できないと思われる。どれが不要なのかを判断できるなら、削除してパーティションサイズを変更できる。だが、アップグレードを繰り返したマシンだと判断はなかなか面倒だ。
では実際に空き容量を増やすには?
空き容量を確保するには、大きく「ストレージを利用するサービスやアプリを一時的に解除する」「アプリを一時的にアンインストールする」「不要ファイルの削除」の3つの方法がある。
このうち、ユーザーによって違いが出やすいのは「サービス一時停止」と「アプリの一時アンインストール」だ。前者は、OneDriveの同期対象フォルダの容量などに依存し、後者はインストールしているアプリケーションの数や種類に依存する。
これに対して「不要ファイルの削除」は、ユーザー環境というよりも前回のメンテナンス時期などに依存する。長期間使っているマシンでは、不要なファイルが多数溜まっており、比較的効果が高く、大きく空き容量を増やすことが可能だ。
不要ファイルの削除のためにWindowsで用意されている機能としては、
・ディスククリーンアップ
・コンポーネントクリーンアップ(WinSxSフォルダの整理)
の2つがある。
ディスククリーンアップは、以前からあるWindowsのコマンドなので、利用したがあるユーザーも少なくないだろう。ただし、行うのは、通常実行ではなく「システムファイルのクリーンアップ」だ。
通常実行の場合、ディスククリーンアップは、ログファイルやテンポラリファイルなどを削除するだけだが、「システムファイルのクリーンアップ」を使うと、以前のWindows(C:\Windows.oldフォルダ)の削除なども削除できる。なお、「システムファイルのクリーンアップ」で指定できる削除項目は、通常のディスククリーンアップのものを完全に含んでいるため、重複して行なう必要はない。
ディスククリーンアップは、スタートメニューのすべてのアプリにある「Windows 管理ツール」の中にある。起動すると、対象ドライブを聞いてくるので、Cドライブを指定し、OKボタンを押してファイルのスキャンを開始させる。
スキャンが終わるとダイアログボックスが出るので「システムファイルのクリーンアップ」ボタンを押して、再度対象ドライブを指定する。
ダイアログボックスが表示されたら、削除対象容量を見ながら、「削除するファイル」のリストにあるチェックボックスをオン/オフしていく。すべての項目を削除しても、Windowsの起動には影響しないので、できればすべて削除してしまう。
コンポーネントファイルを整理する
コンポーネントクリーンアップは、C:\WindowsにあるWinSxS内のコンポーネントを整理するものだ。ここには、Windowsが利用するコンポーネント(ソフトウェアモジュール)があり、Windows Updateでシステムがアップデートされたあとも以前のコンポーネントファイルが残る。
ここには、大量のファイルがあるが、C:\Windows以下にあるさまざまなコンポーネントファイルとハードリンクしているため、ムダになっている容量は全体からみればさほど大きくない。Windowsフォルダのプロパティを表示させたとき、ファイルサイズとディスク上の容量が一致しないのは、このハードリンクにより、実際には1つしかないファイルが複数の場所にあるように見えるからだ。
Windowsが初期状態に戻されるとき(設定アプリ→更新とセキュリティ→回復)には、ここにあるコンポーネントから確実に動作している最も新しいコンポーネントを利用する(タイミングによるが必ずしも最新のものとは限らない)。
コンポーネントクリーンアップは、ここを整理し不要なファイルの取り除く。TH1、TH2、そしてRS1とアップデートされてきた環境で、これを実行したところ、1GB以上の空き領域を作ることができた。効果はかなり高いが、実行には1時間程度かかった。
コンポーネントクリーンアップは、起動コマンドはなく、タスクスケジューラーに登録されている「\Microsoft\Windows\Servicing\StartComponentCleanup」を使って起動する。「すべてのアプリ」→「Windows管理ツール」→「タスクスケジューラー」を開き、左側のツリー領域から「タスクスケジューラーライブラリ」→「Microsoft」→「Windows」→「Servicing」を選択する。ウィンドウ中央上部のリストで「StartComponentCleanup」を選び、右クリックから「実行」を選択する。
なお、標準設定では、コンポーネントクリーンアップの実行時間はタスクスケジューラーにより最大1時間で制限されているため、終了したのち再度起動することでさらにコンポーネントの整理を進められる可能性もある。時間があるようなら、WinSxSのフォルダ占有量を見ながら、再度実行してもいいだろう。
ストレージを利用するサービス、アプリの解除
たとえば、OneDriveを利用している場合、同期をやめればOneDriveフォルダの容量を解放できる。OneDriveはクラウド側にファイルがあるため、再同期自体には時間がかかるものの、正しく処理すればファイルが失われる可能性はない。
同様にクラウド側と同期する他のクラウドストレージサービス(インターネットストレージサービス)や他のクラウドサービスなどで同期を停止したり、アプリをアンインストールすることで、同期用に確保されているファイル領域が解放可能だ。ただし、アプリやサービスによって、アンインストール時の動作が違うため、それぞれのアプリ、サービスごとに正しく行う必要がある。
筆者の環境では、OneDriveで2GB程度、Evernoteで1GB程度のファイル容量を利用していた。このため、この2つを一時停止(Evernoteはアンインストールした)することで、3GB以上(実際には4GB近く)の空き容量を確保することができた。
OneDriveを一時停止させるには、「リンク解除」(OneDrive設定ダイアログ→アカウントタブ→このPCのリンク解除)が簡単だ。このようにすることで、同期中のフォルダが消去され、あとでOneDriveを再開させたときに、初期設定画面となり、保存先や同期対象フォルダなどを聞いてくる。そのあたりは面倒だが、少なくともファイルが失われることはない。
Evernoteの場合、事前に利用しているフォルダ(デフォルトではユーザーフォルダにあるEvernoteフォルダ)を調べておき、アンインストール後、このフォルダをバックアップしてから削除するか、完全に削除する。ただし、アンインストール前にEvernoteを起動して同期を完了させておく必要がある。
アプリのアンインストールも進める
Windows10のUWPアプリはアンインストールしても、簡単にWindowsストアから再インストールできる。このため、あまり気にすることなく、アンインストールしてしまって問題ない。
注意が必要なのは、デスクトップアプリケーションで、一部のアプリケーションは、再インストール後にアクティベーションなどの処理が必要になる。また、ファイルをコピーするだけのアプリケーションの場合、設定ファイルなどがないと、完全な初期状態に戻ってしまう場合があるため、必要なファイルを適宜バックアップしておく。
筆者の環境で大きな効果があったのは、Office 2016のアンインストールだ。これにより2GB近いストレージを解放できた。それ以外のアプリは数MB程度しか容量を稼げず、再インストールの手間を考え、そのままにしておいた。
なお、Update Assistantでアップデートが失敗した場合、RS2用のファイルがそのまま残ってしまう。具体的には、「C:\Windows10Upgrade」や「C:\$Windows.~BT」などのフォルダだ。エラー原因を探るには、「C:\$Windows.~BT」を残しておく必要があるが、そうでなければ、この2つのフォルダを削除することは可能である。
このようにして、10GB以上の空き領域を確保したところ、Update AssistantでRS2へのアップデートができた。RS1のときには、USBメモリを作成する手間があったが、要求空き領域のサイズが減ったのか、少し簡単になった感じだ。ただ、今後のアップデートを考えると、データはSDカード側に常に置くようにするなどの設定変更は必要になると思われる。
なお、RS2のインストール直後は、空き領域は1.7GBしかなかったが、ディスククリーンアップで「システムファイルのクリーンアップ」を行なったところ、9.9GBまで空き領域が回復した。
また、少し解説したようにアップグレードを繰り返した場合、複数の「回復パーティション」が残っていることがある。次回は、この回復パーティションを削除する方法を解説する予定だ。
この連載の記事
-
第459回
PC
WSL 2.4.4ではtar形式でのディストリビューションが配布でき、企業での利用が容易になってきた -
第458回
PC
Windows上でhostsファイルを活用する -
第457回
PC
IPv6アドレスは先頭を見ればどんな種類かわかる -
第456回
PC
あらためてIPv6基本のキ -
第455回
PC
Windowsで現在どのネットワークアダプタがインターネット接続に使われているかを調べる方法 -
第454回
PC
Windows 11 24H2では「デバイスの暗号化」の条件が変わり、より多くのPCでドライブが暗号化される -
第453回
PC
Windows 11 24H2の配布開始後もすぐにはやってこない Windows UpdateとSafeguard Holds -
第452回
PC
Windows 11 Ver.24H2が登場 Copilot+ PCとそうでないPCで実質Windowsが2つに分かれる -
第451回
PC
新しいWindowsサンドボックスではコマンドラインからの制御が可能に -
第450回
PC
ユニコードで文字数を数える方法 -
第449回
PC
WSLはプレビュー版でGUIでの設定が加わった! リリース2.3.xの新機能を見る - この連載の一覧へ