SE の雑記

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

Windows Server 2016 TP3 で Windows Server Containers を試す際のシステムロケールについて

leave a comment

Windows Server 2016 TP3 では、Windows Server Containers による、コンテナー仮想化の技術を試すことができます。

自分でインストールした TP3 で「ContainerSetup.ps1」を実行することで、コンテナーの実行環境を構築することができますが、OS のシステムロケールについては注意する必要がありそうです。

OS のシステムロケールを「English (United States)」で使用している場合は問題はないのですが、これを「Japanese」に変更してしまうと、コンテナーに PowerShell で接続し、「Get-WindowsFeature」や「Add-WindowsFeature」等を実行すると、処理が進まなくなるという現象が発生してしまうようでうす。
# 最初の段階で止まってしまったり、24%から動かなくなるというような現象が発生しました。

現状、TP3 は日本語版が提供されておらず、

  • コンテナーとコンテナーホストのシステムロケールが不一致

が起因して、処理が実行できていないのかの切り分けができていないのですが、現状、検証をする場合、システムロケールは英語にしておくのがよさそうです。

コンテナーOSイメージがカスタムで作成できるようになると切り分けもできると思うのですが、現状カスタムのOSイメージは使用できないので、原因の解決が難しいですね。。。。

 

インストール時にデフォルトの英語の状態でインストールし、

tzutil.exe /s "Tokyo Standard Time"
$NewList = New-WinUserLanguageList -Language "ja-JP"
$NewList.Add("en-US")
Set-WinUserLanguageList $NewList -Force
Set-WinUILanguageOverride ja-JP
Set-WinHomeLocation 0x7A
Set-ItemProperty -Path registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters\ -Name "LayerDriver JPN" -Value "kbd106.dll" -Type String
Set-ItemProperty -Path registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters\ -Name "OverrideKeyboardIdentifier" -Value "PCAT_106KEY" -Type String
Set-ItemProperty -Path registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters\ -Name "OverrideKeyboardSubtype" -Value 2 -Type DWord
Set-ItemProperty -Path registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters\ -Name "OverrideKeyboardtype" -Value 7 -Type DWord
Restart-Computer -Force

のようなスクリプトで、日本語入力が可能な環境にするか、日本語のシステムロケールでインストールした場合は、英語に変更するというような対応をすることで、コンテナーに機能追加をして、コンテナーをカスタマイズする検証が実施できるかと。

# IIS をコンテナーにインストールするところまでは確認できました。

Azure や、DL できるコンテナーの実行環境が整備された VHD はシステムロケールが英語になっていそうですので、それらを使用している場合は、問題なく検証できるかと。

Share

Written by Masayuki.Ozawa

8月 28th, 2015 at 8:55 am

Posted in Windows Server

Tagged with

Leave a Reply