Windows 10 バージョン1903から「予約済み記憶域」という一部のユーザーにとっては迷惑な機能が搭載されました。
SSD容量が有り余っている人には関係ありませんが、タブレットPCやスティックPCで万年容量不足で困っている人はここで説明する方法で削除することができます。
クリーンインストールしたら、いつの間にかCドライブが容量不足に
SoftEther VPN Server用のPCをWindows 10 バージョン1903にアップデートしてから調子が悪いので、クリーンインストールすることにしました。
クリーンインストール自体は問題なく完了して、SoftEther VPN Serverも正常に稼働しています。しかし、アップデート後に発生していた調子が悪いという状況は改善せず、いろいろと調べていました。
調べているうちに、ふと気付いたらCドライブが空き容量不足で、赤く表示されていました。もちろん、クリーンインストールした直後は十分な空き容量がありました。
そういえばWindows 10 バージョン1903から7GBが余分に確保されるという話を聞いていたことを思い出しました。
確認してみると案の定「予約済み記憶域」というものにストレージが食われたため、空き容量が無くなったことが分かりました。
Windows 10 バージョン1903で搭載された「予約済み記憶域」
「予約済み記憶域」とはWindows 10 Insider Preview Build 18312から搭載された機能で、そのままWindows 10 バージョン1903に標準搭載されました。
「予約済み記憶域」の詳細についてはこちらで説明されています。
要点をまとめると「予約済み記憶域」とは、
- Windows 10を安定稼働させるために確保される、一般のアプリからは使えないストレージ領域
- サイズは初期状態は7GBでPC環境によっては更に増える
- 更新プログラム、アプリ、一時ファイル、システムキャッシュなどで使用される
- Windows 10 バージョン1903がプリインストールされたPC、またはWindows 10 バージョン1903をクリーンインストールしたPCで有効となっている
- Windows 10 バージョン1903にアップデートしたPCは現状では無効になっている
アップデートしたPCでは無効なので、多くのPCは現時点では影響を受けません。
メーカー製PCなど多くのPCでは、搭載されているストレージをCドライブ単体で使っています。そのため、ユーザーがインストールしたアプリやメール、各種ドキュメントで知らぬ間にストレージはいっぱいになり、Windows 10の更新プログラムなどが適用できなくなることがあります。
このような事態にならないように予めWindows 10が専用に使用するワークエリアとして確保するのが「予約済み記憶域」です。
しかし「予約済み記憶域」はストレージの空き容量に関係なく確保されます。
ストレージに十分な余裕があるPCなら問題無いのですが、搭載されているストレージが少なく、どうにかWindows 10とアプリを動作させている状態で、いきなり7GBも確保されると非常に困ります。
毎度のことですが、先のリンクの記事には、
Our goal is to improve the day-to-day function of your PC by ensuring critical OS functions always have access to disk space.
私たちの目標は、重要なOS機能が常にディスク領域にアクセスできるようにすることで、PCの日常機能を改善することです。(Google翻訳)
とあります。MicrosoftはOSのメーカーなので当然の主張かもしれませんが、「予約済み記憶域」を確保することでアプリが使えなくなっては本末転倒だと思うのですが。
「予約済み記憶域」が確保されているかの確認方法
現時点では「予約済み記憶域」はWindows 10 バージョン1903がプリインストールされたPCとWindows 10 バージョン1903をクリーンインストールしたPCで有効に設定されています。
現時点ではというのは、アップデートしたPCでも必要なパラメーターはレジストリに設定されているため、いつ有効にされるか分からないためです。
「予約済み記憶域」が確保されているかは「設定」アプリを起動して「システム」「ストレージ」でCドライブ(C:)を見ます。
Cドライブ(C:)の下のカテゴリ毎の使用状況に「システムと予約済み」が表示されていない場合は「表示するカテゴリを増やす」をクリックします。
「システムと予約済み」が表示されたらクリックします。
確保されていれば「予約済み記憶域」という項目に現状で確保されているサイズが表示されます。
通常はどんなPCでも約「7GB」が確保されます。
Windows 10 バージョン1903がリリースされる前に騒がれていた「7GB」とは「予約済み記憶域」のサイズのことです。
「予約済み記憶域」はどこに確保されているのか
アプリが使えないのは困るので「予約済み記憶域」を削除するために、どこかに7GB程度のファイルが確保されているのかと探したのですが見つかりませんでした。
回復パーティションが余分に確保されるとの説もありましたが、Windows 10 バージョン1903ではパーティション構成に変更は無く、回復パーティションも30MBしか増えていません。
同様の疑問を持った方が探した結果、NTFSの「予約クラスター」として確保されているとのことです。
そのため単純に削除することはできません。
「予約済み記憶域」を削除する手順
NTFSの予約クラスターを直接操作するのではなく「予約済み記憶域」を制御しているプロセスに指示を出すことで削除させます。
「予約済み記憶域」はレジストリに設定されたパラメーターに従って確保されます。そのパラメーターを書き換えることで「予約済み記憶域」の確保をやめさせます。
手順はこちらで説明されていますが、ここでは少し手順を変えます。
なお、検索で見つかる情報にあるとおり、レジストリの
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ReserveManager
というキーにある「SippedWithReserves」という値を変更することで「予約済み記憶域」の有効/無効を設定できます。ただし「1」にすることで有効化、「0」にすることで無効化はできるのですが、一度作成された「予約済み記憶域」はこの値を変更するだけでは解放されません。
一度確保された「予約済み記憶域」を削除するには、他のレジストリ値も合わせて変更する必要があります。
1.現状のレジストリをバックアップ
「予約済み記憶域」のパラメーターはある程度は決まっているようですが、PCによって違う部分もあるため、自分のPCのレジストリのバックアップを作成しておきます。
キーボードの[Windows]+[R]で「ファイル名を指定して実行」を開き、名前に「regedit」と入力して「OK」をクリックしてレジストリエディターを起動します。
「ユーザーアカウント制御」が表示されるので「はい」をクリックして進めます。
左側で、
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ReserveManager
を選択した状態でメニューの「ファイル」「エクスポート」から保存します。
保存場所とファイル名は任意で構いませんが「エクスポート範囲」は既定で選択されている「選択された部分」となっていることを確認してから保存してください。
保存したファイルの拡張子は「reg」となります。
2.「予約済み記憶域」設定ファイルをダウンロード
こちらのファイルをダウンロードします。
ダウンロードした「Reserved-Storage-Setting-v2.zip」を選択してエクスプローラーのリボンまたは右クリックのメニューから「プロパティ」をクリックして「プロパティ」を表示します。
「セキュリティ」部分の「許可する」にチェックを入れて「適用」をクリックします。
「セキュリティ」部分が消えたことを確認したら「OK」をクリックして「プロパティ」を閉じます。
3.「予約済み記憶域」のレジストリを書き換え
ダウンロードした「Reserved-Storage-Setting-v2.zip」を任意のフォルダーに展開します。
展開すると2つのファイルがありますので「Disable-Reserved-Storage-v2.reg」をダブルクリックします。
「ユーザーアカウント制御」が表示されますので「はい」をクリックします。
レジストリの変更についての警告が表示されますので「はい」をクリックします。
レジストリが変更されたと表示されますので「OK」をクリックして閉じます。
4.「予約済み記憶域」の削除
再起動すると「予約済み記憶域」が消えるはずですが、消えない場合は次の操作を行ってみてください。
「設定」アプリの「システム」「ストレージ」で「ストレージセンサーを構成するか、今すぐ実行する」をクリックします。
「ごみ箱」と「ダウンロード」フォルダーの削除についての設定に問題がある場合は変更して、「今すぐ空き容量を増やす」という部分の「今すぐクリーンアップ」をクリックします。
クリーンアップが実行され、完了すると「今すぐクリーンアップ」ボタンの右側にチェックが表示されます。
左上の「←」で前の画面に戻り、「システムと予約済み」をクリックして、
「予約済み記憶域」が消えていることを確認します。
「予約済み記憶域」が有効な状態に戻す手順
バックアップしたレジストリファイルをダブルクリックして読み込むことで「予約済み記憶域」が有効な状態に戻すことができます。
バックアップしたファイルが見つからない場合はダウンロードした「Reserved-Storage-Setting-v2.zip」を展開した2つのファイルの中の「Enable-Reserved-Storage-v2.reg」をバックアップしたファイルの代わりに読み込みます。
PCごとに「HardReserveAdjustment」の値が異なるため、できるだけバックアップしたレジストリファイルを使用してください。
「予約済み記憶域」はすぐに確保されるのではなく、更新プログラムのダウンロードなどが行われると徐々に増えていきます。
「予約済み記憶域」は問題となるのか
SSDの価格は急激に下がりました。自作PCでは240GB以上を搭載するのが一般的です。メーカー製の安価なPCでも240GB以上を搭載しています。
また、アップデートしたPC、すなわち既にユーザーのデーターが蓄積されたPCでは「予約済み記憶域」は有効にされません。
このような状況でWindows 10が7GB程度を余分に確保したとしても問題とはならないでしょう。
問題となるのはギリギリの容量で使っている、32GBや64GB程度のストレージしか搭載されておらず、交換のできないタブレットPCやスティックPCでしょう。
「予約済み記憶域」は、うっかりストレージを使い過ぎてしまう人にとっては有用な機能です。
そしてMicrosoftは常にPCのストレージサイズも監視しています。7GBという容量を確保できそうならアップデートしたPCでも「予約済み記憶域」を有効にしてくる可能性があります。
その場合、大型アップデートでは7GBとは別に従来通りの空き容量を要求される可能性があり、アップデートに失敗する可能性もでてきます。
現時点では「予約済み記憶域」が有効となっているPCが少なく、問題とはなっていませんが、今後の大型アップデートで問題が顕在化する可能性はあります。
まとめ
Windows 10の最低システム要件のストレージサイズは64ビット版で32GBですが、Windows 10 バージョン1903から導入された「予約済み記憶域」によりプラス7GB必要となりました。
いよいよ、ストレージの少ないPCは買い替えを考えなければならないでしょう。
コメント
Windows 11 にアップデートすることになりました。
試したいと思います。
コメントを頂きありがとうございます。
ダウンロードファイルをWindows 11での動作確認版に差し替えましたので、古いファイルで削除できないようでしたら、新しいファイルで試してみてください。