画像提供:マイナビニュース

写真拡大

○自動メンテナンスはタスクやスケジュールを使わない?

ある程度のPC歴を持つユーザーなら、HDDのフラグメント(断片化)を解消するデフラグツールはおなじみだろう。MicrosoftがデフラグツールをOSに標準搭載したのは、MS-DOS バージョン6の時代から。当時、DOS環境の必須ツールだった「Norton Utilities」を発売するSymantecから技術提供を受けていた。

その後、MS-DOSはWindowsに形を変え、現在のWindows 10に至るが、Windows 7あたりからメインストレージもHDDからSSDへ移り変わっていった。詳細は省くが、SSDはその性質上、HDDのようなデフラグ操作ではなく、Trimコマンドによってパフォーマンスダウンを防いでいる。

Windows 10は「自動メンテナンス」という形で、定期的に実行する仕組みを備えた。TrimコマンドをSSDに対して発行し、HDDに対しては従来のデフラグを実行する。

デフラグはコマンドラインから実行する「defrag.exe」も継続して用意しているが、以前はともかく現在はGUI版の「dfrgui.exe」から呼び出す存在ではない。dfrgui.exeはdefragsvc.dll上のAPIを利用し、管理者権限で自身を再起動してから、直接ストレージのデフラグやTrimコマンドの発行を行っている。

興味深いのが、dfrgui.exeが生成するタスクだ。「\Microsoft\Windows\Defrag\ScheduledDefrag」に、「%windir%\system32\defrag.exe -c -h -o -$」を追加している。これらのオプションが意味するのは、「すべてのボリュームを対象に(c)、通常の優先度で(h)、メディアタイプに適した最適化(o)、を実行する」というもの。「$」の意味は分からないが、管理者権限を持つコマンドプロンプトから同じコマンドを実行すると、説明どおりの最適化が始まる。

疑問なのは自動メンテナンスで実行するデフラグはGUI版なのか、CUI版なのかという点だ。残念ながら24時間運用しているWindows 10 PCが手元にないため、同等の条件で稼働させたWindows Server 2016のタスクを確認すると、約1カ月前に実行した形跡がある。GUI版デフラグのスケジュール設定は既定の「毎週」であってもだ。ちなみに手動で自動メンテナンスを実行しても、タスクの実行時刻やGUI版デフラグの実行日は更新されなかった。

これらのことを総合的に考えると、自動メンテナンスは独自のロジックでストレージの最適化を行っているようだ。そのため、GUI版デフラグのスケジュールやタスクを意識する必要はない。もし、自動メンテナンスを無効にしている場合は、手動で「ドライブの最適化」を実行するようにしよう。

阿久津良和(Cactus)