[ホーム] -
[Windows 11 サービス一覧] - [Optimize drives]
【目次】
サービス名 | defragsvc |
表示名 | Optimize drives |
dll / exe 名 | C:\WINDOWS\system32\svchost.exe -k defragsvc |
説明 (マイクロソフト情報より引用) | 記憶域ドライブのファイルを最適化すると、コンピューターがより効率的に動作します。 |
セキュアPC上の起動必要性 | ○ |
◎起動を強く推奨、○起動を推奨、△環境による、×停止を推奨、××停止を強く推奨
CPUの使用率が低い場合に自動的にデフラグを開始するサービス。
Windows 7 では「Disk Defragmenter」という名前であった。
またディスクのデフラグを手動で実行する場合でも、自動的に起動する。
Windows10でのデフラグの実行方法は以下のとおり。
(1)エクスプローラからデフラグしたいドライブを選択。(例えばCドライブなど)
(2)右クリックし[プロパティ]を選択
(3)[ツール]を選択。
(4)[最適化]をクリック。
以上でデフラグが実行される。同時に「Optimize drives」サービスが自動的に起動する。
このサービスを無効化してしまうと、エクスプローラから「最適化」を実行してもデフラグツールが起動しなくなる。
SSDの特殊なケースでデフラグが不要な場合を除外してデフォルトの手動にする。
(1)スタートメニューから[管理ツール] - [サービス]を選択します。
(2)以下の画面が表示されるため、"Optimize drives"をダブルクリックします。
(3)「スタートアップの種類」から起動のタイプを設定します。設定が完了したら[OK]をクリックします。
各起動設定の内容は以下の通りです。
自動(延滞開始)・・・・・他の自動起動サービスが全て起動されてから起動されます。
自動・・・・・Windows 起動時に自動で起動されます。
手動・・・・・自動では起動されませんが、手動あるいは他のサービスなどから起動することが可能です。
無効・・・・・自動起動されません。手動でも起動できません。
自動(トリガー)・・・・・Windows 起動時に自動起動されますが、役目が終了したら自動的に停止します。
手動(トリガー)・・・・・他のサービスなどから起動されますが、役目が終了したら自動的に停止します。
(1)管理者でコマンドプロンプトを開きます。
(2)以下のコマンドを実行します。
自動起動設定
C:\>sc config defragsvc Start= auto
C:\>sc config defragsvc Start= demand
C:\>sc config defragsvc Start= disabled
C:\>sc config defragsvc Start= delayed-auto
C:\>sc stop ServiceName
[SC] OpenService FAILED 5:
アクセスが拒否されました。
C:\>sc start defragsvc
C:\>net start defragsvc
C:\>sc stop defragsvc
C:\>net stop defragsvc
c:\>sc queryex defragsvc SERVICE_NAME: defragsvc TYPE : 10 WIN32_OWN_PROCESS STATE : 1 STOPPED WIN32_EXIT_CODE : 1077 (0x435) SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x0 WAIT_HINT : 0x0 PID : 0 FLAGS :
c:\>sc qc defragsvc [SC] QueryServiceConfig SUCCESS SERVICE_NAME: defragsvc TYPE : 10 WIN32_OWN_PROCESS START_TYPE : 3 DEMAND_START ERROR_CONTROL : 1 NORMAL BINARY_PATH_NAME : C:\WINDOWS\system32\svchost.exe -k defragsvc LOAD_ORDER_GROUP : TAG : 0 DISPLAY_NAME : Optimize drives DEPENDENCIES : RPCSS SERVICE_START_NAME : localSystem
c:\>net start | findstr -i /c:"Optimize drives" c:\>rem 0で実行中、その他は1、findstr失敗は2 c:\>rem if %ERRORLEVEL% == 0 echo 起動中 c:\>rem if %ERRORLEVEL% == 1 echo 停止中 c:\>rem if %ERRORLEVEL% == 2 echo 不明 停止中
sc コマンドを利用してサービスが起動中か確認することが可能です。findstr の 戻り値 (ERRORLEVEL)で結果の判定が可能です。
サービス起動中なら"Status"が"Running" であるためfindstr で検索します。
c:\>sc query defragsvc | findstr -i State | findstr -i Running c:\>rem 0で実行中、その他は1、findstr失敗は2 c:\>rem if %ERRORLEVEL% == 0 echo 起動中 c:\>rem if %ERRORLEVEL% == 1 echo 停止中 c:\>rem if %ERRORLEVEL% == 2 echo 不明 停止中
c:\>reg query HKLM\System\CurrentControlSet\services\defragsvc | findstr -i "group ObjectName DependOnService ErrorControl RequiredPrivileges ServiceSidType" DependOnService REG_MULTI_SZ RPCSS ErrorControl REG_DWORD 0x1 ObjectName REG_SZ localSystem RequiredPrivileges REG_MULTI_SZ SeChangeNotifyPrivilege\0SeImpersonatePrivilege\0SeIncreaseWorkingSetPrivilege\0SeTcbPrivilege\0SeSystemProfilePrivilege\0SeAuditPrivilege\0SeCreateGlobalPrivilege\0SeBackupPrivilege\0SeManageVolumePrivilege ServiceSidType REG_DWORD 0x1
[ホーム] -
[Windows 11 サービス一覧]