次の方法で共有


テスト ベース用の Windows VHD を準備する方法

重要

Microsoft 365 のテスト ベースは、2024 年 5 月 31 日に終了 (EOL) に移行されます。 私たちは、可能な限りスムーズに移行するためのサポートとガイダンスを提供するために、各顧客と緊密に協力することにコミットしています。 質問、懸念事項、またはサポートが必要な場合は、 サポート リクエストを送信してください

オンプレミスからテスト ベースに Windows 仮想マシン (VM) をアップロードする前に、まず仮想ハード ディスク (VHD) を準備する必要があります。 Test Base では、VHD ファイル形式を使用し、固定サイズのディスクを持つ第 2 世代 VM のみがサポートされます。 第 2 世代 VM 上の OS VHD の最大サイズは、テスト ベースで 128 GiB です。

Test Base では、次の Windows バージョンがサポートされています。

  • Windows 10 21H2 以降
  • Windows 11 21H2 以降
  • Windows Server 2016以降

VHDX ファイルを VHD に変換することも、動的に拡張するディスクを固定サイズのディスクに変換することもできますが、VM の生成を変更することはできません。 VHD 関連の操作では、ホストで Hyper-V 機能を有効にする必要があります。

VHD の物理サイズを縮小することはできません。 VHD 内のボリュームの合計サイズがテスト ベースの最大 OS VHD サイズ (128 GiB) を超える場合は、VM をより小さな VHD に再作成するか、VM 内のボリュームを圧縮してから VHD に変換する必要があります。

VM VHD がテスト ベースと互換性があることを確認するには、次の構成手順に従う必要があります。

手順 1: 簡単に構成できるように AzureConfig.ps1 スクリプトを実行する

構成スクリプトを簡単に準備できるように、 AzureConfig.ps1 をダウンロードし、VM 上の PowerShell で管理者としてスクリプトを実行できます。 スクリプトを実行する前に、PowerShell 実行ポリシーを構成する必要がある場合があります。 Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUserを実行して、現在のユーザーの署名チェックをバイパスします。

スクリプトが完了したら、コンピューターを再起動します。 ChkDsk はシステムの起動時に実行されます。 レポートにクリーンと正常なディスクが表示されていることを確認します。 Step-SetLocalPolicy は、法的通知を無効にし、ネットワーク認証のパスワードと資格情報の保存を許可するようにローカル ポリシーを設定します。

手順 2: Windows 更新プログラムをインストールする

VM プロビジョニング中に誤って再起動されないようにするには、すべての Windows 更新プログラムをインストールし、VM を再起動してからテスト ベースに移行することをお勧めします。

また、OS (Sysprep) を一般化する必要がある場合は、Sysprep コマンドを実行する前に Windows を更新し、VM を再起動する必要があります。

手順 3: Sysprep を使用するタイミングを決定する

システム準備ツール (sysprep.exe) は、Windows のインストールをリセットするプロセスです。 Sysprep は、すべての個人データを削除し、いくつかのコンポーネントをリセットします。

通常、 sysprep.exe を実行して、特定の構成で他のいくつかの VM をデプロイするために使用できるテンプレートを作成します。 テンプレートは一 般化されたイメージと呼ばれます。

1 つのディスクから 1 つの VM のみを作成する場合は、Sysprep を使用する必要はありません。 代わりに、 特殊化されたイメージ から VM を作成できます。

Sysprep を実行する前に、ドライブを完全に復号化する必要があることに注意してください。 VM で暗号化を有効にしている場合は、Sysprep を実行する前に無効にします。 AzureConfig.ps1 スクリプトでは、すべてのボリュームに対して BitLocker を無効にする必要があります。

VHD を一般化する

VM VHD を一般化するには、次の手順に従います。 これらの手順の後、VM の電源を切り、VHD のアップロードが完了するまで VM の電源を入れ直さないでください。

  1. Windows VM にサインインします。

  2. 管理者として PowerShell を実行します。

  3. panther ディレクトリ (C:\Windows\Panther) を削除します。

  4. ディレクトリを $env:windir\System32\sysprep に変更します。 次に、 sysprep.exeを実行します。

  5. [システム準備ツール] ダイアログ ボックスで、[Enter System Out-of-Box Experience (OOBE)] を選択し、[Generalize] をチェックします。

    システム準備ツール

  6. [ シャットダウン オプション] で、[シャットダウン] を選択 します

  7. [OK] を選択します。

  8. Sysprep が完了したら、VM をシャットダウンします。 一般化が成功すると、VM は自動的にシャットダウンされます。 再起動を使用して VM をシャットダウンしないでください。

次の PowerShell スクリプトを使用して、VM VHD を一般化することもできます。 PowerShell で管理者としてスクリプトを実行します。

Remove-Item "$($env:windir)\Panther" -Recurse -Force

Push-Location "$($env:windir)\System32\sysprep"

.\sysprep.exe /generalize /shutdown /oobe

Pop-Location

VHD が一般化されました。

特殊化されたイメージ用の Azure Virtual Machine エージェントをインストールする

特殊化されたイメージから VM を作成するには、VM にAzure Virtual Machine Agentをインストールする必要があります。

VM に Azure Virtual Machine エージェント をインストールします。 その後、エージェントのインストール後に VM 拡張機能を有効にすることができます。 VM 拡張機能は、テスト ベースで必要な重要な機能の大部分を提供します。

この PowerShell スクリプトを管理者として実行して、エージェントをインストールすることもできます。

$installerName = "WindowsAzureVmAgent.msi"
$installerPath = "$PWD\$installerName"
if (Test-Path $installerPath) {
    Remove-Item $installerPath -Force 
}

$installerDownloadLink = "https://go.microsoft.com/fwlink/?LinkID=394789"
Invoke-WebRequest -Uri $installerDownloadLink -OutFile $installerPath

$logPath = "$PWD\$installerName.log"
Start-Process "msiexec.exe" -ArgumentList "/i `"$installerPath`" /qn /L*v `"$logPath`"" -PassThru -Wait

手順 4: 仮想ディスクを固定サイズの VHD に変換してサイズ変更する

テスト ベースの仮想ディスクを変換およびサイズ変更するには、次のメソッドを使用します。

  1. 変換またはサイズ変更プロセスを開始する前に、VM をバックアップします。

  2. ローカル サーバーで Windows VHD が正しく動作することを確認します。 VM のエラーを修正してから、テスト ベースに変換またはアップロードします。

  3. 仮想ディスクの種類を Fixed に変換します。

  4. テスト ベースの要件を満たすように仮想ディスクのサイズを変更します。

    1. Azure のディスクの仮想サイズは 1 MiB に揃えている必要があります。 VHD が 1 MiB の倍数でない場合は、ディスクのサイズを変更する必要があります。 1 MiB の倍数ではないディスクは、アップロードされた VHD からイメージを作成するときにエラーが発生します。 PowerShell Get-VHD コマンドレットを使用して、Azure で 1 MiB の倍数である必要がある "Size" と、VHD フッターの "サイズ" と 512 バイトの "FileSize" を表示します。

      $vhd = Get-VHD -Path C:\Test\TestBaseVM.vhd
      $vhd.Size % 1MB
      0
      $vhd.FileSize - $vhd.Size
      512
      
    2. テスト ベース上の OS VHD の最大サイズは 128 GiB です。

PowerShell を使用してディスクの変換とサイズ変更を行う

Convert-VHDコマンドレットと Resize-VHD PowerShell コマンドレットを使用して、テスト ベース用の VM ホスト上の仮想ディスクを変換できます。 管理者としてこの PowerShell スクリプトを実行します。 <PathToVHD>を、アップロードする VHD へのパスに置き換えます。

$vhdFilePath = "<PathToVHD>"
$vhdFileItem = Get-Item $vhdFilePath
$fixedSizeVHDFilePath = $vhdFileItem.Directory.FullName + "\" + $vhdFileItem.BaseName + '-Fixed.vhd'

Convert-VHD -Path $vhdFilePath -DestinationPath $fixedSizeVHDFilePath -VHDType Fixed

$fixedSizeVHD = Get-VHD -Path $fixedSizeVHDFilePath
if ((($fixedSizeVHD.Size % 1MB) -ne 0) -or (($fixedSizeVHD.FileSize - $fixedSizeVHD.Size) -ne 512)) {
    $originalSize = $fixedSizeVHD.Size
    [UInt64]$originalMB = $originalSize / 1MB
    $resizedBytes = ($originalMB + 1) * 1024 * 1024
    Resize-VHD -Path $fixedSizeVHDFilePath -SizeBytes $resizedBytes
}

スクリプトが完了すると、元の VHD ファイルと同じフォルダー内の名前の末尾に -Fixed を含む新しい VHD ファイルが表示されます。 新しい VHD ファイルが変換され、テスト ベースと互換性のあるサイズに変更されます。 これは Fixed VHD の種類であり、サイズは 1 MiB アライメントです。