SSDが普及したこともあり、Windows 10では、あまりデフラグを意識する必要がなくなっている。しかしSSDや仮想ハードディスクでは、デフラグで気を付けなければならないことがある。その点をまとめる。
対象:Windows 10
ハードディスクの場合、使い続けると、ファイル(を構成するディスクのセクタ)が不連続な領域に分散してしまい、その結果、ファイルを読み書きする際に、ヘッドの移動量が多くなり、アクセス速度の低下の一因になる。これを解消する目的で、ファイルを連続した領域に並べ直すのが「デフラグ」である(フラグメンテーション=断片化された状態を解消させる、という意味)。
最近では多くのPCが、ストレージとしてハードディスクではなく、SSD(フラッシュメモリ)を搭載するようになったためか、あまり「デフラグ」を意識する必要がなくなってきているようだ。特にWindows 10に標準搭載されているデフラグツールは、デフォルトで「毎週」デフラグが実行されるようにスケジューリングされており、ユーザーがデフラグの実行を意識しなくてもよいようになっている。
このようにユーザーが意識することなくデフラグが実行されるため、便利になったといえる半面、SSDや仮想ハードディスクを利用している場合には少々注意が必要だ。そこで本TIPSでは、Windows 10でデフラグを実行する際の注意点をまとめる。
Windows 10でデフラグツールを起動し、手動でデフラグを実行してみよう。
デフラグツールを起動する最も手っ取り早い方法は、Cortanaの検索ボックスに「デフラグ」と入力し、「最も一致する結果」に表示される「ドライブのデフラグと最適化」を選択することだ。
また[スタート]メニュー−[Windows管理ツール]−[ドライブのデフラグと最適化]を選択してもよい。エクスプローラが開いている状態なら、左ペインで[PC]を選択し、右ペインの「デバイスとドライブ」でローカルディスク(ドライブ)を右クリックし、メニューで[プロパティ]を選択、[ローカルドライブのプロパティ]ダイアログが開くので、[ツール]タブを選択し、[最適化]ボタンをクリックするという方法もある。
いずれも、Windows 10のデフラグツールである[ドライブの最適化]ダイアログが開く。
「状態」には、接続されているドライブが一覧表示される。「メディアの種類」を見ると、そのドライブがハードディスクなのか、SSD(ソリッドステートドライブ)なのか判別できる。
ハードディスクをデフラグしたい場合は、目的のドライブを選択した上で、[最適化]ボタンをクリックすればよい。
また定期的にデフラグを実行したい場合は、「スケジュールされた最適化」の[有効にする]ボタンをクリックし、開いたダイアログで「スケジュールに従って実行する」にチェックを入れ、「頻度」を「毎日」「毎週」「毎月」から選択する(デフォルトは、「毎週」)。また、対象となるドライブは、「ドライブ」の[選択]ボタンをクリックして選択する。
SSDでは、物理的なヘッドの移動などがないため、デフラグを実行しても性能向上の幅が狭い。その上、書き換え回数に制限があるため、一般にデフラグを実行すると製品寿命が短くなるといわれている。そこで、Windows 7ではSSDであると検出された場合、デフラグがスケジュールされないようになっていた。
Windows 10では、SSDの場合デフラグの代わりに「Trim(トリム)」コマンドが実行されるようになった(Trimコマンドに対応していないSSDの場合、最適化がスケジュールされない)。
SSDは、仕組み上、データの上書きが行えず、古いデータを消去してから、新しいデータを書き込むという手順が必要だ。さらに、複数の「ページ」をまとめた「ブロック」と呼ぶ、大きな単位で消去、書き込みを行う必要があるため、データを書き換える際には、一度、ブロック単位でデータをコピーして、その領域を消去、書き換えを行ったブロックを書き戻す、という手順となる。実際には、同じ所への繰り返し書き込みを防ぐ「ウェアレベリング」という操作も行われるため、さらに複雑な処理が行われている。
Trimコマンドによって、消去してもよい論理アドレスをSSDに通知することで、事前に消去しておき、すぐに書き込める状態にしておくことができる。SSD製品にもよるようだが、Trimコマンドを実行せずにSSDを使い続けると、30%以上も性能低下がみられるものもあるようだ。SSDにおけるデフラグや、Trimの仕組みなどについては、Windows 8レボリューション「SSDでWindows 8システムを高速化する」を参照していただきたい(Windows 8向けの記事だが、Windows 10でも同じである)。
仮想化ソフトウェアでは、コンピュータの中にさらに仮想的なハードウェアシステム(仮想マシン環境)を構築して、そこでOSやアプリケーションを動作させるようになっている。仮想マシン環境のストレージは、仮想化ソフトウェアが実行されているPCのストレージに、ファイルとして保存される。これを「仮想ハードディスク」と呼ぶ。
多くの仮想化ソフトウェアでは、仮想マシンに割り当てた仮想ハードディスクの容量をファイルとして確保するのではなく、「必要な部分だけ」をファイルに記録するようにしているからだ。これを可変容量の仮想ハードディスクと呼ぶ(最初から割り当てる固定長も選択可能だが、ストレージの利用効率を考え、可変容量を選択するケースの方が多い)。
「必要な部分」というのは、全ディスク領域のうち一度でも書き込んだことがある部分ということだ。これにより、使っていない部分をファイルとして確保する必要はなくなる。例えば、仮想ハードディスクとして60GBを割り当てたとしても、使っている部分が20GBならば、実際に必要な仮想ハードディスクファイルは20GBで済むことになる。
このような原理により、使っただけファイルは大きくなり、最終的には仮想化ソフトウェアで仮想ハードディスクとして割り当てた容量までファイルサイズが大きくなる。仮想化ソフトウェアからは、どこが未使用になったのか分からないため、仮想マシン内でファイルを削除するなどしても、仮想ハードディスクのファイルサイズが小さくなることはない。
実は、ここで問題が発生する。デフラグはファイルの位置を空き領域に移動し、再配置することで、並び順を整理する仕組みとなっている。そのため、仮想マシン上で実行すると、仮想ハードディスク上の「未使用領域」に書き込みを行ってしまうことになる。未使用だった領域に書き込みが行われるため、結果的に、仮想ハードディスクのファイルサイズが拡大することになるわけだ。詳細は、TIPS「仮想ハードディスクのデフラグに注意」を読んでいただきたい。
仮想化ソフトウェア上で実行されるWindows 10は、仮想ハードディスクを「ハードディスク」として認識する。そのため、デフォルトで「最適化」のスケジュールが有効になり、毎週、デフラグが実行されてしまう。
そこで、仮想マシン上にWindows 10をインストールした際は、上述の手順で[ドライブの最適化]ダイアログを開き、「スケジュールされた最適化」の[有効にする]ボタンをクリックし、開いたダイアログで「スケジュールに従って実行する」のチェックを外すとよい。
Copyright© Digital Advantage Corp. All Rights Reserved.