【Windows】「フォルダの表示設定」が勝手にリセットされる現象をレジストリで固定する手順

【Windows】「フォルダの表示設定」が勝手にリセットされる現象をレジストリで固定する手順
🛡️ 超解決

Windowsでフォルダの表示設定をカスタマイズしても、いつの間にか初期状態に戻ってしまう現象に遭遇していませんか。この問題は、業務効率を低下させる原因となります。この記事では、フォルダの表示設定が勝手にリセットされる原因を解説し、レジストリを編集して設定を永続的に固定する手順を詳しく説明します。

この記事の内容を実行することで、お好みの表示設定が維持され、ファイル操作のストレスを軽減できます。

【要点】フォルダの表示設定リセットをレジストリで解決する

  • レジストリのバックアップ: 誤操作に備え、レジストリ全体または関連キーを事前に保存します。
  • レジストリエディターでの設定変更: 特定のレジストリキーに新しいDWORD値を作成し、表示設定の記憶数を増やします。
  • ShellBagsキャッシュの調整: Windowsが記憶するフォルダ表示設定の最大数をレジストリで直接制御します。

ADVERTISEMENT

フォルダの表示設定がリセットされる根本的な原因

Windowsでは、各フォルダの表示設定を「ShellBags」という仕組みで記憶しています。このShellBagsは、アクセスしたフォルダの表示形式、並び順、グループ化といった情報を記録する機能です。しかし、ShellBagsが記憶できるフォルダの数には上限があります。

設定記憶数の上限を超えると、古い情報から順に削除され、設定がリセットされてしまいます。特に多くのフォルダにアクセスするビジネス環境では、この上限に達しやすいため、頻繁に表示設定が元に戻る現象が発生します。また、ShellBagsのデータ自体が破損している場合も、設定が正しく保持されなくなることがあります。

ShellBagsの記憶数とレジストリの関係

ShellBagsが記憶するフォルダの表示設定数には、Windowsの内部的な制限があります。この制限はレジストリで管理されており、初期設定では5000個のフォルダ設定までが記憶されます。

この上限を超えると、最も古くアクセスされたフォルダの設定から順に上書きされていきます。レジストリを編集することで、この記憶数の上限値を変更し、より多くのフォルダ設定を保持させることが可能です。これにより、表示設定が勝手にリセットされる現象を効果的に防ぐことができます。

フォルダの表示設定をレジストリで固定する手順

フォルダの表示設定がリセットされる問題を解決するには、レジストリエディターを使ってShellBagsの記憶数を増やします。レジストリの編集はシステムに影響を与えるため、必ず事前にバックアップを取ってください。

  1. レジストリエディターを起動する
    Windowsの検索ボックスに「regedit」と入力し、「レジストリエディター」アプリをクリックして起動します。「ユーザーアカウント制御」のダイアログが表示された場合は「はい」を選択してください。
  2. レジストリのバックアップを作成する
    レジストリエディターのメニューバーから「ファイル」をクリックし、「エクスポート」を選択します。「エクスポート範囲」で「すべて」を選び、任意の場所に「registry_backup.reg」などの名前で保存してください。万が一のトラブルの際に、このファイルから元に戻すことができます。
  3. 対象のレジストリキーへ移動する
    レジストリエディターのアドレスバーに以下のパスをコピーして貼り付け、Enterキーを押します。
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Shell
  4. 新しいDWORD値を設定する(Shellキー)
    「Shell」キーが選択されている状態で、右側の空白部分を右クリックします。「新規」にカーソルを合わせ、「DWORD 32ビット値」を選択してください。
  5. 値の名前を変更する(Shellキー)
    作成された新しい値の名前を「BagsMRUSize」に変更します。
  6. 値のデータを設定する(Shellキー)
    「BagsMRUSize」をダブルクリックして「DWORD 32ビット値の編集」ダイアログを開きます。「表記」で「10進数」を選択し、「値のデータ」に「50000」と入力します。これは記憶できるフォルダ設定の数を50000個に増やす設定です。設定後「OK」をクリックします。
  7. 別の対象レジストリキーへ移動する
    再度アドレスバーに以下のパスをコピーして貼り付け、Enterキーを押します。
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\ShellNoRoam
  8. 新しいDWORD値を設定する(ShellNoRoamキー)
    「ShellNoRoam」キーが選択されている状態で、右側の空白部分を右クリックします。「新規」にカーソルを合わせ、「DWORD 32ビット値」を選択してください。
  9. 値の名前を変更する(ShellNoRoamキー)
    作成された新しい値の名前を「BagMRU Size」に変更します。
  10. 値のデータを設定する(ShellNoRoamキー)
    「BagMRU Size」をダブルクリックして「DWORD 32ビット値の編集」ダイアログを開きます。「表記」で「10進数」を選択し、「値のデータ」に「50000」と入力します。設定後「OK」をクリックします。
  11. Windows 10での追加作業
    Windows 10の場合、上記に加え以下のキーにも同様の設定を行う必要があります。
    HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell
    このキーに移動し、上記手順4〜6と同じ方法で「BagsMRUSize」を「50000」に設定してください。Windows 11ではこの追加設定は不要な場合が多いです。
  12. PCを再起動する
    すべての設定が完了したら、レジストリエディターを閉じ、PCを再起動してください。これにより、新しいレジストリ設定がシステムに適用されます。

レジストリ編集時の注意点とその他の対処法

レジストリの編集はシステムに直接影響を与えるため、慎重な操作が求められます。設定を誤ると、Windowsの動作に問題が生じる可能性があります。

レジストリのバックアップを忘れてしまう

レジストリのバックアップをせずに編集を進め、誤った設定をしてしまうと、Windowsが正常に起動しなくなる可能性があります。作業開始前に必ず「レジストリのバックアップを作成する」手順を実行してください。

もしバックアップがない状態で問題が発生した場合は、システムの復元ポイントを利用するか、Windowsの回復オプションからのトラブルシューティングを試す必要があります。しかし、復元ポイントがない場合は修復が困難になるため、事前のバックアップが最も重要です。

設定を固定してもリセットが続く場合

レジストリでShellBagsの記憶数を増やしても、フォルダの表示設定がリセットされ続けることがあります。これは、既存のShellBagsデータ自体が破損している可能性や、サードパーティ製の最適化ツールなどが原因となっている場合が考えられます。

対処法:

  1. 既存のShellBagsデータを削除する: レジストリエディターでHKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\ShellおよびHKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\ShellNoRoam以下の「BagMRU」と「Bags」キーを削除します。この操作は現在のすべてのフォルダ表示設定を初期化します。削除前にこれらのキーのバックアップを取ることを推奨します。削除後、PCを再起動し、新しいフォルダ設定を保存してみてください。
  2. クリーンブートで確認する: 常駐アプリケーションがShellBagsの動作を妨げている可能性もあります。システム構成ユーティリティを使って、Windowsをクリーンブート状態で起動し、問題が再現するか確認します。問題が解決する場合は、原因となるアプリケーションを特定し、無効化またはアンインストールを検討してください。

レジストリキーが見つからない場合

指定されたHKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\ShellHKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\ShellNoRoamキー自体が存在しない、またはその中に「BagsMRUSize」や「BagMRU Size」値が既にある場合があります。

対処法:

  1. キーが存在しない場合: 親キーのWindowsを選択した状態で右クリックし、「新規」→「キー」を選択して「Shell」や「ShellNoRoam」という名前でキーを作成します。その後、上記の手順でDWORD値を作成してください。
  2. 値が既に存在する場合: 既存の「BagsMRUSize」または「BagMRU Size」をダブルクリックし、「値のデータ」を「50000」に変更してください。

設定値の推奨範囲を超えてしまう

「BagsMRUSize」や「BagMRU Size」の値は、大きすぎるとシステムリソースを過剰に消費する可能性があります。推奨される値は50000程度までです。これ以上の大きな値を設定しても、パフォーマンスに悪影響を与えるだけで、安定性が損なわれる恐れがあります。

対処法:

値は「50000」程度に留めておくことを推奨します。この値で問題が解決しない場合は、ShellBagsの破損など、別の原因を疑うべきです。

ADVERTISEMENT

従来のフォルダオプション設定とレジストリ設定の比較

項目 従来のフォルダオプション設定 レジストリによる設定
設定対象 個別のフォルダまたはフォルダの種類ごとの表示設定 ShellBagsが記憶するフォルダ設定の最大数
記憶数 Windowsの内部的な上限(デフォルト5000個) ユーザーが任意に上限数を変更可能(例: 50000個)
永続性 上限を超えると古い設定からリセットされる 設定記憶数の上限を増やすことでリセット頻度を大幅に低減
適用範囲 特定のフォルダまたは類似フォルダに適用される システム全体で記憶されるフォルダ設定の総数を制御する
難易度 WindowsのGUI操作で簡単に設定できる レジストリエディターを使用するため、専門知識が求められる

まとめ

この記事で解説したレジストリ編集手順を実行することで、Windowsのフォルダ表示設定が勝手にリセットされる現象を解決できます。

ShellBagsの記憶数を増やすことで、お好みの表示形式が維持され、日々の業務におけるファイル操作が快適になるでしょう。

今回学んだレジストリ編集の知識は、他のWindows設定のカスタマイズにも応用できる可能性があります。システム設定の深い理解の一助として、ぜひ活用してください。

ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。