Dela via


Så här förbereder du en virtuell Windows-hårddisk för testbas

Viktigt

Test Base för Microsoft 365 övergår till slutet av livscykeln (EOL) den 31 maj 2024. Vi har åtagit oss att arbeta nära varje kund för att ge support och vägledning för att göra övergången så smidig som möjligt. Om du har frågor, problem eller behöver hjälp skickar du en supportbegäran.

Innan du laddar upp en virtuell Windows-dator (VM) från en lokal plats till testbasen måste du först förbereda den virtuella hårddisken (VHD). Test Base stöder endast virtuella datorer i generation 2 som använder VHD-filformatet och har en disk med fast storlek. Den maximala storleken för den virtuella os-hårddisken på en virtuell dator i generation 2 är 128 GiB på testbasen.

Test Base stöder följande Windows-versioner:

  • Windows 10 21H2 eller senare
  • Windows 11 21H2 eller senare
  • Windows Server 2016 eller senare

Du kan konvertera en VHDX-fil till en virtuell hårddisk eller konvertera en dynamiskt expanderande disk till en disk med fast storlek, men du kan inte ändra genereringen av en virtuell dator. Du måste aktivera Hyper-V-funktioner på värden för VHD-relaterade åtgärder.

Du kan inte krympa den fysiska storleken på en virtuell hårddisk. Om den totala storleken på volymerna i den virtuella hårddisken överskrider den maximala VHD-storleken för operativsystemet (128 GiB) på testbasen måste du återskapa den virtuella datorn i en mindre virtuell hårddisk eller krympa volymerna på den virtuella datorn innan du konverterar den till en virtuell hårddisk.

Du måste följa konfigurationsstegen nedan för att se till att den virtuella datorns virtuella hårddisk är kompatibel med testbasen.

Steg 1: Kör AzureConfig.ps1 skriptet för enkel konfiguration

För att göra konfigurationsstegen enklare att förbereda ett konfigurationsskript kan du ladda ned AzureConfig.ps1 och köra skriptet som administratör i PowerShell på den virtuella datorn. Du kan behöva konfigurera PowerShell-körningsprincipen innan du kör skriptet. Kör Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser för att kringgå signeringskontroller för den aktuella användaren.

Starta om datorn när skriptet är klart. ChkDsk körs under systemstarten. Kontrollera att rapporten visar en ren och felfri disk. Step-SetLocalPolicy anger den lokala principen för att inaktivera det juridiska meddelandet och tillåta lagring av lösenord och autentiseringsuppgifter för nätverksautentisering.

Steg 2: Installera Windows-uppdateringar

För att förhindra en oavsiktlig omstart under etableringen av den virtuella datorn rekommenderar vi att du installerar alla Windows-uppdateringar och startar om den virtuella datorn innan du migrerar den till testbasen.

Om du också behöver generalisera operativsystemet (Sysprep) måste du uppdatera Windows och starta om den virtuella datorn innan du kör Sysprep-kommandot.

Steg 3: Bestäm när sysprep ska användas

Systemförberedelseverktyget (sysprep.exe) är en process som återställer en Windows-installation. Sysprep tar bort alla personliga data och återställer flera komponenter.

Du kör sysprep.exe vanligtvis för att skapa en mall som du kan använda för att distribuera flera andra virtuella datorer med en specifik konfiguration. Mallen kallas för en generaliserad avbildning.

Om du bara vill skapa en virtuell dator från en disk behöver du inte använda Sysprep. Du kan skapa den virtuella datorn från en specialiserad avbildning i stället.

Observera att Sysprep kräver att enheterna dekrypteras fullständigt innan de körs. Om du har aktiverat kryptering på den virtuella datorn inaktiverar du den innan du kör Sysprep. Skriptet AzureConfig.ps1 bör inaktivera BitLocker för alla volymer.

Generalisera en virtuell hårddisk

Följ de här stegen för att generalisera en virtuell dators virtuella hårddisk. Efter de här stegen inaktiverar du den virtuella datorn och aktiverar den inte igen förrän du har laddat upp den virtuella hårddisken.

  1. Logga in på den virtuella Windows-datorn.

  2. Kör PowerShell som administratör.

  3. Ta bort katalogen panther (C:\Windows\Panther).

  4. Ändra katalogen till $env:windir\System32\sysprep. Kör sysprep.exesedan .

  5. I dialogrutan Systemförberedelseverktyg väljer du Ange System Out-of-Box Experience (OOBE) och markerar Generalisera.

    Verktyg för systemförberedelse

  6. I Avstängningsalternativ väljer du Stäng av.

  7. Välj OK.

  8. När Sysprep är klart stänger du av den virtuella datorn. Om generaliseringen lyckas stängs den virtuella datorn av automatiskt. Använd inte Starta om för att stänga av den virtuella datorn.

Du kan också använda följande PowerShell-skript för att generalisera den virtuella datorns virtuella hårddisk. Kör skriptet som administratör i PowerShell.

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

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

.\sysprep.exe /generalize /shutdown /oobe

Pop-Location

Den virtuella hårddisken är nu generaliserad.

Installera Azure Virtual Machine Agent för specialiserad avbildning

Om du vill skapa en virtuell dator från en specialiserad avbildning måste du installera på Azure Virtual Machine Agent den virtuella datorn.

Installera Azure Virtual Machine Agent på den virtuella datorn. Sedan kan du aktivera VM-tillägg efter agentinstallationen. Vm-tilläggen ger de flesta av de kritiska funktioner som testbasen behöver.

Du kan också installera agenten genom att köra det här PowerShell-skriptet som administratör.

$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

Steg 4: Konvertera och ändra storlek på den virtuella disken till en virtuell hårddisk med fast storlek

Använd den här metoden för att konvertera och ändra storlek på den virtuella disken för testbasen:

  1. Säkerhetskopiera den virtuella datorn innan du påbörjar konverteringen eller ändrar storlek på processen.

  2. Kontrollera att den virtuella Windows-hårddisken fungerar korrekt på den lokala servern. Åtgärda eventuella fel på den virtuella datorn innan du försöker konvertera eller ladda upp den till testbasen.

  3. Konvertera den virtuella disktypen till Fixed.

  4. Ändra storlek på den virtuella disken så att den uppfyller testbaskraven:

    1. Diskar i Azure måste ha en virtuell storlek som är justerad till 1 MiB. Om den virtuella hårddisken inte är en multipel av 1 MiB måste du ändra storlek på disken. Diskar som inte är multiplar av 1 MiB orsakar fel när du skapar bilder från den uppladdade virtuella hårddisken. Använd PowerShell-cmdleten Get-VHD för att visa "Storlek", som måste vara en multipel av 1 MiB i Azure och "FileSize", som är lika med "Storlek" plus 512 byte för VHD-sidfoten.

      $vhd = Get-VHD -Path C:\Test\TestBaseVM.vhd
      $vhd.Size % 1MB
      0
      $vhd.FileSize - $vhd.Size
      512
      
    2. Den maximala storleken för den virtuella os-hårddisken på testbasen är 128 GiB.

Använda PowerShell för att konvertera och ändra storlek på disken

Du kan använda Convert-VHD PowerShell-cmdletarna och Resize-VHD för att konvertera den virtuella disken på den virtuella datorvärden för testbasen. Kör det här PowerShell-skriptet som administratör. Ersätt <PathToVHD> med sökvägen till den virtuella hårddisk som du vill ladda upp.

$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
}

När skriptet har slutförts visas en ny VHD-fil med -Fixed i slutet av namnet i samma mapp som den ursprungliga VHD-filen. Den nya VHD-filen konverteras och ändras så att den är kompatibel med testbasen. Det är en Fixed VHD-typ och har en storlek på 1 MiB-justering.