Windowsの高速化をがんばってみた

に公開
12

はじめに

Windowsのもっさり感を多少なりとも改善する手をいろいろと考えまして、
レジストリ操作で出来ることはないか、調べたのでまとめます

初心者には禁断技であるレジストリ操作を行うので、
書いてあることを行っても結果に責任は持ちませんし、バックアップはお願いしますね

レジストリエディタとは

Windowsには標準でレジストリエディタというアプリがあって、
これを使用してWindowsの内部設定を変更することで、
通常の「設定」では出来ない事が出来るようになります
このアプリの使用方法は、以前の記事にまとめているのでそちらを見てください
https://zenn.dev/maedan/articles/f45514fe0b86b5
「レジストリエディタの操作」を見てください

宣伝です

上記の記事にも書いてますが、レジストリエディタを操作が怖い人向けに、簡単にGUIで操作できるアプリを作成してます
今回の内容も、このアプリに新機能として追加しました
良かったらBoothで販売しているので購入してください
https://nori33.booth.pm/items/7291320

まずはバックアップ

レジストリエディタでの作業は、間違った設定を行った場合に、最悪Windowsが正常に起動しないなどのリスクがあります
このリスクを認識して、以下の操作を実施下さいね
もしもの時のために、レジストリ内容をバックアップする事をお勧めします
バックアップは、「コンピュータ」を右クリックして表示されるメニューより「エクスポート」を選択で、ファイルとして書き出せます

そこそこ大きなファイルなので、ちょっと時間かかります
保存したファイルでレジストリエディタを復旧させるのは、
メニューにある「ファイル」から「インポート」を選択して、エクスポートで書き出したファイルを選択してください

機能いろいろ

右クリックメニューを旧仕様に

Win11で右クリックすると表示される項目が最低限となっています。昔はずらっと表示されたんですがね。結局「その他のオプションを表示」をクリックする必要があるので、1クリック増えて手間なんで、これを元に戻す設定です
こちらの設定は上記のリンクでも記載しているんですが、大事なので再掲です
https://zenn.dev/maedan/articles/f45514fe0b86b5
詳細は「Win11で変わったメニュー」を見てください

ファイルキャッシュ時のメモリ割り当てを許可

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\LargeSystemCache

ファイルシステムのキャッシュサイズを大きくして、ファイル操作のパフォーマンスを向上します
デフォルトでは「0」となっていますが、「1」に変更することで
システムがファイルキャッシュにより多くのメモリを割り当てる事を許可します

Windowsカーネルを物理メモリに常駐

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Memory Management\DisablePagingExecutive

カーネルをメモリからのページアウトを禁止して、メモリ上に常駐させることで高速化します
デフォルトは「0」で無効となっていますが、「1」とすることで有効化します

メニュー表示のレスポンス向上

HKEY_CURRENT_USER\Control Panel\Desktop\MenuShowDelay

マウスのカーソルがサブメニュー項目の上に置かれてから、ショートカット メニューが表示されるまでの待ち時間を設定する項目です
設定値は[ms]単位になっていて、デフォルトで400[ms]となっています
この時間を短く設定することでメニューが高速に表示されるます
例えば、
アイコンやフォルダを右クリックして表示されたメニュー内の「>」のついたサブメニューをマウスオーバーさせた際に、サブメニューが表示されるまでの遅延時間です
自作アプリでは、デフォルトの400[ms]を20[ms]に設定します。マウス合わせてメニューが表示されるまでが早くなるので、これだけでもサクサク感ありますよ

起動時のスタートアップ遅延を無くす

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Serialize\StartupDelayInMSec
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Serialize\WaitForIdleState

パソコンを起動した最初に起動するスタートアップアプリの起動遅延時間の設定です

「StartupDelayInMSec」は起動時のスタートアップアプリの遅延時間の設定項目です、これを「0」に設定し遅延時間を0[ms]としています
「WaitForIdleState」は、特定のプログラムはパソコンが完全にアイドル状態になるまで起動させない設定になっていて、これを「0」として無効にします

昔のOSで使用してた短いファイル名(8.3形式)の停止

HKEY_LOCAL_MACHINE\SYSTEM\CurrnetControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation

昔のWindowsではファイルの名前が8文字、拡張子3文字までの制限がありました
今でもこの形式に対応していますが、これを無効とすることで多少なりともパフォーマンスを向上させます
デフォルトでは「0」で有効化されていますが、これを「1」として無効化します

Discussion

kkddkkdd

こんにちは。
何だか苦行(?)に近いかもしれませんね。なお、Winslop はいかがでしょうか?

NoriNori

なるほどこんなアプリがあるのですね
知りませんでした
AI機能を削除できるのは、面白いですね

kkent030315kkent030315

ReviOSもお勧めです。
https://revi.cc

NoriNori

やっぱりこの手のアプリはたくさんあるみたいですね
真似する訳ではなく、
自分の技術向上も兼ねての開発なので
これからも思いつくまま機能追加していきたいと思ってます

天霧まを天霧まを

HKEY_LOCAL_MACHINE\SYSTEM\CurrnetControlSet\Control\FileStstem\NtfsDisable8dot3NameCreation
上のやつに誤字があります
FileStstem:誤
FileSystem:正

NoriNori

ご指摘ありがとうございます、誤記ですね
修正させてもらいました

ただのぷーさんただのぷーさん

変更後の影響まで掘り下げて、変更のリスクも示したほうが親切かなと。例えばわざわざディレイさせている理由があるわけですよね。

NoriNori

レジストリエディタはリスクありますよね
何かの場合に備えてバックアップの手法を追記しました

dotadota

結論:古き良き「チューニング」記事だが、現代の環境では効果が限定的または注意が必要な項目を含む

総合評価:★★★☆☆ (3/5)
Windowsのカスタマイズが好きな人や、Windows 11のUI挙動(右クリックメニューなど)に不満がある人には有用ですが、パフォーマンス向上のためのメモリ設定変更については、現代のPC環境では効果が薄いか、逆に副作用がある可能性があるため、鵜呑みにするのは推奨できません。


詳細レビュー

1. 記事の構成とわかりやすさ(良い点)

  • 構成が明確: レジストリエディタの基本から始まり、バックアップの重要性、個別の設定項目と、手順が整理されています。
  • リスクへの配慮: 「最悪Windowsが起動しなくなるリスクがある」と明記し、バックアップ方法を案内している点は誠実です。
  • 特定のUI不満への解決策: 「右クリックメニューを旧仕様に戻す」「メニュー表示の遅延をなくす(MenuShowDelay)」といった項目は、体感速度や操作性を確実に向上させるため、非常に実用的です。

2. 技術的な正確性と有効性(注意点・懸念点)

記事内で紹介されているメモリ・システム関連のチューニングは、Windows XP〜7時代によく流行した手法であり、Windows 10/11や現代のハードウェア(SSD・大容量メモリ)において推奨されるかは議論の余地があります。

  • NtfsDisable8dot3NameCreation (8.3形式の短いファイル名の停止):

    • 解説: Windowsが長いファイル名を持つファイルに対し、互換性のために自動生成する「短い別名(例: PROGRA~1)」の作成を停止する設定です。
    • 懸念: Microsoft公式も注意喚起している通り、これを無効化・削除すると、パスに空白が含まれる場合などでアプリの不具合やアンインストール不能といった深刻な問題が発生する可能性があります。現代のPC性能において、これによる高速化のメリットよりも事故のリスクの方が大きく、万人に推奨するには危険な設定です。
  • LargeSystemCache (ファイルキャッシュの優先):

    • 解説: これを「1」にすると、OSはメモリをアプリケーションよりもファイルキャッシュに優先して割り当てるようになります(主にサーバー用途の設定)。
    • 懸念: デスクトップ用途でこれを行うと、アクティブなアプリケーションが使える物理メモリが減り、逆にアプリの動作が重くなる可能性があります。
  • DisablePagingExecutive (カーネルのメモリ常駐):

    • 解説: カーネルデータをページファイル(ディスク)に退避させず、物理メモリに置く設定です。
    • 懸念: 昔のHDD&低メモリ環境では有効でしたが、現代のSSD&大容量メモリ環境ではOSが自動で最適化しているため、手動で固定するメリットは薄く、システムが不安定になるリスクもあります。
  • StartupDelayInMSec (スタートアップ遅延なし):

    • 解説: 起動直後のアプリ立ち上げ待機時間をなくします。
    • 懸念: 起動直後はCPUやディスクアクセスが集中するため、あえて遅延させることで競合(フリーズなど)を防ぐのがWindowsのデフォルトの設計意図です。これを「0」にすると、スペックによっては起動直後の動作がカクつく可能性があります。

まとめ

この記事は、「Windows 11の右クリックメニューの挙動を直したい」「メニュー表示をキビキビさせたい」 という目的には非常に役立ちます。

しかし、「PC全体の処理速度を上げたい」 という目的でメモリ関連の設定(LargeSystemCacheなど)を適用するのは、現代のPCアーキテクチャにおいては効果が疑問視されており、副作用のリスクもあるため、慎重に行うべきです。

kkddkkdd

どうしても受忍できない際には、頑張るのではなく、キッパリと、OS 再インストール(およびディスクの再フォーマット)も良さそうです。

NoriNori

はい、実は結構の頻度でPCリセットして再インストールを行ったりしてます
そして、これが一番効くんですよね
ただ、その為にはローカルにデータを置かずにクラウドに保存するとかの普段からの工夫が大事ですよね

kkddkkdd

ありがとうございます。おっしゃるようにそれに備えて、データ保存、再構築手順の記録などを日頃から心がけると良いですね。現在私も再構築に苦闘中ですが。