Elastic Compute Service (ECS) インスタンスで発生する、サービスエラー、ネットワークの問題、クロックのずれなどの一般的な Windows のライセンス認証の失敗を診断し、修正します。
考えられる原因
Windows ECS インスタンスは、Key Management Service (KMS) サーバーに接続する組み込みスクリプトによって自動的にライセンス認証されます。ライセンス認証は、以下の理由で失敗することがあります:
Software Protection サービスの異常
問題の説明
slmgr -ato コマンドを実行すると、次のエラーメッセージが表示されます。
Run 'slui.exe 0x2a 0x80070002' to display the error text.
エラーメッセージの例:
原因
Software Protection サービスが実行されていないか、無効になっています。
ソリューション
レジストリを変更する前に、システムディスクとデータディスクのスナップショットを作成して、データ損失を防いでください。詳細については、「ディスクのスナップショットの作成」をご参照ください。
-
Windows ECS インスタンスに接続します。詳細については、「Windows インスタンスへの接続」をご参照ください。
-
Server Manager を開き、[ツール] > [サービス] を選択し、[ソフトウェア保護] をダブルクリックします。
-
[開始] をクリックします。
説明Software Protection サービスが開始に失敗するか、見つからない場合は、再構築してください:
-
regeditを実行し、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\sppsvcに移動して右クリックし、[エクスポート] を選択してキーをC:\sppsvc_bak.regにバックアップします。 -
同じ OS バージョンの正常に動作する ECS インスタンスで、
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\sppsvcを sppsvc_good.reg にエクスポートします。 -
sppsvc_good.reg を問題のあるインスタンスにコピーし、ダブルクリックします。プロンプトが表示されたら、[はい] をクリックしてインポートします。その後、サービスを開始し、ライセンス認証を再試行します。
-
ライセンス認証が失敗した場合は、
C:\sppsvc_bak.regをダブルクリックして元のレジストリキーを復元してください。
-
ネットワークの異常
問題の説明
「Windows は正規品ではありません」というメッセージがデスクトップに表示されます。VPC で KMS ドメイン名を使用して Windows インスタンスをライセンス認証する方法の説明に従ってシステムを手動でライセンス認証すると、次のエラーが表示されます。
0xC004F074 The Software Licensing Service reported that the computer could not be activated. The Key Management Service (KMS) could not be contacted.
エラーメッセージの例:
原因
ネットワークの問題により、インスタンスが KMS サーバーに到達できません。一般的な原因としては、システムファイアウォール、IP セキュリティ ポリシー、または接続をブロックしている他のセキュリティソフトウェアなどが考えられます。
KMS ライセンス認証サーバーは、ドメイン kms.cloud.aliyuncs.com、TCP プロトコル、ポート 1688 を使用します。
ソリューション
-
C:\Windows\System32\drivers\etc\hostsファイルに<KMS ライセンス認証サーバーの IP アドレス> kms.cloud.aliyuncs.comという形式のエントリを追加して、KMS ドメイン名が正しく解決されるようにしてください。説明ping kms.cloud.aliyuncs.comを実行して、KMS ライセンス認証サーバーの IP アドレスを取得します。 -
システムファイアウォールが kms.cloud.aliyuncs.com の TCP ポート 1688 へのアクセスをブロックしていないか確認してください。このポートへのアクセスをブロックするインバウンドルールまたはアウトバウンドルールがあれば削除してください。
インバウンドルールとアウトバウンドルールを表示するには、Windows インスタンスのリモート接続のためのファイアウォールの設定 の [ポートルールの追加] セクションをご参照ください。
-
IP セキュリティ ポリシーが kms.cloud.aliyuncs.com から解決された IP アドレスへのアクセスをブロックしていないか確認してください。ブロックしている場合は、そのポリシーを削除してください。
IP セキュリティ ポリシーを表示するには、サーバーからパブリック IP アドレスへの ping 実行時の一般的な障害のトラブルシューティング の [IP セキュリティ ポリシーが設定されているかどうかの確認] セクションをご参照ください。
-
他のセキュリティソフトウェアが kms.cloud.aliyuncs.com の TCP ポート 1688 へのアクセスをブロックしていないか確認してください。
-
route printを実行して内部ルートを確認してください。見つからないルートは手動で追加してください。 -
トラブルシューティング手順が完了したら、
telnet kms.cloud.aliyuncs.com 1688を実行して接続を確認し、ライセンス認証を再試行してください。
時刻同期の失敗
問題の説明
slmgr -ato を実行すると、ライセンス認証の失敗メッセージが返されます。
原因
インスタンスの時刻が KMS サーバーと同期していません。大幅なクロックのずれにより、ライセンス認証が失敗します。
ソリューション
デスクトップの右下にあるシステム時刻を確認してください。時刻が正しくない場合は、手動で調整するか、次のコマンドを実行して時刻を同期してから、ライセンス認証を再試行してください。
net start W32Time
w32tm /resync
ディスク領域不足
問題の説明
ライセンス認証中に「Product not found」というメッセージが表示されます。
原因
システムディスクがいっぱいであるため、ライセンス認証のための十分な領域がありません。
ソリューション
C ドライブの領域を解放してから、ライセンス認証を再試行してください。
不正なアクティベーションコード
問題の説明
エラーコード 0xC004C003 は、ライセンス認証サーバーが指定されたプロダクトキーをブロックしたことを示します。エラーコード C004F015 は、ソフトウェアライセンスサービスがライセンス未インストールを報告したことを示します。
原因
通常、ライセンス認証中に手動で変更されたために、アクティベーションコードが OS のバージョンと一致しなくなります。
ソリューション
-
お使いの OS バージョンに対応する正しいアクティベーションコードを Microsoft の公式ドキュメントで探してください。
-
slmgr /ipk <$Setup_Key>を実行してアクティベーションコードを置き換え、次にslmgr -atoを実行してシステムをライセンス認証してください。説明<$Setup_Key> はシステムのアクティベーションコードです。
破損したライセンスファイル
問題の説明
原因
C:\windows\system32\spp\store\2.0\tokens.dat ファイルまたは他のライセンスファイルが破損しています。
ソリューション
ライセンスファイルを再ビルドし、システムを再ライセンス認証するには、次の手順に従います。
管理者として PowerShell を起動し、次のコマンドを実行して sppsvc サービスを停止します: Stop-Service SppSvc
C:\Windows\System32\spp\store\2.0\tokens.dat ファイルの名前を変更します。
管理者としてコマンドプロンプトを起動し、次のコマンドを実行してライセンスファイルを再ビルドします: slmgr /rilc
同じコマンドプロンプトウィンドウで、次のコマンドを実行してシステムをライセンス認証します: slmgr /ato
インスタンスを再起動します。システムは正常にライセンス認証されます。