2019/11/21

英語版 Server Core 環境を日本語化する方法(ver 1809/1903/1909)

Azure VM の Marketplace の Windows Sever イメージは英語(en-us)環境です。Desktop Experience ベースのイメージは、オンラインで日本語サポートを追加することで、表示言語や既定の言語、システムロケールを変更し、日本語化することが可能ですし、その手順も確立してると思います(私もいろんなとこで書いてます)。

Server Core ベースのイメージ(Windows Server 2019 Datacenter Server Core、Windows Server, version 1903 with Containers とか)は日本語化できるのか、試行錯誤して成功したので覚え書きとして残します。あくまでも試行錯誤した結果に基づくもので、余計な操作が含まれるかもしれません。

(Windows Server, version 1909 with Containers イメージが利用可能になったら、もう一度確認してちゃんとした記事にするつもり。11/23 現在、Azure PowerShell で確認すると Publisher "MicrosoftWindowsServer"、Offer "WindowsServer" に SKU "datacenter-core-1909-with-containers-smalldisk" はあるけど空っぽ。Get-AzureRmVMImage で返ってくるイメージなし。11/24 イメージ登場するも、Portalにはなし)

以下のスクリーンショットは、Windows Server 2019 Datacenter Server Core の Azure VM のビフォー/アフター。

日本語化前(en-us):


日本語化後(en-us → ja-jp):



対象: 以下の OS がプリインストールされた Azure VM

・Windows Server 2019 Server Core en-US
・Windows Server, version 1809 en-US
・Windows Server, version 1903 en-US
・Windows Server, version 1909 en-US

用意するもの: Windows Server のバージョンに対応した言語パックの ISO イメージ

・Windows Server 2019
 → Windows Server 2019 Language Pack の ISO(VSS の場合mu_windows_server_2019_language_pack_x64_dvd_・・・.iso)
・Windows Server, version 1809
 → Windows Server 2019 Language Pack の ISO(同上)
・Windows Server, version 1903
 → Windows Server, version 1903 Language Pack の ISO(VSS の場合 mu_windows_server_version_1903_language_pack_x64_dvd_・・・.iso)
・Windows Server, version 1909
 → Windows Server, version 1903 Language Pack の ISO(同上、1903 用のもの!)

※言語パックの ISO イメージは、ボリュームライセンス サービス センター(VLSC)、Visual Studio サブスクリプション(VSS)、OEM システム ビルダーなので提供されています。一般公開はされてませんが、Windows Server 2019 用のものは以下の KB ページ内のリンクからまだ入手できるかも(17763.1.180914-1434.rs5_release_SERVERLANGPACKDVD_OEM_MULTI.iso)。

Windows Server 2019 デスクトップ エクスペリエンスの言語パックを構成できない
https://support.microsoft.com/ja-jp/help/4466511/

手順:

1.(オプション)新しいWindows PowerShell ウィンドウを開いて、Server Core App Comatibility FOD と IE をインストールして再起動。ISO イメージのダウンロード(IE)やマウント(Explorer.exe)が楽になるので。


C:\> start powershell

PS C:\> Add-WindowsCapability -Online -Name ServerCore.AppCompatibility~~~~0.0.1.0
PS C:\> Add-WindowsCapability -Online -Name Browser.InternetExplorer~~~~0.0.11.0
PS C:\> Restart-Computer

2. 言語パックのISOイメージの \x64\langpacks にある Microsoft-Windows-Server-Language-Pack_x64_ja-jp.cab を以下のいずれかの方法でインストールする。ISO のマウントは Mount-DiskImage または Explorer.exe で。ローカルに ISO がある場合は、RDP 接続経由で Microsoft-Windows-Server-Language-Pack_x64_ja-jp.cab だけを Azure VM にコピーすればいい。ISO イメージは 2.5 GB くらいあるけど、_ja-jp.cab は 60 MB 以下だから。

PS C:\> Lpksetup.exe
または
PS C:\> DISM.exe /online /Add-Package /PackagePath:<パス>\Microsoft-Windows-Server-Language-Pack_x64_ja-jp.cab
または
PS C:\> Add-WindowsPackage -Online -PackagePath <パス>\Microsoft-Windows-Server-Language-Pack_x64_ja-jp.cab

3.(オプション?)日本語関係の FOD 機能をインストールする。インストールしなくても Server Core だと変わらないかもしれないけど、日本語版 Server Core 環境には既定でインストールされていたので念のため。

PS C:\> Add-WindowsCapability -Online -Name Language.Basic~~~ja-JP~0.0.1.0
PS C:\> Add-WindowsCapability -Online -Name Language.Fonts.Jpan~~~und-JPAN~0.0.1.0
PS C:\> Add-WindowsCapability -Online -Name Language.Handwriting~~~ja-JP~0.0.1.0
PS C:\> Add-WindowsCapability -Online -Name Language.OCR~~~ja-JP~0.0.1.0
PS C:\> Add-WindowsCapability -Online -Name Language.Speech~~~ja-JP~0.0.1.0
PS C:\> Add-WindowsCapability -Online -Name Language.TextToSpeech~~~ja-JP~0.0.1.0

4. Windows PowerShell で表示言語や入力言語周りの設定。

PS C:\> Set-WinUILanguageOverride ja-JP
PS C:\> Set-Culture ja-JP
PS C:\> $mylang = New-WinUserLanguageList ja
PS C:\> Set-WinUserLanguageList $mylang
PS C:\> Set-WinDefaultInputMethodOverride "0411:{03B5835F-F03C-411B-9CE2-AA23E1171E36}{A76C93D9-5523-4E90-AAFA-4DB112F9AC76}"
※ 上の Set-WinUserLanguageList で ja だけにしているので、Set-WinDefaultInputMethodOverride は実行しなくてもいいかも。ver 1903 と 1909 の場合は これを設定してしまうと Get-WinDefaultInputMethodOverride が Exception of type 'System.Exception' was thrown. になっちゃうので(2019-11 B パッチ時点では)、Set-WinDefaultInputMethodOverride は実行しない方がいいと思う。

5. Windows PowerShell で地域を日本(GeoID 122)、タイムゾーンを UTC+9:00、システムロケールを日本語(日本)に変更して再起動。

PS C:\>Set-WinHomeLocation -GeoID 122
PS C:\>Set-TimeZone -Id "Tokyo Standard Time"
PS C:\>Set-WinSystemLocale ja-JP
PS C:\>Restart-Computer

6. 再起動後にログオンすると、コマンドプロンプトのコードページが437(OEM - 米国)から932(ANSI/OEM - 日本語 Shift-JIS)に、フォント設定が MS ゴシック に切り替わってると思う。表示言語(メッセージなど)がまだ英語のまま。そこで再度、言語設定をしてログオフ、ログオンすると、表示言語が日本語になった。タスクマネージャー(taskmgr)やレジストリ エディター(regedit.exe)、メモ帳(notepad.exe)、Server Core App FOD のエクスプローラー(Explorer.exe)やその他の MMC 管理ツールの一部(すべてではない)も日本語にローカライズされたものに。

PS C:\> Set-WinUILanguageOverride ja-JP
PS C:\> Set-Culture ja-JP
PS C:\> $mylang = New-WinUserLanguageList ja
PS C:\> Set-WinUserLanguageList $mylang
PS C:\> logoff

7. (オプション)ログオン画面や既定のユーザーの言語設定も日本語にしたい場合は、intl.cpl の[管理]タブの[設定をコピー]をクリックして、[ようこそ画面とシステム アカウント]と[新しいユーザー アカウント]をチェックし、再起動。Azure VM だとあまり意味がない設定かも(ブート診断のログオン画面とか起動/再起動の画面とかが日本語になるけど)。

C:\> Intl.cpl

注意事項 1:

Azure Marketplace の最新のイメージには関係ありませんが、Windows Server 2019 Server Core と Windows Server, version 1809 は、初期ビルド(17763.168より前)だとServer Core App Compatibility FOD をインストールするとログイン不能になるという問題がありました。ローカル環境で en-us を日本語化する際にはご注意。

Screen flickers after you install Server Core App Compatibility FOD in Windows Server 2019 Server Core
https://support.microsoft.com/en-us/help/4481610/

注意事項 2:

Windows Server, version 1903/1909 は日本語版 ISO イメージからインストールした場合でも、英語版を日本語化した場合でも、Microsoft IME による日本語の入力と変換ができない。[Alt]+[半角/全角]、[半角/全角]、[Windows]+[スペース]はどちらも無反応。メモ帳(notepad.exe)で右クリックして[IMEを開く]しても日本語入力に切り替わらない。テキスト選択して[再変換]をクリックしても無反応。
Feedback Hub → https://aka.ms/AA6lo0x

左が Windows Server, version 1809 日本語版、右が version 1909 日本語版(1903 も同じ)。
製品の不具合なのか、それとも、これまでの筆者のキーボード操作がたまたま機能してただけで操作違ってました? (誰かに教えてもらったような記憶はないし、自己流になってるかも)

11/26 追記)念のため、Windows Server, version 1809 日本語版 と1903 日本語版を新規インストールして  Procexp で確認してみると、ダメなほう(1903)は notepad.exe に IME 関連の DLL が読み込まれていない。

左がいいほう(ver 1809、build 17763)、右がいいほう(ver 1903、build 18362)
12/24 追記)Azure仮想マシンのシリアルコンソールのSACのcmdチャネルでは日本語入力可能。接続元のMS-IMEを使ってるからだと思う。


0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。