先日 秋葉原に行って買ってきた Crucial の MX100 シリーズ 512GB SSD を、OS が Vista のデスクトップ PC の 500GB HDD と置き換えましたので、その顛末を書いておきます。
デスクトップ PC は HP の記事 に書きましたように 2007 年 12 月に作った古いものです。その後、マザーボード、グラフィックスカード、電源などを交換しましたが、基本的な性能は変わっていません。
そのような古い PC に最新の SSD を使っても性能を生かしきれないんですよね。特にマザーボード(Intel P45 + ICH10R チップセット搭載)に SATA3 (6 Gbit/s) ポートがなく、SATA2 (3 Gbit/s) ポートしかないことが性能上のボトルネックになります。
例えば、今回購入した SSD のシーケンシャルリードは 550MB/s、シーケンシャルライトは 500MB/s とのことですが、これは SATA3 ポートに接続した時のものです。SATA2 ポートではスピードが半分ぐらいに落ちてしまうそうです。
SSD の性能とバランスを取ろうとすると、マザーボード交換だけでは済まず、CPU、メモリ、OS 等も新しいものにしないとダメなんです。でも、それは経済的に許されません。なので、いろいろ悩んだ結果、SSD だけ交換することにしました。(笑) C ドライブの 500GB HDD は 7 年近く使ってきて、いつ壊れても不思議はないということもありますし・・・
さて、予備知識もなくいきなり始めるとトラブルことは間違いなさそうなので、必要な部品やツール類などを一通り調べてみました。
まず部品ですが、デスクトップ PC の 3.5 インチベイに取り付けるのに変換マウンタとネジが必要です。これは以前買った Intel SSD の付属品が流用できました。上の画像の左下に写っているのがそれです。
次がソフトです。既存の HDD のクローンを SSD に作るためのソフトと、デフラグの停止、Trim コマンドの実行、SuperFetch / Prefetch の無効化、ReadyBoost の無効化などを行うツールが必要です。
クローン作成ツールは、付属していたガイド(上の画像の右下の紙)に書いてあった手順で、Acronis True Image HD 2014 というツールをダウンロードして使えるようにできました。下のツールの画像で、[ツールとユーティリティ]タブの中の[ディスククローンの作成]というメニューを使用します。マル数字の 1 と 2 がそれです。(マル数字 3 のメニューは、下に書きましたが、Trim コマンドを実行するのに使います)
その次は、デフラグの停止、Trim コマンドの実行、SuperFetch/Prefetch の無効化、ReadyBoost の無効化のためのツールをどのように入手するかです。
Intel 製の SSD の場合「インテル SSD ツールボックス」を利用して全て設定できました(詳しくは先の記事 Intel 330 Series SSD を参照)。しかし、残念ながら、Cricial からはそのようなツールは提供されていません。
Trim コマンドの実行以外はツールがなくても手動で設定できますので問題ありません。しかし、デスクトップ PC の OS は Vista ですので Trim をどのように行うかが問題です。(Windows 7 以降ですと、Trim コマンドの自動実行による最適化機能が OS 自体に備わっているそうです)
これは困った・・・と思っていろいろ調べてみたところ、SSD の性能低下と Trim の効き具合を大検証! という記事を見つけました。
この記事によると、Trim の効き具合はコントローラーによって大きく異なり、例えば、Intel 製は性能低下が大きい反面 Trim による改善効果も大きい、Marvell 製(今回購入した Crucial SSD に使われている)は Trim なしでも性能低下はほとんどないそうです。
というわけで、その記事を信用して Trim のことは忘れることにしました。(笑)
ところが、後になって、Acronis True Image HD 2014 の[ツールとユーティリティ]タブの中に[SSD のトリミング]というメニューがあるのを見つけました。上のツールの画像のマル数字 3 がそれです。SSD が標準の Trim コマンドに対応したファームウェアを持っていればこれが使えるそうです。ただし、Intel のツールと違って PC の再起動が必要になるのがちょっと面倒ですが。
以上の通りいろいろ予備知識を得たので、いよいよ HDD ⇒ SSD 交換作業を始めました。詳しい手順は以下の通りです。
(1) SSD を PC に接続
最初の作業は、既存 HDD のクローンを SSD に作成することです。そのためには SSD を デスクトップ PC に接続し、OS が SSD を認識できるようにしなければなりません。
PC をシャットダウンして電源を落とし、以下の画像のように電源ケーブルと SATA ケーブルを SSD に接続し、PC の電源を入れて起動してやります。
ブートの途中で BIOS から SSD が認識されていることを確認し Windows を起動します。起動時に SSD 用のデバイスドライバが自動的にダウンロードされてインストールされます。それでデバイスマネージャーから認識されるようになります。
しかし、エクスプローラからは認識されません。はやり初期化が必要なようです。(汗)
でも、初期化は Acronis True Image HD 2014 を利用してクローンを作る時に同時にできますので、ここで行う必要はないです。デバイスマネージャーから認識されていることだけ確認できれば OK です。
(2) データの移行
データの移行は、Acronis のサイトからダウンロードして PC にインストールした Acronis True Image HD 2014 というツールを使って行います。
Acronis True Image HD 2014 を起動し、[ツールとユーティリティ]タブの中の[ディスククローンの作成]というメニューをクリックすると(上から 2 番目のツールの画像で、マル数字の 1 と 2 がそれです)、[ディスクのクローン作成ウィザード]が立ち上がります。
表示される手順に従って、クローンモードの選択(自動でよいと思います)⇒ ソースディスクの選択 ⇒ ターゲットディスクの選択と進めていけば、SSD の初期化を含めて、問題なくクローン SSD が作成できるはずです。
クローンモードの選択
ソースディスクの選択
ターゲットディスクの選択
注意するところがあるとすれば、このウィザードだけではクローンは作れないことです。再起動を促すダイアログが出るので、それに従って再起動すると、BIOS レベル(?)で Acronis Loader というのが割り込んでセーフモードで Windows が立ち上がり、そこでクローン作成ツールによってクローンが作成されます。
クローン作成完了後 PC はシャットダウンされます。
(3) 既存の HDD を SSD に交換
クローン SDD が作成できたら、それをデスクトップ PC の 3.5 インチベイに実装し、電源ケーブルと SATA ケーブルを SSD に接続してやります。
交換後、最初の起動で SSD 用のデバイスドライバが自動的にインストールされ、その後、再起動が必要になります。
再起動すると、デスクトップ PC は SSD から立ち上がり、以前 HDD を使っていたときと同様に使用可能になるはずです。
(4) デフラグの停止
手動でデフラグを無効化するには、Vista では[スタート]⇒[アクセサリ]⇒[システム ツール]⇒[ディスク デフラグ ツール]で表示されるダイアログで、[スケジュールどおりに実行する]のチェックを外します。
特定のドライブのみ停止したい場合は[ボリュームの選択(S)...]ボタンをクリックすると表示される[デフラグツール:詳細オプション]ダイアログで停止するドライブのチェックを外します。
なお、Windows 7 以降の OS では、SSD を検出したらそのデバイスに対しデフォルトで自動デフラグを無効にするので、この操作は不要とのことです。
(5) SuperFetch/Prefetch の無効化
SuperFetch/Prefetch はディスクキャッシュ+メインメモリ管理機能で、未使用のメインメモリを利用してディスクキャッシュを行ってパフォーマンスの向上に役立てています。
ディスクの内容をメインメモリにキャッシュするだけなら無効化する必要はなさそうですが、デフラグツールと連動してハードディスクのアクセスの速い場所に fetch したプログラムを配置するという機能があるそうで、それが SSD にとっては問題のようです。
反面、これを無効にするとアプリケーションの立ち上がりが遅くなるので(当然、メインメモリに適切にキャッシュされれば早くなるはず)、SSD を使用しても無効にすべきではないという説も巷にはあるようです。
ちなみに、インテル SSD ツールボックスの[System Tuner]を使うと機能が無効化されます。
手動で機能を無効にするにはレジストリを編集します。
手順は以下の通りです。
-
レジストリエディターを起動。
-
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters を開く(上の画像を参照)。
-
EnablePrefetcher と EnableSuperfetch の項目の値を 0 に変更する。デフォルトで 3 のはずです。ちなみに値の意味は以下の通りだそうです。
0:キャッシュを無効にする。
1:キャッシュがユーザの実行したアプリケーションにのみ適用。
2:キャッシュが起動ファイル(システム・ファイル、サービス等)にのみ適用。
3:全てをキャッシュする。
-
レジストリエディターを終了する。
レジストリの編集が終わったら、Superfetch サービスは不必要になるので以下の手順で停止させます。
[設定(S)」⇒[コントロールパネル(C)]⇒[管理ツール]⇒[サービス]と進んでサービス一覧を表示します。
サービスの一覧の中から Superfetch を探してそれを右クリック ⇒ 出てくるコンテキストメニューの[プロパティ(R)]をクリック ⇒ [Superfetch のプロパティ]ダイアログの[スタートアップの種類(E):]を[無効]に設定 ⇒[OK]ボタンをクリックします。
以上の設定が終わったら PC を再起動します。可能ならば、下の ReadyBoost の無効化の後で一緒にやった方が一度にできていいかもしれません。
(6) ReadyBoost の無効化
USB メモリなどの外部メモリをディスクキャッシュとして利用することでパフォーマンスを向上させる機能です。キャッシングの効率化に関して、SuperFetchサービスの助けを借ります。
また、Superfetch はプロセスのページプール(コード、データなど)のキャッシングを制御するのに対して、ReadyBoost は HDD ストレージへの読み書き全般をキャッシングすると言う点も異なるそうです。
これも SSD に対してデフラグと同様な悪影響があるらしいです。メインメモリをキャッシュに使う SuperFetch/Prefetch に対して外部メモリをキャッシュに使っても、ディスクに SSD を使う場合はメリットがないと思われるので、これは無効にしても性能上は何も問題はなさそうです。
ちなみに、インテル SSD ツールボックスの[System Tuner]を使うとこのサービスは停止されます。
手動で停止するには、[設定(S)」⇒[コントロールパネル(C)]⇒[管理ツール]⇒[サービス]と進んでサービス一覧を表示します。
サービスの一覧の中から ReadyBoost 探してそれを右クリック ⇒ 出てくるコンテキストメニューの[プロパティ(R)]をクリック ⇒ [ReadyBoost のプロパティ]ダイアログの[スタートアップの種類(E):]を[無効]に設定 ⇒[OK]ボタンをクリックします。
PC を再起動すると無効になります。無効になっているか確認するには、USB メモリを挿入して、エクスプローラから当該ドライブのプロパティを開いた時、ReadyBoost の設定タブが無くなっていることで分かります。
(7) 結果
交換した結果ですが、アプリの起動はかなり速くなった感じがします。計ったわけではありませんが間違いなく早くなっていると思います。
SATA3 インターフェースに対応する最新のチップセットが乗ったマザーボード、最新の CPU、メモリと組み合わせれば、恐ろしいほど早くなったと感じるかもしれません。
ますます最新パーツで新しい PC を組みたくなってきました。経済的な問題を何とかしなければ・・・(笑)