レジストリを編集してWindows7を最適化する
レジストリを編集してWindows7を最適化する
レジストリエディターの使い方をマスターする
レジストリによるカスタマイズを行うには,「レジストリエディター」を利用してレジストリの値を変更するのが一般的だ。レジストリの変更はシステムに重大な影響を与えることもあるので,まずはレジストリエディターの使い方をマスターしておこう。
レジストリエディターを起動するには,スタートメニューの検索ボックスに「regedit」と入力して実行するか,またはWindows+「R」キーを押して表示される「ファイル名を指定して実行」画面で「regedit」と入力して実行する。「ファイル名を指定して実行」画面では実行履歴から選択することで入力の手間が省けるので,繰り返し実行する場合はこちらを利用するとよいだろう。
レジストリエディターは2ペイン構成になっており,左ペインにレジストリの構造がツリー表示され,右ペインには左ペインで選択したレジストリキーの内容(値の名前や種類,データ)が表示される。レジストリを編集するには,編集する値をダブルクリックすればよい。編集画面が表示されるので,「値のデータ」に新しい値を入力して「OK」ボタンをクリックしよう。サブキーや値を追加するには,追加したい場所を右クリックして,「新規」サブメニューから作成する項目を選択する。既存のレジストリキーや値は,項目を選択してDeleteキーを押すことで削除できる。
レジストリエディターの基本的な使い方
- 「レジストリエディター」を起動するには,スタートメニューの検索ボックスに「regedit」と入力して実行する
- 繰り返し実行する場合は「ファイル名を指定して実行」を使用すると便利だ。「ファイル名を指定して実行」は,Windows+「R」キーで起動する
- レジストリエディターは2ペイン構成になっており,左ベインにレジストリキーのツリー構造が表示され,左ベインで選択したキーの内容が右ペインに表示される
- 「値のデータ」を変更するには」レジストリ値をダブルクリックして編集画面を開く
- 新しいキーまたは値を作成するには,作成する場所で右クリックして「新規」サブメニューから作成 する項目の種類を選択すればよい
お気に入りを活用する
レジストリエデイターで操作するサブキーのほとんどは深い階層にあるため,編集するたびに階層を移動しなければならない。よく使用するサブキーは「お気に入り」に登録しておくと,移動の手間が省ける。
お気に入りに登録するには,サブキーを選んだ状態で「お気に入り」メニューから「お気に入りに追加」を選択する。デフォルトではサブキー名が項目名として設定されるが,サブキー名は重複することが多いので,分かりやすい名前に変更しておくとよい。登録したお気に入りは,「お気に入り」メニューから選択することでサブキーに移動できるようになる。
「お気に入り」による移動
- 頻繁に利用するレジストリキーは,お気に入りに登録しておくとよい。登録したいキーを選択して、「お気に入り」メニューから「お気に入りに追加」を選択する
- 「お気に入りの名前」にはデフォルトでキー名がセットされる。必要に応じて設定内容が分かりやすい名前に変更しておこう
- 「お気に入り」メニューで登録したキーを選択すれば,簡単に移動できる
レジストリをバックアップ7復元する
レジストリエディターにはアンドゥ機能がないため,編集結果を確定したり,項目を削除したりすると,設定を元に戻すことはできない。元の設定内容を覚えていれば手作業で復元することも可能だが,確実に復元したいときは,レジストリをエクスポートしておくとよいだろう。バックアップしたいキーを右クリックして「エクスポート」を選び,ファイル名を指定して保存するだけだ。保存したREGファイルをダブルクリックしてインポートすれば,いつでも設定を復元できる。ただし,追加したキーや値は削除されないので,これらは個別に削除する必要がある。
「システム回復オプション」でのレジストリ操作
前述の通り,レジストリにはシステムの動作に必要な重要なデータが格納されているため,設定ミスによってWindowsが起動しなくなってしまうこともある。このような場合でも,Windows回復環境(システム回復オプション)を使用すれば修復可能だ。
Windows7ではシステム回復オプションがハードディスクにインストールされており,ブート時にF8キーを押して「コンピューターの修復」を選ぶことで起動できる(図3)。「システム回復オプション」のランチャー画面が表示されたら,「コマンドプロンプト」をクリックしてコマンドプロンプトを起動し,「regload」コマンドによって通常のWindows7環境で使用するレジストリハイブをロードしよう。あとはレジストリエディターを起動して,設定を修正すればよい。
システム回復オプションでレジストリを修復する
- ブート時にF8キーを押すと「詳細ブートオプション」画面が表示されるので,「コンピューターの修復」を選択して起動する
- キーボード配列を選択する。日本語配列キーボードであれば,そのまま「次へ」ボタンをクリックしよう
- 「ユーザー名」で管理者アカウントを選択し,パスワードを入力して「OK」ボタンをクリックする
- システムドライブに割り当てられたドライブレターを画面上部にある「オペレーティングシステム:Windows7 (<ドライブレター>:)」で確認してから「コマンドプロンプト」をクリックする
- リスト1のコマンドラインを実行すると,Windows7環境のレジストリハイブを読み込んでからレジストリエディターが起動する。なお,ここではWindows7環境の「HKEY_LOCAL_MACHlNE\SOFTWARE」を「HKEY_LOCAL_MACHINE\softwarer」に,「HKEY_LOCAL_MACHINE\SYSTEM」を「HKEY_LOCAL_MACHlNE\_system」に読み込んでいる。そのため,カスタマイズ前にエクスボー卜したREGファイルを使用する場合は,メモ帳で開いてレジストリキーを変更しておく必要がある。編集が終わったらレジストリエディターを閉じ,リスト2のコマンドラインを実行してレジストリハイブをアンロードしておこう
リスト1■Windows7環境のレジストリハイブを読み込むためのコマンドラインreg load hkIm\_system <システムドライブのドライブレター>:Windows\system32\config\software reg load hkIm\_system <システムドライブのドライブレター>:Windows\system32\config\system regedit
リスト2■読み込んだレジストリハイブをアンロードするコマンドラインreg unIoad hklm\_software reg unIoad hklm\_system
パフォーマンスを向上させるカスタマイズ
ここからは,実際のカスタマイズについて解説していく。パフォーマンスを向上させるものと,操作性を向上させるものに大まかに分類してあるので,目的に応じたカスタマイズを試そう
カーネルメモリのページアウトを抑制する
Windowsが使用するカーネルメモリには,ページアウト可能な領域と不可能な領域がある。ページアウト可能な領域には重要性の低いコードが格納され,一定期間アクセスがなければページアウトする。そのため,ページアウトしたコードへのアクセスが発生すると,メモリ上ではなくハードディスクからの読み込みが必要となり,パフォーマンスに影響するわけだ。
この動作はレジストリ設定で変更可能なので,物理メモリを大量に搭載している環境では,すべてのカーネルメモリがページアウトしないように設定しておくとよいだろう。
すべてのカーネルメモリをページアウトさせない設定
- すべてのカーネルメモリをページアウトさせないようにするには,「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memo「yManagement」にあるDWORD値「DisabIePagingExecutive」の「値のデータ」に「1」をセットする。設定は再起動後に反映される。設定を元に戻すには「DisablePagingExecutive」の「値のデータ」を「0」にしてから再起動しよう
サブメニューの表示時間を調整する
サブメニューのあるメニュー項目にマウスポインタを合わせると,デフォルトでは04秒(400ミリ秒)待機してからサブメニューが表示される。メニュー操作をすばやく行いたいなら,待機時間を短くしておこう。
待機時間を調整するには,「HKEY_CURRENT_USER\Control Panel\Desktop」にある文字列値「MenuShowDelay」の「値のデータ」を編集する。設定値はミリ秒単位だ。「0」をセットすれば待機時間なしにサブメニューが表示されるが,読み込みに時間のかかるメニュー上をマウスポインタが通過するときに引っかかるような動作をすることもあるので,50~200ぐらいの範囲で調整するとよいだろう。設定内容は再ログオン後に反映される。なお,スタートメニューの「すべてのプログラム」の表示に関しては,待機時間をデフォルトより短くしてもほとんど効果がみられなかった。
サブメニューの表示時間を調整する
- サブメニューの表示時間は「HKEY_CURRENT_USER\ControlPanel\Desktop」で,文字列値「MenuShowDelay」の「値のデータ」で変更できる。設定値はミリ秒単位なので,50~200ぐらいの範囲で調整するとよいだろう。設定は再ログオン後に有効になる
ライブサムネイルやデスクトッププレビューが表示されるまでの時間を調整する
Windows7には,タスクボタンにマウスポインタを合わせてサムネイルを表示するライブサムネイル機能や,ライブサムネイルでマウスポインタを合わせたウィンドウ以外を透過させる機能が搭載されている。ウィンドウを切り替えずに内容を確認できて便利だが,操作中の画面にライブサムネイルが重なったり,ほかのウィンドウが表示されたりすることもある。
これらの機能はAeroプレビューによって実現されており,「パフォーマンスオプション」で無効にできるが,不要な場面での誤作動を回避したいのであれば,マウスポインタをボタンに合わせてからプレビューが表示されるまでの時間を調整するとよい。タスクバー右端の「デスクトップの表示」領域にマウスポインタを合わせることでデスクトップが表示されるデスクトッププレビューについても,待機時間を個別に調整可能だ。
ライブサムネイルやデスクトッププレビューが表示されるまでの時間を調整する
- ライブサムネイルが表示されるまでの時間を調整するには,「HKEY_CURRENT_USER\Software\Microsoft\Windows\Current
Version\Explorer\Advanced」に「ExtendedUlHovelTime」という名前のDWORD値を作成し,「値のデータ」に待機時間をミリ秒単位で設定する - 「表記」で「10進数」を選択してから「値のデータ」を入力しよう。ウィンドウプレビューをほとんど使用しない場合を除き,2000~3000(2~3秒)ぐらいが適切だろう
- ライブサムネイルでマウスポインタを合わせたウィンドウのみデスクトップに表示するまでの時間は「ThumbnailLivePreviewHoverTime」,デスクトッププレビューを表示するまでの時間は「DesktopLivePreviewHoverTime」という名前のDWORD値を作成し,それぞれ待機時間を設定することで調整可能だ。設定は再ログオン後に反映される
表1■Aeroプレビュー関連のレジストリ値と設定内容値の名前 値の種類 設定内容 ExtendedUIHoverTime DWORD値 ライブサムネイルを表示するまでの大気時間 ThumbneilLivePreviewHoverTime DWORD値 ライブサムネイルでマウスポインタを合わせたウインドウをAeroプレビューで表示するまでの待機時間 DesktopLivePreviewHoverTime DWORD値 Aeroプレビューでデスクトッププレビューを表示するまでの待機時間
通知領域の通知をすべて非表示にする
Windows7の通知領域では,アイコンや通知(バルーンヒント)の表示/非表示をコントロールパネルの「通知領域アイコン」で設定できるようになっている。ただし,ここではアイコンごとに設定する必要があり,通知のみを非表示にすることはできない。すべての通知をまとめて非表示にしたいなら,「HKEY_CURRNT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced」に「EnableBalloonTips」という名前のDWORD値を作成しよう。設定内容は再ログオン後に反映される。
すべての通知を非表示にする
- すべての通知をまとめて非表示化したいなら,「HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced」に「EnableBalloonTips」という名前のDWORD値を作成する。「値のデータ」はデフォルトの「0」のままでよい。再ログオンすれば,すべての通知が表示されなくなる。設定を元に戻すにはJEnableBalloonTips」を削除して再ログオンしよう
バッテリー駆動時のインデックス作成を停止する
Windows7ではインデックスを使用した高速検索が可能だが,バッテリー駆動時にもインデックスが作成されるため,バッテリー駆動時間に影響することがある。そこでバッテリー駆動時には,インデックスの作成を停止するようにしておこう。
インデックス作成に関する設定は,「HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows」に「Windows Search」という名前のサブキーを作成し,DWORD値「PreventlndexOnBattery」を追加する。「値のデータ」に「1」をセットして再起動すれば完了だ。
設定を元に戻すには,「PreventlndexOnBattery」を削除して再起動すればよい。
Windows7 Professional/Ultimateでは,ローカルグループポリシーエディターでも設定することが可能だ。設定を変更するには,「ローカルコンピューターポリシー」-「コンピューターの構成」-「管理用テンプレート」-「Windowsコンポーネント」-「検索」の「電力を節約するため、バッテリ使用時にはインデックスを作成しない」を「有効」にする。
バッテリー駆動時のインデックス作成を停止する
- レジストリの「HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows」にサブキー「Windows Search」を作成し、「PreventindexOnBattery」という名前のDWORD値を追加する。「値のデータ」に「1」をセットして再起動すれば、バッテリー駆動時にはインデックスの作成が行われなくなる。設定を元に戻すには「PreventindexOnBattery」を削除して再起動しよう
- ローカルグノレープポリシーエデイターを使用する場合は,「ローカルコンピューターポリシー」-「コンピューターの構成」-「管理用テンプレート」-「Windowsコンポーネント」-「検索」で「電力を節約するため』バッテリ使用時にはインデックスを作成しない」を「有効」にする
!使い勝手を向上させるカスタマイズ
フォルダタイプの自動検出を無効にする
Windows7では,フォルダの内容によって表示形式を自動設定する「フオルダタイプの自動検出機能」が利用可能だ。ただし,正しくフオルダタイプが認識されず;ほとんどのフォルダで「画像またはビデオ」の表示形式になってしまうことがある。このような場合は,レジストリエディターでフオルダタイプをリセットしてから自動検出機能を無効にしよう。
フォルダタイプの自動検出を無効にする
- 「HKEYL_CURRENT_USER\Software\classes\Local Settings\Software\Microsoft\Windows\Shell」のサブキー「BagMRU」および「Bags」を削除する。続いて「Bags\AllFolders\Shell」という構造のサブキーを再度作成し「FolderType」という名前の文字列値を作成して「値のデータ」に「NotSpecified」をセットすればよい。フォルダを開き直せば設定が反映されているはずだ
ショートカットメニューの「編集」で起動するアプリケーションの設定
テキストファイルのショートカットメIニューには「編集」という項目が用意されているが,これを選択しても「開く」と同じようにメモ帳でファイルが開かれる。別のテキストエディタで編集したいときは,レジストリの「HKEY_CLASSES_ROOT\SystemFileAssociations\text\Shell\edit\Command」で既定値のデータを「<テキストエディタのフルパス>%1」に変更すればよい(図10)。なおこの設定は拡張子「txt」のテキストファイルだけでなく,「.css」や「.csv」,「.htm」,に「.ini」など,「HKEY_CLASSES_ROOT\<拡張子>」で「PerceivedType」の「値のデータ」が「text」になっているすべての拡張子のファイルに対して適用される。
ちなみに,管理者権限の必要な場所にあるテキストファイルを編集する場合,テキストエディタを管理者として起動しなければ編集結果は保存できない。このような操作をする機会が多いなら,「管理者として実行」コマンドをショートカットメニューに追加しておこう。設定は「HKEY_CLASSES_ROOT\SystemFileAssociations\text\Shell」に「runas\Command」という構造でサブキーを作成し,「Command」の既定値のデータに「<テキストエディタのフルパス>%l」をセットする。たとえばメモ帳を管理者として起動してファイルを編集するのであれば,「C:\Windows\system32\notepadexe%1」という文字列をセットしよう。
「編集」項目で起動するアプリケーションを変更する
- 「HKEY_CLASSES_ROOT¥SystemFileAssociations¥text¥Shell¥edit\Command」の既定値のデータを「<テキストエディタのフルパス>%1」に置き換えれば,テキストファイルのショートカットメニューで「編集」から起動するプログラムを変更できる
- 「HKEY_CLASSES_ROOT¥SystemFileAssociations\text\Shell」に「runas\Command」という構造でサブキーを作成し,「Command」の既定値のデータに「<テキストエディタのフルパス>%1」のような文字列をセットする。これによりテキストファイルのショートカットメニューに「管理者として実行」が追加され,管理者権限でファイルを開いて編集できるようになる
ショートカットのファイル名に「-ショートカット」を付けない
マウス操作でファイルのショートカットを作成すると,ファイル名に続いて「-ショートカット」という文字列が付加される。ショートカットであることはアイコンを見れば分かるので,レジストリエディターで「-ショートカット」が付加されない設定にしてもよいだろう。
ショートカットファイルの名前の変更
- 「HKEY_CURRENT_USER¥Software¥Microsoft¥Windows¥CurrentVersion¥Exploredにあるバイナリ値「link」の「値のデータ」を|~00000000」に変更すれば,ショートカットファイルの名前に「-ショートカット」が付かなくなる。元に戻すには「linldを削除すればよい
「コマンドウィンドウをここで開く」を常時表示する
Windows7のエクスプローラーでHKEY_CLASSES_ROOT¥Drive¥Shell¥cmd ドライブアイコンは,Shiftキーを押しながらフォルダアイコンやフォルダ7デスクトップの背景部分を右クリックすると,ショートカットメニューに「コマンドウインドウをここで開く」という項目が追加される。この項目を選択することで,該当するフォルダをカレントディレクトリにしてコマンドプロンプトウインドウを開くことが可能だ。コマンドプロンプトで作業することが多い場合は,この項目が常時表示される設定に変更しておくと効率よく作業できる。レジストリでは,フォルダアイコンとドライブアイコン,背景部分がそれぞれ別のサブキーに設定されているので,よく使う項目だけを変更しておこう。
- 「コマンドウィンドウをここで開く」を常時表示する
- 表2の各サブキーにある文字列値「Extended」を「-Extended」にリネームすれば,Shiftキーを押さなくてもショートカットメニューに「コマンドウィンドウをここで開く」が表示されるようになる
表2■「コマンドウィンドウをここで開く」が登録されているレジストリキーレジストリキー ショートカットメニューの呼び出し元 HKEY_CLASSES_ROOT\Directory\Background\shell\cmd デスクトップとフォルダウィンドウの背景 HKEY_CLASSES_ROOT¥Directory¥Shell¥cmd フオルダアイコン HKEY_CLASSE_SROOT¥Drive¥Shell¥cmd ドライブアイコン
フォルダのショートカットメニューから管理者権限でコマンドプロンプトを起動する
コマンドラインツールの中には管理者権限の必要なものも多いので,「コマンドウィンドウをここで開く」で起動したコマンドプロンプトでは実行できないこともある。そこで,コマンドプロンプトを管理者権限で開く項目をショートカットメニューに追加する手順も紹介しておこう。この設定は「HKEY_CLASSES_ROOT¥Directory¥Shell」に「runas¥Command」という構造のサブキーを作成し,「runas」の既定値のデータに「管理権限のコマンドウインドウをここで開く(&A)」,「Command」の既定値のデータに「cmd.exe/s/kpushd "%"V」をセットすればよい。
フォルダのショートカットメニューから管理者権限のコマンドプロンプトを起動できるようにする
- [HKEY_CLASSES_ROOT\Directory\shell」に「runas\command」という構造でサブキーを作成し、「runas」の既定値のデータに「管理者権限のコマンドウインドウをここで開く(&A)をセットする。Shiftキーを押したときだけ項目を表示させるには、「Extended」という名前の文字列値を作成しておこう。背景部分のショートカットメニューに追加したい場合は、「HKEY_CLASSES_ROOT\Directory\Background\shell」にサブキーを作成し、同様に値をせっとすればよい
- 「Command」の既定値のデータに「cmd.exe/s/k pushd "%V"」とセットすれば完成だ