AVS(Azure Virtual Desktop 旧Windows Virtual Desktop)に日本語イメージを持ち込む! Windows 10 編
はじめに
ついに日本リージョンにもコントロールプレーンが展開されていくアナウンスがあり、AVD(旧 WVD – Windows Virtual Desktop) を使ってみようと興味を持たれる方も多いと思います。
実は、Azure を利用している方ならわかると思うのですが、 Azure で作成できる仮想マシンは英語版の OS イメージとなっています。
言語パックをインストールすれば日本語を使える環境にもできますが、従来使用していた完全な日本語版イメージと同じものとは言い切れません。
そこで、今回は日本語版の Windows OS をオンプレから持ち込むための方法を紹介します。基本的なカスタマイズを行った Windows 10 日本語版イメージを使って AVD を利用できるようにします。
今回は大まかに以下の流れに沿って手順を説明します。
- イメージのカスタマイズ手順
- Azure へのアップロード
- AVD で日本語環境を展開する
※Windows 7を利用したい方は、下記の記事をご参考ください。
皆様ご存じの通りWindows 7 は、2020/1/14をもって延長サポートが終了しますが、
AVDに移行した場合最大で3年間無償のサポート延長が適用されます。
記事「AVD に日本語イメージを持ち込む! Windows 7 編」
Azure で利用できる Windows 10 イメージについて
Azure 上で利用可能なエディションについては製品条項(PT)で定められており、利用可能なエディションと認証方式については以下の Microsoft テックブログにて解説されています。
詳細についてはリンク先をご確認いただきたいですが、Azure で Windows 10 を利用するには、 Creators Update 以降の Current Branch で Enterprise エディションを利用する必要があります。
また、AVD としてもサポートするクライアント OS は次の通りとなっています。
- Windows 10 Enterprise マルチセッション、バージョン 1809 以降
- Windows 10 Enterprise、バージョン 1809 以降
- Windows 7 Enterprise
<参考>
Windows 10 on Azure の正式解禁!
target=”_blank”Windows 10 on クラウドのライセンス認証について
Windows Virtual Desktop とは―サポートされている仮想マシン OS イメージ
A. イメージのカスタマイズ
以下を目的に OS のカスタマイズを行います。
- Microsoft 365 インストール
- Azure へアップロードするための設定
A-1. クリーンインストール
Windows 10 1909 イメージから仮想マシンを展開します。インストール中には Enterprise エディションを選択します。
インストールが完了したらカスタマイズ開始です!
A-2. ローカルグループポリシーの一時変更
まず、ローカルグループポリシーエディター(gpedit.msc)を起動し、次のポリシーを変更します。これによって意図しないストアアプリの更新などによる Sysprep 時のエラーを防止します。
th{min-width:100px; backgorund:#aaa;}
td{font-weight:normal;}
ポリシー | 設定値 |
---|---|
コンピューターの管理\管理用テンプレート\Windowsコンポーネント\クラウドコンテンツ\Microsoftコンシューマー エクスペリエンスを無効にする | 有効 |
コンピューターの管理\管理用テンプレート\Windowsコンポーネント\ストア\更新プログラムの自動ダウンロードおよび手動インストールをオフにする | 有効 |
コンピューターの管理\管理用テンプレート\Windowsコンポーネント\ストア\最新バージョンのWindowsへの更新プログラム提供をオフにする | 有効 |
設定したらコマンドプロンプトを起動し、次のコマンドでローカルポリシーを更新します。
gpupdate /force
A-3. 更新プログラムの適用
[設定]>[更新とセキュリティ]>[Windows Update]>[更新プログラムのチェック]から最新の状態となるまで更新を適用します。
A-4. Microsoft 365 インストール
Microsoft 365 のインストールには Office 展開ツールを利用します。(Office のインストールが不要な方は 4. と 5. はスキップしてください。)展開ツールはこちらからダウンロードします。ダウンロードした msi ファイルを実行し、ツールを展開します。Microsoft 365 のインストールは次の Docs を参考にしています。
<参考>
マスター VHD イメージに Office をインストールする
展開した先に「configuration.xml」という名前で構成ファイルを作成します。「configuration.xml」を開き、以下のように編集します。
<Configuration>
<Add OfficeClientEdition=”64″ Channel=”Monthly”>
<Product ID=”O365ProPlusRetail”>
<Language ID=”ja-jp” />
<Language ID=”MatchOS” />
<ExcludeApp ID=”Groove” />
<ExcludeApp ID=”Lync” />
<ExcludeApp ID=”OneDrive” />
<ExcludeApp ID=”Teams” />
</Product>
</Add>
<RemoveMSI/>
<Updates Enabled=”FALSE”/>
<Display Level=”None” AcceptEULA=”TRUE” />
<Logging Level=” Standard” Path=”%temp%\WVDOfficeInstall” />
<Property Name=”FORCEAPPSHUTDOWN” Value=”TRUE”/>
<Property Name=”SharedComputerLicensing” Value=”1″/>
</Configuration>
「configuration.xml」での設定内容は以下のようなものです。
- 日本語 Microsoft 365 Apps for enterprise をインストール
- Skype for Businness、OneDrice、OneDrive for Businness、Teams のインストールはしない
(OneDrive はこの次の手順でインストールします。)
管理者権限でコマンドプロンプトを開き、Setup.exe を実行します。confiure オプションをつけることで構成ファイルを指定します。
.\Setup.exe /configure configuration.xml
A-5. OneDrive for Businness のインストール
先ほどインストールをスキップした OneDrive をマシン単位でインストールします。こちらから OneDrive のインストールファイルをダウンロードします。
ユーザー単位での OneDrive が既にインストールされていたり、先ほどの構成ファイルの中で OneDrive のインストールを除外しなかった場合は次のコマンドを実行します。
.\OneDriveSetup.exe /uninstall
管理者権限で AllUserInstall レジストリを編集し、 マシン単位でのインストールを可能にします。
REG ADD “HKLM\Software\Microsoft\OneDrive” /v “AllUsersInstall” /t REG_DWORD /d 1 /reg:64
.\OneDriveSetup.exe /allusers
REG ADD “HKLM\Software\Microsoft\Windows\CurrentVersion\Run” /v OneDrive /t REG_SZ /d “C:\Program Files (x86)\Microsoft OneDrive\OneDrive.exe /background” /f
REG ADD “HKLM\SOFTWARE\Policies\Microsoft\OneDrive” /v “SilentAccountConfig” /t REG_DWORD /d 1 /f
A-6. Azure へアップロードするための設定
次の Docs を参考に OS 内の設定を行います。こちらの手順に従って設定を行っていきます。
<参考>
Azure にアップロードする Windows VHD または VHDX を準備する
設定項目が多いので直接 Docs を参照してください。Windows ファイアウォール規則の構成 のコマンドにある DisplayName は言語設定が違うので適宜変更します。変更対象のルールは次の通りです。
- “Windows Remote Management (HTTP-In)” ⇒”Windows リモート管理 (HTTP 受信)”
- “Remote Desktop”⇒”リモート デスクトップ”
- “File and Printer Sharing (Echo Request – ICMPv4-In)”⇒”ファイルとプリンターの共有 (エコー要求 – ICMPv4 受信)”
A-7. ローカルアカウントの削除
コンピュータの管理(compmgmt.msc)を起動し、Administrator アカウントを有効化します。
操作中のローカルアカウントからサインアウトし、仮想マシンを再起動します。
仮想マシンを再起動したら Administrator アカウントでサインインします。ローカルアカウントのユーザープロファイルを削除します。
A-8. ローカルグループポリシーを戻す
ローカルグループポリシーエディター(gpedit.msc)を起動し、先の手順で変更したポリシーを「未構成」に戻します。
ポリシー | 設定値 |
---|---|
コンピューターの管理\管理用テンプレート\Windowsコンポーネント\クラウドコンテンツ\Microsoftコンシューマー エクスペリエンスを無効にする | 未構成 |
コンピューターの管理\管理用テンプレート\Windowsコンポーネント\ストア\更新プログラムの自動ダウンロードおよび手動インストールをオフにする | 未構成 |
コンピューターの管理\管理用テンプレート\Windowsコンポーネント\ストア\最新バージョンのWindowsへの更新プログラム提供をオフにする | 未構成 |
設定したらコマンドプロンプトを起動し、次のコマンドでローカルポリシーを更新します。
gpupdate /force
A-9. イメージの一般化
コマンドプロンプトを起動し、Sysprep を実行します。Sysprep に成功したら、対象の仮想マシンの電源を入れないように気を付けます。
C:\Windows\System32\Sysprep\sysprep.exe /generalize /oobe /shutdown
エラーが発生した時は C:\Windows\System32\Sysprep\Panther 配下のログファイルを確認し、修正します。
B. Azure へのアップロード
B-1. VMDK からの変換
今回は VMDK ファイルからの変換も行ったので簡単に手順を紹介します。こちらから変換ツールのインストーラーをダウンロードします。
変換する VMDK ファイルにアクセスできる仮想マシンでダウンロードしたインストーラーを実行し、インストールします。インストールが完了したら次のコマンドで VMDK ファイルを固定長の VHD ファイルに変換します。<SourceVmdkFilePath>には変換元の VMDK ファイルのパスを、<DestVhdFilePath>には変換先のVHD ファイルを出力するパスを指定します。
ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath <SourceVmdkFilePath> -destination <DestVhdFilePath> -VhdType FixedHardDisk -VhdFormat vhd
<参考>
How to Convert a VMWare VMDK to Hyper-V VHD
B-2. VHD のアップロード
以下コマンドで VHD をアップロード先となるマネージドディスクを作成します。<fullFilePathHere>にはアップロード対象ファイルのパスを指定します。
<参考>
Azure PowerShell を使用して Azure に vhd をアップロードする
$location = ‘japaneast’
$rgName = ‘myResourceGroup’
$diskName = ‘myDiskName’
$vhdSizeBytes = (Get-Item “<fullFilePathHere>”).length
$diskconfig = New-AzDiskConfig -SkuName ‘Standard_LRS’ -OsType ‘Windows’ -UploadSizeInBytes $vhdSizeBytes -Location $location -CreateOption ‘Upload’
New-AzDisk -ResourceGroupName $rgName -DiskName $diskName -Disk $diskconfig
マネージドディスクにアクセスするための SAS を入手し、AzCopy を利用して VHD ファイルをアップロードします。
$diskSas = Grant-AzDiskAccess -ResourceGroupName $rgName -DiskName $diskName -DurationInSecond 86400 -Access ‘Write’
.\AzCopy.exe copy $destVhdFilePath $diskSas.AccessSAS –blob-type PageBlob
アップロードが完了したらマネージドディスクへのアクセス権を破棄します。(これを忘れるとディスクリソースを使用することができません)
Revoke-AzDiskAccess -ResourceGroupName $rgName -DiskName $diskName
Azure ポータルから確認して[ディスクの状態]が[Unattached]となっていれば利用可能な状態です。
B-3. マネージドディスクのイメージ化
作成したディスクをそのまま利用するのではなく、複製利用可能なイメージリソースへと変換します。次のコマンドを実行し、アップロードしたマネージドディスクをイメージリソース化します。
<参考>
汎用化した VHD をアップロードして Azure で新しい VM を作成する
─アップロードした VHD から管理イメージを作成する
$managedDiskId = <‘myDiskName’のリソースID>
$imageName = ‘myImageName’
$imageConfig = New-AzImageConfig -Location $location
$imageConfig = Set-AzImageOsDisk -Image $imageConfig -OsType Windows -OsState Generalized -ManagedDiskId $managedDiskId -DiskSizeGB 128
New-AzImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
C. AVD で日本語環境の展開
C-1. AVD でカスタムイメージから展開
アップロードしたイメージを利用して AVD のセッションホストを展開します。基本的な設定項目については省略し、アップロードした Windows 10 イメージを使うのに必要なところのみピックアップします。
マルチセッション OS ではないので[Desktop type]は[Personal]にします。
[Image Source]で[Managed image]を選択し、作成したイメージリソースのリソース名とリソースグループ名を設定します。
C-2. AVD で Windows 10 日本語環境にアクセス
展開に成功したら AVD クライアントからアクセスします。無事に日本語環境の Windows 10 が利用できています!
さいごに
今回は AVD で日本語環境を利用するためのイメージカスタマイズとアップロード方法についてまとめました。かなりボリュームがありましたが、Azure にもオンプレでカスタマイズしたイメージを持ち込むことができるとわかりました。
AVD で利用可能なマルチセッション対応の Windows 10 については Azure Marketplace でしかイメージが公開されていないため、この方法では日本語化できないのが残念です。Azure Marketplace から払い出される英語版のイメージでは満足できなかった方、一度お試しください!
Windows Virtual Desktop 概要資料
無償ダウンロードはこちら
この記事を書いた人
- Azure導入支援デスク 編集部
-
こんにちは!双日テックイノベーション(旧:日商エレクトロニクス)では、Microsoft Azure活用に関する有益な情報を皆様にお届けしていきます。Azure移行、データ活用、セキュリティなどに関するお困りごとや、Microsoft Azureに関する疑問点などお気軽にご相談ください。
ブログにしてほしいネタなどのリクエストもお待ちしております。
この投稿者の最新の記事
- 2024年9月12日ブログ2024年版 最新のデータ活用基盤とは?グローバル企業の事例も紹介!
- 2024年7月16日事例Azureデータ活用基盤導入事例:第一フロンティア生命保険株式会社
- 2024年3月27日ブログデータレイクとは? ~DWHとの違い、メリット、活用例などをわかりやすく解説~
- 2024年3月6日ブログデータカタログとは?~機能、導入のメリット、導入方法まで解説~