microsoft / MSLab

Azure Stack HCI, Windows 10 and Windows Server rapid lab deployment scripts
MIT License
1.21k stars 289 forks source link

Azure Stack HCI 23H2 - Parentdisk + VM creation works, booting fails with 2311 & 2408 ISO #604

Closed Karl-WE closed 1 month ago

Karl-WE commented 2 months ago

creating Azure Stack HCI 23H2 using 23H2_2408_AZURESTACKHci23H2.25398.469.LCM.10.2408.1.3002.x64.en-us.iso SHA256: BF8DF0F0397BECA33F3974A8BBD72EC988A326FD95EB11D549DF27780F00D67C

Repro:

  1. Deploy MSlab 24.06.2 on Windows Server Insider b26296

  2. Use parentdisks\createparentdis.ps1 and select ISO 23H2_2408_AZURESTACKHci23H2.25398.469.LCM.10.2408.1.3002.x64.en-us.iso to create AzSHCI23H2_G2.vhdx This will create parent disk correctly.

  3. Use LabConfig of AzureStackHCIHOL 23H2 This will create all VMs correctly but the Azure Stack HCI 23H2 VMs will fail to boot after creation. Additional VMs (MGMT, WAC) are not affected but using a different parent disk.

Error message: {2373CB97-08ED-4059-9A0C-DA6D01182AD2}

Logs: Deploy.log

Labconfig according to AzureStackHCIHOL 23H2

`

basic config for Windows Server 2022, that creates VMs for S2D Hyperconverged scenario https://github.com/Microsoft/MSLab/tree/master/Scenarios/S2D%20Hyperconverged

$LabConfig=@{AllowedVLANs="1-10,711-719" ; DomainAdminName='LabAdmin'; AdminPassword='LS1setup!' ; DCEdition='4'; Internet=$true; TelemetryLevel='Full' ; TelemetryNickname='' ; AdditionalNetworksConfig=@(); VMs=@()}

Azure Stack HCI 23H2

labconfig will not domain join VMs

1..2 | ForEach-Object {$LABConfig.VMs += @{ VMName = "AzNode-2408-prod$_" ; Configuration = 'S2D' ; ParentVHD = 'AzSHCI23H2_G2.vhdx' ; HDDNumber = 4 ; HDDSize= 1TB ; MemoryStartupBytes= 24GB; VMProcessorCount="MAX" ; vTPM=$true ; Unattend="NoDjoin" ; NestedVirt=$true }}

Windows Admin Center in GW mode

$LabConfig.VMs += @{ VMName = 'WACGW' ; ParentVHD = 'WinSrvInsiderCore_26296.vhdx'; MGMTNICs=1}

Management machine (windows server 2025, but can be 2022)

$LabConfig.VMs += @{ VMName = 'Management' ; ParentVHD = 'WinSrvInsider_26296.vhdx'; MGMTNICs=1 ; AddToolsVHD=$True } `

Karl-WE commented 1 month ago

updated repro instructions. will try to repro on a different OS (W11 24H2 b26100.1742)

Karl-WE commented 1 month ago

Host OS: Windows 11 24H2 Guest OS: Azure Stack HCI 23H2 2408

same behaviour

image

Logs CreateParentDisks.log Deploy.log Prereq.log

Karl-WE commented 1 month ago

tested Host OS b26296 Guest OS: 23H2 ISO: 25398.469.231004-1141.zn_release_svc_refresh_SERVERAZURESTACKHCICOR_OEMRET_x64FRE_en-us.iso

{B4798A80-C4BE-431F-8064-8644DD600DAF}

jaromirk commented 1 month ago

Any errors when creating image? Looks like image was not correctly dismounted when creating.

Karl-WE commented 1 month ago

There was a bit back and forth. Had to restart the PS and check for Dism stales

No, parentdisks for Azure Stack HCI 23H2 2311 and 240 created from ISOs without issues.

I believe the Hyper-V Parent OS version plays a role here.

Karl-WE commented 1 month ago

The issue can be reproduced on WS 2022 host OS with same parent disks created in host OS 26262.

Also ran createparentdisk again for 2311 and 2408 on WS 2022.

Also here it fails booting.

As if didn't ingest unattend.xml during createparentdisk.

michbern-ms commented 1 month ago

I ran through this with parent disks from host OS 26296 and Azure Stack HCI 23H2 2408 and could not reproduce - everything worked as designed.

@Karl-WE , can you capture the unattend.xml file that is generated on your system ($PSScriptRoot\Temp\unattend.xml) and attach it to this case? I'd like to see if there is something unusual to it.

In particular, I am wondering if the PowerShell command Get-TimeZone is returning a localized name of the timezone, whereas unattend.xml (I think) needs an English name.

Karl-WE commented 1 month ago

Thankfully we can close this issue.

Tested with

the Azure Stack HCI VM creation works again, without any issue in the first boot and unattend.xml. Root cause remains unclear, possibly related to #607