Facebook で WDS で Windows 8 を仮想マシンに展開した場合に、応答ファイルで LayeredDriver や InputLocale を設定してもキーボードの設定が 101/102 キーボードになると話題があり、ほ~と思ったので試してみました。
今回の環境は Windows Server 2012 の WDS で Windows 8 Enterprise x64の展開を行っています。
また、展開する WIM ファイルに関しては Windows 8 Enterprise x64 のインストールメディア内の install.wim を展開しています。
展開後にレジストリ変更で対応をして問題ないのであれば、以下のコマンドでレジストリを変更してしまえば日本語キーボードの環境となります。
Set-ItemProperty registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters -Name "LayerDriver JPN" -Value kbd106.dll Set-ItemProperty registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters -Name "OverrideKeyboardIdentifier" -Value PCAT_106KEY Set-ItemProperty registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters -Name "OverrideKeyboardSubtype" -Value 2 Restart-Computer -Force
使用している応答ファイルですが無応答セットアップを実施するために一通りの設定をしており、言語関係に関しては以下のような設定をしています。
# InputLocale を 0411:E0010411 や ja-JP にしても現象は同じでした。
■Microsoft-Windows-International-Core-WinPE_neutral
■Microsoft-Windows-International-Core_neutral
これらの設定をした応答ファイルをクライアント/展開イメージの応答ファイルとして設定しています。
この状態で展開された OS の設定状態を [DISM /online /Get-Intl] を実行して確認してみます。
キーボードの設定に関しては 101/102 キーボードとなっています。
何回か試してみたのですが応答ファイルの基本的な項目だけでは、どうにもこうにも日本語キーボードの設定にすることができませんでした。
応答ファイルには、Sysprep 中に任意のコマンドを実行する方法について で紹介されているような特定のタイミングでコマンドを実行する機能がありますので、こちらも試してみたのですが RunSynchronousCommand を使用して、日本語用のキーボードを使用するためのレジストリ設定 をしても思ったような設定をすることができませんでした。
FirstLogonCommands を使用して、初回のサインイン時にレジストリを日本語キーボード向けに設定すれば設定変更ができたのですが、管理者権限を持つアカウントでサインインして、サインイン後の再起動の手間もありますので少し手間がかかります。
最終的にとった手段としては WDS で展開する WIM ファイルのキーボード レイヤード ドライバーを日本語に設定変更し、それを WDS から展開するという方法を使ってみました。
まずは、インストールメディアに含まれている install.wim のキーボード レイヤード ドライバーを確認してみます。
mkdir c:mount dism /Mount-Wim /WimFile:E:install.wim /index:1 /MountDir:C:mount dism /Image:C:mount /Get-Intl |
今回は、日本語版の Windows 8 Enterprise x64 のインストールメディアを使用していますが、インストールメディアの install.wim は 101/102 キーが指定されていますね。
これを以下のコマンドを使用して、106/109 キーボードに変更します。
dism /Image:C:mount /Set-LayeredDriver:6 |
変更後は以下のようになります。
Set-LayeredDriver で指定したキーボードの設定となっていますね。
このイメージをコミットして WDS の展開イメージとして取り込みます。
dism /Unmount-Wim /mountdir:C:mount /commit |
この状態で展開されたイメージのキーボードの状態がこちらになります。
展開のベースとなるイメージが 106/109 キーボードになっているので、このイメージを使用して WDS で展開された環境も同一の設定になっていますね。
日本語環境としてインストールして Sysprep した環境をキャプチャイメージでキャプチャして WDS で展開したことはあるのですが、その時は元となるイメージが日本語のキーボード設定でしたのでこの辺はあまり意識したことがありませんでした。
# 上記の状態のイメージをキャプチャして WDS で展開したところ日本語キーボード設定となっていました。英語キーボード向けの設定を応答ファイルで設定しても英語キーボードになりませんでしたが…。
WDS で展開する場合このような動きになるものなのでしょうか?? と疑問に思っていろいろやってみたのですが、元になる WIM を変更するという方法ぐらいしか思い浮かびませんでした。
英語キーボードになるケース SCVMM から展開した場合の System Center Virtual Machine Manager 2008 または System Center Virtual Machine Manager 2008 R2 でライブラリ上にあるテンプレートから仮想マシンを作成した場合、[地域と言語のオプション] の設定が英語になる がありますが、Windows 8 をテンプレートから展開した場合、どのようになるか調べておいたほうがよさそうだなと思っているのですがこちらはまだ調べられていません…。どこかでやらないと。
[…] WDS で Windows 8 を展開する際に日本語キーボードを設定する http://engineermemo.wordpress.com/2013/04/11/wds-%e3%81%a7-windows-8-%e3%82%92%e5%b1%95%e9%96%8b%e3%… […]
【Deployment】 WDS だけで Windows 8 を仮想マシンに自動展開するとキーボードレイアウトが英語配列(101/102)になってしまう - フィールドSEあがりの安納です - Site Home - TechNet Blogs
18 4月 13 at 21:24
小澤さんのこの手順を、HOLに組み込ませていただきました~すみませんです。後でおごらせてください。。。
junichia
19 4月 13 at 21:06
[…] や WDS で Windows 8 を展開する際に日本語キーボードを設定する […]
SC20102 VMM SP1 での ベアメタル展開(HP ML110 G7 編) | MCTの憂鬱
22 4月 13 at 14:20
[…] や WDS で Windows 8 を展開する際に日本語キーボードを設定する […]
SC2012 VMM SP1 での ベアメタル展開(HP ML110 G7 編)
12 2月 15 at 22:56