SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Windows 8 Pro と SkipRearm について

leave a comment

Windows Vista からライセンス認証クロックの考えが導入され、このブログでも Windows 7 の再初期化数について として紹介したことがありました。

Windows 8 の SkipRearm については 展開用のイメージをキャプチャする方法 (Generalize) に以下のような記載があります。

Windows 8 では、SkipRearm 設定を使って Windows のライセンス状態が指定されます。プロダクト キーを指定すると、Windows が自動的にライセンス認証され、Sysprep コマンドを回数に制限なく実行できます。応答ファイルに追加できる Windows コンポーネントと設定について詳しくは、Windows の無人セットアップのリファレンスに関するページをご覧ください。

Windows 8 になって SkipRearm がどのようになったのか検証していなかったので少しまとめてみたいと思います。

なお、今回は Windows 8 Pro + MAK (Retail) を使用しています。
KMS を使用する場合は、CMID の重複を避けるために Windows Vista または Windows 7 ベースの新しいクライアント コンピューターをネットワークに追加しても、KMS の現在の数が増加しない に書かれているように SkipRearm を行わないで CMID をユニークにする必要があります。これは KMS を使用した場合の Office を使用する場合も同様になるかと思いますので、クライアント展開時の認証方法を考慮したうえで使用有無を判断する必要が出て来るかと思います。


■SkipRearm の設定方法


Windows 8 のライセンス認証のリセット可能数の上限ですが Windows 7 までは 3 回だったものが、1,000 回に変更されています。
image

実運用において一つのイメージで 1,000 回一般化した Sysprep を行う機会はあまりないと思いますので、実質上限は気にしなくてもよくなっているかと思います。

一般化した Sysprep をすることでこのリセット可能回数が減り、このリセット可能回数を変更しない (ライセンスの状態を変更しない) ための設定として Sysprep で SkipRearm の設定をしていました。

SkipRearm の設定方法ですが 2 種類あるかと思います。

定番なのは応答ファイルで以下の指定するものでしょうか。

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="generalize">
        <component name="Microsoft-Windows-Security-SPP" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="
http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <SkipRearm>1</SkipRearm>
        </component>
    </settings>
    <cpi:offlineImage cpi:source="wim:c:/temp/install.wim#Windows 8 Pro" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>

この応答ファイルを Sysprep 時に使用すれば SkipRearm の設定が適用されます。

もう一つがレジストリを使用する場合です。
レジストリでも SkipRearm を設定することができ、設定は [HKLMSOFTWAREMicrosoftWindows NTCurrentVersionSoftwareProtectionPlatform] から設定することができます。
# ボリューム アクティベーション テクニカル リファレンス ガイド で記載されています。
image

このどちらかを使用して SkipRearm を設定することができます。

 

■SkipRearm の設定よる影響


まずは SkipRearm を使用しないで一般化した Sysprep を行った場合の影響を見てみたいと思います。
応答ファイルにはインストール時に使用したプロダクトキーを設定しています。

通知の理由の内容については Windows 7、Windows Server 2008、および Windows Vista ベースのコンピューターでボリューム ライセンス認証エラー コードが表示された場合のトラブルシューティング方法 が参考になるかと。
# ACTIVATION ERROR CODES FOR WINDOWS 8 も参考になりそうですね。

なお、Sysprep 実行前の状態 (slmgr -dlv の結果) は以下の画像の状態になります。
image

SkipRearm をしない状態で一般化した Sysprep をした場合は、以下のようにライセンス認証の状態がリセットされ、リセット可能回数が減ります。
この状態になった場合には再度ライセンス認証が必要となります。

image

SkipRearm を設定した場合は以下のようになります。
ライセンス認証はリセットされない状態となります。
image

それでは次に応答ファイルでプロダクトキーを設定しない状態で Sysprep を実行してみます。
Windows 8 の Sysprep 後の状態ですが、Sysprep 前にプロダクトキーを設定していても Sysprep を実行するとプロダクトキーの入力が求められます。
応答ファイルでプロダクトキーを設定した場合には入力は求められないですが、プロダクトキーが設定していない状態だと入力画面が表示されます。
# Windows 8 Pro がプリインストールされている端末だとファームに設定されているプロダクトキーが設定されると思いますが。
image

まずは SkipRearm とプロダクトキーを設定しないで、起動後のプロダクトキーの入力をスキップした状態にしてみます。
この場合は SkipRearm を設定しなかった場合と同一の状態となり、ライセンス認証はリセットされた状態となります。
プロダクトキーとしては Sysprep 前のものが設定された状態となるようですね。
image

次に SkipRearm を設定し、プロダクトキーを設定していない状態で実行してみます。
この場合はライセンス認証の状態はリセットされませんでした。
image

最後に Sysprep 前とは異なるプロダクトキーを使った場合を試してみます。
まずは SkipRearm を設定していない状態です。
この場合は認証状態がリセットされますね。
image

最後に SkipRearm を実行してプロダクトキーも変更します。
この場合は再度認証が必要となりますね。
image

今回検証した結果が以下の表となります。
以下の表は同一の環境上で使用したものなので異なる環境に展開した場合には結果が異なってきます。

SkipRearm プロダクトキー ライセンス認証の状態 通知の理由
設定なし Sysprep 前のプロダクトキー リセットされる 0xC004F009
ソフトウェア ライセンス サービスで、猶予期間が切れたことが報告されました。
設定あり Sysprep 前のプロダクトキー リセットされない
設定なし プロダクトキーをスキップ リセットされる 0xC004F009
ソフトウェア ライセンス サービスで、猶予期間が切れたことが報告されました。
設定あり プロダクトキーをスキップ リセットされない
設定なし Sysprep 前とは違うプロダクトキー リセットされる 0xC004F009
ソフトウェア ライセンス サービスで、猶予期間が切れたことが報告されました。
設定あり Sysprep 前とは違うプロダクトキー リセットされる 0xC004F005

異なるハードウェアで展開した場合には以下の表のようになりました。

SkipRearm プロダクトキー ライセンス認証の状態 通知の理由
設定なし Sysprep 前のプロダクトキー リセットされる 0xC004F009
ソフトウェア ライセンス サービスで、猶予期間が切れたことが報告されました。
設定あり Sysprep 前のプロダクトキー リセットされる 0xC004F00F
ソフトウェア ライセンス サーバーで、ハードウェア ID バインドが許容範囲のレベルを超えていることが報告されました
設定なし プロダクトキーをスキップ リセットされる 0xC004F009
ソフトウェア ライセンス サービスで、猶予期間が切れたことが報告されました。
設定あり プロダクトキーをスキップ リセットされる 0xC004F00F
ソフトウェア ライセンス サーバーで、ハードウェア ID バインドが許容範囲のレベルを超えていることが報告されました
設定なし Sysprep 前とは違うプロダクトキー リセットされる 0xC004F009
ソフトウェア ライセンス サービスで、猶予期間が切れたことが報告されました。
設定あり Sysprep 前とは違うプロダクトキー リセットされる 0xC004F00F
ソフトウェア ライセンス サーバーで、ハードウェア ID バインドが許容範囲のレベルを超えていることが報告されました

異なる環境に展開した場合には 0xC004F00F により、ライセンス認証がされていない状態 (再度ライセンス認証が必要な状態) となります。
このエラーコードの詳細は以下の内容となります。

エラー コード 0xC004F00F
現象

MAK、KMS クライアント、または KMS ホストを使用して 1 台以上のコンピューターのライセンス認証手続きを完了しようとしたときに、次のエラー メッセージが表示される場合があります。

0xC004F00F
ソフトウェア ライセンス サーバーで、ハードウェア ID バインドが許容範囲のレベルを超えていることが報告されました。

原因

この問題は、コンピューターのハードウェアが変更された場合、またはコンピューターにインストールされているドライバーが更新された場合に発生することがあります。

回避策

MAK を使用している場合、この問題を回避するには、"許容範囲超過" の猶予期間中に、オンラインまたは電話によるライセンス認証方法を使用して、システムのライセンス認証手続きを再度完了します。 KMS を使用している場合、この問題を回避するには、コンピューターを再起動します。または、コマンド プロンプトで以下のコマンドを入力し、Enter キーを押します。

slmgr.vbs -ato

ハードウェアの変更の許容回数がオーバーして、再認証が必要な状態ですね。
マスターイメージを作成して展開した場合にはこの状態になることが予想されるので、再認証のステップについては確認しておきたいですね。

実際に展開する場合には、イメージを作成した環境と展開先の環境のハードウェア構成とライセンス認証の必要性、ライセンス認証回数の上限は意識しておくとよさそうです。
# イメージ展開には VL を使用することになると思いますので認証回数の上限は VAMT で確認できるかと。

この辺は Windows 8 特有ではなく Windows 7 でも同じだったはずですが。

今回は Retail 版のメディアを使用敷いて検証をしていますが、実際には VL 版を使用することになるかと思いますので、VL 版をで試せるのであれば上記のようなパターンをテストし、どのようになるか確認しておいたほうがよさそうですね。

Written by masayuki.ozawa

7月 7th, 2013 at 6:22 pm

Posted in Windows Client

Tagged with

Leave a Reply

*