isLandcenter 非番中

ブログトップ | ログイン

Windows11 を再展開、やり直し、Sysprep で、失敗しやすいポイント

Windows コンピュータを企業などで大量にセットアップしたい時に使う便利なツールが sysprep です。ここでは Windows11 で実際に陥ったトラブルのポイントについて説明します。

※ Windows11 Pro の記事です。 HOME ではありません。

例えば、コンピュータを大量に購入して、それぞれにデバイスドライバや業務用アプリケーションをセットアップして現物配布となる訳ですが、アカウントをセットアップする以外にも、この作業は地味に面倒くさい訳です。

そこで、一旦セットアップしたコンピュータを基に、Sysprep を実行すると、インストール済のアプリケーションやドライバを残して、セットアップ済のアカウントを削除して、アプリケーションがプリインストールされた吊るしの PC の様に、最初に起動したらユーザアカウントのセットアップから開始することができます。

また、同じマシンイメージをつかうわけですから、設定は決め打ちですから、ヘルプデスクもやりやすいのですね。

そこで、この基としたイメージでクローンを作って、他の PC に再配布することで、セットアップの手順を単純化、共通化させることができます。
シンクライアントの場合は、Sysprep したシステムイメージをハイパーバイザーの中でコピーしてユーザのセットアップをすれば良いわけです。

Sysprep はショップブランドの PC などはこの手法でセットアップされる事が多いようです。


-- 初期セットアップ

初期セットアップには任意の Windows11 に任意のアカウントを作って、コンピュータのセットアップを行います。ここでは Microsoft アカウントは使わないほうが良いでしょう。

      • デバイスドライバ―のセットアップ
      • Windows Update
      • 業務用アプリケーションのセットアップ
      • 不要なプリインストールアプリケーションの削除

これを基に十分な検証を行い、最後に sysprep を実行します。

Windows11 を KVM 環境。マイクロソフトアカウントを使わずローカルアカウントでインストール
https://islandcnt.exblog.jp/241093608/


Windows11 のスタートメニューにある要らないアイコンを整理

Windows11 を再展開、やり直し、Sysprep で、失敗しやすいポイント_a0056607_15175485.jpg

初期セットアップに使われたアカウント、データは全て削除され、アプリケーションやドライバがインストール済のフレッシュインストールされた状態になるはずです。C:\Users\Public は残されます。共通で使うショートカットやバッチファイルはここに置いておくと良いでしょう。

Windows11 を再展開、やり直し、Sysprep で、失敗しやすいポイント_a0056607_15190331.png

Windows11 を KVM 環境。マイクロソフトアカウントを使わずローカルアカウントでインストール


-- おまけ ビルトインアカウント Administrator の有効化

「コンピュータの管理」から、ローカルユーザとグループの Administrator のアカウントを有効化して、パスワードをセットしておきます。ヘルプデスク用ですね。

Windows11 を再展開、やり直し、Sysprep で、失敗しやすいポイント_a0056607_15194184.png

-- Sysprep の残り回数、猶予回数の確認

次のコマンドを実行して、Sysprep の猶予回数を確認します。

C:\>slmgr /dlv

Windows11 を再展開、やり直し、Sysprep で、失敗しやすいポイント_a0056607_15200314.png

Windows7 までは、Sysprep の猶予回数は3回にまで制限されていましたが Windows10/11 では 1001 回まで増やされています。現実的にはほぼ無制限という事です。

C:\> \Windows\System32\Sysprep\sysprep.exe

を実行します。

次のようなダイアログが出てくるので「一般化する」をチェックして、「シャットダウン」にトグルして OK ボタンを押すと、システムの「一般化(Generalization)」 が実行され、システムはシャットダウンします。(するはずでした)

Windows11 を再展開、やり直し、Sysprep で、失敗しやすいポイント_a0056607_15203245.png


-- そうは問屋が卸さない Windows10/11 の Sysprep は必ず失敗する

何もせずに Windows10/11 で sysprep を実行すると、たいていは

Windows11 を再展開、やり直し、Sysprep で、失敗しやすいポイント_a0056607_15205190.png


SysprepでWindowsのインストールを検証できませんでした。詳細については、%WINDIR%\System32\Sysprep\Panther\setupact.logにあるログファイルを確認してください。問題を解決してから、Sysprepを使用してインストールを再度検証してください。

とでてきます。Sysprep の下の Panther\setupact.log を見ると

2021-10-10 14:45:17, Error SYSPRP Package Microsoft.LanguageExperiencePackja-JP_22000.8.13.0_neutral__8wekyb3d8bbwe was installed for a user, but not provisioned for all users. This package will not function properly in the sysprep image.
2021-10-10 14:45:17, Error SYSPRP Failed to remove apps for the current user: 0x80073cf2.
2021-10-10 14:45:17, Error SYSPRP Exit code of RemoveAllApps thread was 0x3cf2.
2021-10-10 14:45:17, Error SYSPRP ActionPlatform::LaunchModule: Failure occurred while executing 'SysprepGeneralizeValidate' from C:\Windows\System32\AppxSysprep.dll; dwRet = 0x3cf2
2021-10-10 14:45:17, Error SYSPRP SysprepSession::Validate: Error in validating actions from C:\Windows\System32\Sysprep\ActionFiles\Generalize.xml; dwRet = 0x3cf2
2021-10-10 14:45:17, Error SYSPRP RunPlatformActions:Failed while validating Sysprep session actions; dwRet = 0x3cf2
2021-10-10 14:45:17, Error [0x0f0070] SYSPRP RunDlls:An error occurred while running registry sysprep DLLs, halting sysprep execution. dwRet = 0x3cf2
2021-10-10 14:45:17, Error [0x0f00d8] SYSPRP WinMain:Hit failure while pre-validate sysprep generalize internal providers; hr = 0x80073cf2


Microsoft.LanguageExperiencePackja-JP_22000.6.7.0_neutral__8wekyb3d8bbwe というパッケージがユーザにインストールされているため、Sysprep に失敗しています。どうもこのパッケージは、初期ユーザをセットアップした際にダウンロードされてセットアップされた日本語言語のパッケージプログラムの様です。このパッケージを PowerShell を管理者モードで起動して削除します。バージョン番号は、状況により変わると思います。

バージョン番号はケースバイケースなので Microsoft.LanguageExperiencePackja-JP* とワイルドカードを使って削除しました。

PS C:\Windows\system32> Get-AppxPackage -AllUsers Microsoft.LanguageExperiencePackja-JP* | Remove-AppxPackage -AllUsers

もう一度 sysprep を実行すると、今度は Microsoft.OneDriveSync_21180.905.7.0_neutral__8wekyb3d8bbwe が邪魔して Sysprep がエラーを吐きました。使ってもいない OneDrive のパッケージの様です。これも削除します。

PS C:\Windows\system32> Get-AppxPackage -AllUsers Microsoft.OneDriveSync* | Remove-AppxPackage -AllUsers

今回はこの二つのパッケージの削除で Sysprep は実行できました。今回のケースはこの二つでしたが、他にテストユーザが、Microsoft Store などから、ユーザアカウントと連携する余計なアプリケーションをダウンロードすると出てくる様です。エラーが出る都度、原因となるパッケージを地味に消す必要があるようです。

※ Microsoft Store のアプリケーションは、Sysprep の障害になります。Microsoft アカウントと紐づけしないセットアップをしても最低二つのパッケージが Sysprep の障害、失敗原因となります。アカウントと紐づけなしでインストールして、ストアアプリを一切入れない個体から基本イメージを作る事が肝要です。

ざっくり Windows11 を KVM 環境。マイクロソフトアカウントを使わずローカルアカウントでインストール

エラーの原因となるパッケージを、エラーが出る都度削除して Sysprep すると

行けた ....

Windows11 を再展開、やり直し、Sysprep で、失敗しやすいポイント_a0056607_15232852.png
この後、指定通りシステムはシャットダウンします。

参考になりました。

Sysprepの注意点は?

-- リモートデスクトップで Sysprep したら失敗した

余計なパッケージを削除するために、リモートデスクトップで作業していたのですが、中々シャットダウンしません。仕方ないので強制リセットしたら....、テスト用のユーザは削除されず、なのになぜかログインできてしまうし....

あれ! Windows10 のタスクバーになっているし!(失敗)

Windows11 を再展開、やり直し、Sysprep で、失敗しやすいポイント_a0056607_15242537.png
スタートボタンが左端に移ってしまいました。当然中途半端な状態なので、使い物になりません。

やり直し....


-- やっとうまく行きました。

仮想環境で作業していたため、RDP を使っていたのですが、Sysprep だけは、RDP を終了させて、直接コンソールから実行しました。

無事シャットダウンに成功して、システムのイメージファイルは、Sysprep 配布用にバックアップを取り、システムを起動させるとうまく行きました。

Windows11 を再展開、やり直し、Sysprep で、失敗しやすいポイント_a0056607_15250032.png

反省点:リモートデスクトップで Sysprep するような横着はしない事。

この状態で成功したら、シャットダウンしてディスクイメージを丸ごとバックアップして、展開用に準備します。

以前はよく Symantec Ghost などのクローニングツールを使いましたが、Linux の Live USB 起動で起動して、ディスクイメージを丸ごと Linux の Samba などのストレージにコピーして、元ネタとする方法が安価なクローニング配布の方法の一つです。

一つ持っていると便利な openSUSE Leap 15 のライブ usb メモリ。

openSUSE Leap 15.3 Live USB のダウンロードはこちら

openSUSE Leap 15.2 Live USB Localize (日本語化)

SUSE Linux から Samba/Windows 共有をマウントしてバックアップ


--まとめ

Sysprep は、Windows11/10 をオフィスに大量に配布するには非常に強力なツールです。調子が悪くなったコンピュータも、ユーザデータのバックアップを取り、Sysprep イメージを再配布すれば、コンピュータをリフレッシュした状態に戻す事が出来ます。誤ってローカルアカウントを設定した場合や、ローカルアカウントの設定によって起因するトラブルの解消にも役立つかも知れません。

Sysprep 自体はv Windows 2000 時代から存在する便利ツールですが、Windows10/11 時代になっても基本的な使い勝手が変わらない様です。そのため新しい機能に対して不足する機能や不具合がいくつか見つかりました。

また、今回はライセンスがどうなるのかはチェックしていません。ライセンス認証を受けたコンピュータを Sysprep して配布すると、バイオレーションを起こすかも知れないですし、一旦認証した機器に対して、未認証のイメージを展開して認証が通るかも、と言った点もチェックしていないのでご了承ください。その辺りの情報はコメント頂けると有難いです。おそらく企業向けボリュームライセンスとか仮想用ライセンスなら必要ないのかな。

シンクライアントとして Linux に大量のWindows11 仮想VMをインストールする場合も便利です。

Windows 11(公式リリース) を KVM 仮想環境でインストール

Windows11 でいらない新機能

モバイルワーク時代の Windows11 の意義、Chrome Remote Desktop でシンクライアント






by islandcenter | 2021-10-11 16:02 | Windows11 | Comments(0)