最近、Windows Server 2008 R2サーバーで厄介な時間同期の問題が発生しました。
私はこれを非常に単純なものにさかのぼって追跡しました:Windowsタイムサービスが開始されていません!タイムサービスが実行されていない場合、NTP ...
Windowsタイムサービスは、サービスコントロールパネルで「自動的に」開始するように設定でした。また、イベントログを確認したところ、サービスの障害などは見られませんでした。実際、毎週のWindows Updateがインストールされてサーバーが再起動された後、Windowsタイムサービスが自動的に開始されなかったように、それはかなりのように見えました。 (これは毎週土曜日の午後7時に発生するように設定されています。)
タイムサービスを開始した分、時刻は正常に同期しました。
それでは、質問:サービスが「自動的に」開始するように設定されているのはなぜですか?自動的に開始されないのですか?私にはそれはちょっとおかしいようです。
PCがドメインにない場合、W32timeは自動的に起動しません。くそーマイクロソフト!
これを実行してみてください:sc triggerinfo w32time start/networkon stop/networkoff
this thread からの1つの可能な説明:
私が理解したように、基本的には、ユーザー、タスク、またはハードウェアやネットワークの一部がイベントを開始してオンにするまで、サービスはオンになりません。時間を更新しようとすると、サービスを呼び出し、イベント「Start xyz service」をトリガーします。終了時にサービスをオフにすることもできます。これは非常に単純化されています。多くのサービスは、何かが使用するのを待って常に実行するのではなく、必要なときにのみ実行されるため、7つが速い理由の1つです。実際には、必要なサービスや不要なサービスを決定する必要はありません。サービスは自分で処理できます。
彼はWindows 7の新しいカーネルについて話しています。
Windows Server 2008 R2とWindows 7は同じカーネルを共有しているので、解像度は同じですか?
これを修正するには、サービスを自動/遅延開始に設定することをお勧めします。
自動に設定されたサービスが開始されないことはまったく正気ではないことを私はまだ維持しています...そして、自動開始の遅延と自動開始の意味上の違いを完全には理解していませんが、それが機能する場合、私は推測します文句を言わない。
残念ながら、Windows時間では 手動でログをオンにする を使用します。
「サービスが自動的に開始されない原因は何ですか」に対する適切な回答はありません。唯一の本当の理由は、依存関係が正しく開始されなかったか、開始時にサービスになんらかのクラッシュが発生したことです。そして、ログがなければ、まああなたの推測は私たちのものと同じです。
次の2、3のパッチサイクルでは、Windowsタイムロギングをオンにすることをお勧めします。サービスが立ち上がった場合、あなたはすべて良好です。それがうまくいかない場合は、そこから作業するものはありません。
ちょうどメモとして、パッチの後で理由のない理由でサービスが開始しないことを2回以上確認しましたが、最初の再起動後には正常に機能します。
実際には、このログからいくつかの情報を取得します。
ログがまったくない場合は、起動しようとしていません。そして、そこから調査を始めることができます。情報の小さなスクラップはすべて、この種の問題に役立ちます。
これは上記のリンクでオンにしているデバッグログなので、起動しようとするとsomethingが表示されます。少なくとも、正常に開始できない理由をよりよく理解できます。
Sysadminであることの大きな苦痛の1つを発見しました。どこから探し始めるかを通知するためにログが必要ですが、サービスがログを生成できる状態になりません。古典的な鶏と卵の問題。
おかげで、Windows Server 2016で開始されなかったいくつかのサービスを遅延に設定しましたが、機能しましたが、ウイルス対策サービスは変更から保護されているため、それを実行できませんでした。
ただし、2008 R2の場合でも機能するこの回避策を見つけました: https://support.Microsoft.com/en-us/help/922918/a-service-does-not- start-and-events-7000-and-7011-are-logged-in-windows-server-2003-windows-server-2008-and-windows-server-2008-r2
おそらく、サービスを遅延開始に設定せずに開始します。それはアンチウイルスのために働きました、それは確かです。
回避策の最も有用な部分をここに貼り付けます。
この問題を回避するには、レジストリを変更して、サービスコントロールマネージャのデフォルトのタイムアウト値を増やします。この値を60秒に増やすには、次の手順に従います。
Click Start, click Run, type regedit, and then click OK.
Locate and then click the following registry subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
In the right pane, locate the ServicesPipeTimeout entry.
Note: If the ServicesPipeTimeout entry does not exist, you must create it. To do this, follow these steps:
On the Edit menu, point to New, and then click DWORD Value.
Type ServicesPipeTimeout, and then press ENTER.
Right-click ServicesPipeTimeout, and then click Modify.
Click Decimal, type 60000, and then click OK.
This value represents the time in milliseconds before a service times out.
Restart the computer.