SSDを導入

あ…ありのまま 今 起こった事を話すぜ!(AA略)

『おれはXBOX360のHDを交換しようと
思ったらいつのまにか、PC用にSSDを買っていた』
 
な… 何を言ってるのか わからねーと思うが
おれも何をされたのかわからなかった
 
頭がどうにかなりそうだった…
 
無駄使いだとか現実逃避だとか
そんなチャチなもんじゃあ 断じてねえ
 
もっと恐ろしいものの片鱗を味わったぜ…
*1

というわけで、XBOX360のHDを市販のものに取り替えようとしていたのですが、その過程で、WindoowsのHDのパーティションのデータを消してしまい(笑)、Windowsが起動出来なくなってしまいました。
回復コンソールを使用してもどうしようもない状態だったので、再インストールするしかなかったのですが、パーティション情報が消えているため、フォーマットが必要(多分)で、元データが消えるのは惜しかったのです。
幸い、同型のHDは手元にあったので、パーティション情報はそちらから、データを引っ張れば回復するだろうと予測はあったのですが、それをする為には、どれか別のHDを消してWindowsを入れるしかないかなと思いましたが、あまり消したくはない。う〜ん。。。

…いや、逆に考えるんだ!これは、SSDを買うチャンスだと考えるんだ(AA略

HDが無いなら、買えばいいじゃない、という事で、SSDを買ってしまいました。
SSDには書き込み回数による寿命というのがあるので、出来るだけデータは入れないようにしよう。だからそんなに容量もいらないし、って事で32Gのものを選びました。

欲しいのは、SATA、32G。という事で、近い価格帯では書込み・読込みの速度が速そうだった、PE32GS25SSDRを選びました。

最大読込 175MB/s
最大書込 100MB/s
インタフェース 2.5インチSATA I/II

SSDWindowsXPをインストールして、起動。ログインまでの時間は大して変わらないですが、ログイン後に動作が落ち着くまでがすごっい早いよ!

WindowsXPでのSSDの最適化

さて、これで完了!と行きたいのですが、SSDには書き換え回数の限界というのがあります。なので、寿命を延ばそうと思うと、出来るだけ書き換えを行わないようにする事が重要です。
という事で、かき集めた情報をメモ。(間違っている情報もあるのかもしれませんが、その際はご指摘頂けると助かります)

仮想メモリをなくす

[仮想メモリ]は、メインメモリが足りなくなった際に、HDDを仮のメモリとして使用する機能です。
なので、十分なメモリを積んでいれば必要ありませんので、使用しないようしておきましょう。

  1. [マイコンピュータ]上で[右クリック]→[プロパティ]で[システムのプロパティ]を表示します。
  2. [詳細設定]タブの[パフォーマンス]の[設定]ボタンを押し、[パフォーマンスオプション]画面を開きます。
  3. [詳細設定]タブを開き、[仮想メモリ]の[変更]ボタンを押し、[仮想メモリ]設定画面を開きます。
  4. ドライブで、SSDのドライブを選択し、[ページングファイルなし]のところにチェックを入れ、設定を押せば完了です。
インデックスをつけないようにする

この設定がされていると、ディスク内のファイル・フォルダの索引を作って、検索時の高速化が出来るんですが、それよりも、いちいちデータが書き込まれるのは嫌なので、設定をOFFにしておきます。

  1. [マイコンピュータ]を開き、SSDドライブ上で[右クリック]→[ローカルディスクのプロパティ]画面を開きます。
  2. [全般]タブの[このディスクにインテックスを付け、ファイル検索を速くする]のチェックを外して、[OK]を押せば完了です。
マイドキュメントの場所を変更

マイドキュメントにも色々なデータが追加されたり、使用する事も多いと思いますので、別HDを使用します。
別HDが無ければ、SDカード等の保存出来るデバイスがあれば、そちらにしてもいいと思います。

  1. [マイドキュメント]上で[右クリック]→[プロパティ]で[マイドキュメントのプロパティ]を表示します。
  2. [ターゲット]タブの[リンク]先の設定をSSDドライブ以外の好きな所に設定すればOKです。
RAMDiskの作成

"Gavotte Ramdisk"を使って設定。設定方法はGavotte Ramdisk まとめWIKIを参照。

環境変数の変更
  1. [マイコンピュータ]上で[右クリック]→[プロパティ]で[システムのプロパティ]を表示します。
  2. [詳細設定]タブの[環境変数]ボタンを押し、[環境変数]設定画面を開きます。
  3. [ユーザー環境変数]の[TEMP]を選択し、[編集]ボタンを押し、[ユーザ変数の編集]画面を開きます。
  4. [変数値]をSSDドライブ以外の任意の所に設定し、[OK]ボタンを押します。(オススメは上記のRAMDisk上です)
  5. [ユーザー環境変数]の[TMP]にも、[TMP]と全く同じ設定をすれば、OKです。
MS-DOS方式の8.3文字ファイル名の自動生成を停止

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem
NtfsDisable8dot3NameCreationの値を 0->1

起動時のシステムファイル読込整理機能をOFF

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction
値を Y->N

RAMを4Gに増設

あわせて、カーネルメモリのページプールを物理メモリに置く設定と、デバイスドライバのIOキャッシュサイズを増やす設定を行う。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\MemoryManagement\
DisablePagingExecutiveの値を 0->1
DWORD値でIoPageLockLimitを作成、10進で8000000

【設定】"デスクトップ"フォルダの移動

レジストリの変更(regedit.exe)
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
の「Desktop」を移動先のフォルダへ変更

自動デフラグ設定の停止

SSDはディスクを持たないため、デフラグする必要がない。また、デフラグは書換えが多く寿命を短くするだけなので、停止する。
 
【設定】アイドル時の自動デフラグを停止
レジストリの変更(regedit.exe)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OptimalLayout
の DWORD値「EnableAutoLayout」(なければ、新規に作成)の値を「0」に設定する。
(レジスト記述例)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OptimalLayout]
"EnableAutoLayout"=dword:00000000


【設定】システム起動時の自動デフラグの停止
レジストリの変更(regedit.exe)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction
の「Enalbe」を「N」に設定する。
レジストリファイル記述例)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction]
"Enable"="N"

アクセス日時の非更新設定

ファイルや、フォルダへの最終アクセス日時を更新しないように設定する。
【設定】
レジストリの変更(regedit.exe)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
の"NtfsDisableLastAccessUpdate"を"dword:1"(更新を行なわない) に設定
#NtfsDisableLastAccessUpdate=dword:0(初期値:更新を行なう)

# Prefetchを無効にするレジストリ

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters]
"EnablePrefetcher"=dword:00000000

# 8.3文字ファイル名の生成、最終アクセス日時の更新OFFにするレジストリ

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"NtfsDisable8dot3NameCreation"=dword:00000000
"NTFSDisableLastAccessUpdate"=dword:00000001

# システムの復元を無効にする。

システムの復元はコントロールパネルにある"システム"を開いて
"システムの復元"タブから"システムの復元を無効にする"にチェックを入れる。

# SSDディスクの書き込みキャッシュの無効化

[コントロールパネル]→[システム]→[ハードウェア]→[デバイスマネージャー]→[ディスクドライブ]→"SSDのデバイスを選択"→[ポリシー]→[ディスクの書き込みキャッシュを有効にする]のチェックを外す。

デフラグ

HDDの時は、データが断片化するとタイムラグが発生する為、定期的にデフラグを行った方が良かったのですが、ランダムアクセスに強いSSDではする必要はない、とよく言われてますし、そう思ってましたが、id:Lansen*2さんのSSDのデフラグの効果を検証の記事に詳しく書いてありますが、SSDデフラグでは書き込み領域ではなく、空き領域の統合が何より重要で、それにWindows標準のデフラグ機能が適していないだけです。
Defragglerというツールが使えそうなので、パフォーマンスが落ちてきたと思った時に試してみたいと思います。

その他の設定
  • 休止状態の無効化⇒電源オプションから設定
  • "窓の手"等により、"カーネルを常に物理メモリに配置"するよう設定
  • ブラウザのキャッシュをRAMディスク等へ移動する。

**

現在、SSDを使い始めて数か月たちますが、だんだんプチフリが多くなってきました。。。デフラグすればマシになるのかもしれませんが、ちょっと気になるレベルなので、ちょっと無理してキャッシュありのSSDを買った方が良かったのかなと思う今日この頃。。。

*1:文字の関係でAAずれまくっていたのでAA削除

*2:[090806]間違えてgunshotさんをリンクしていたので修正。ご迷惑をおかけしました