canonical / multipass

Multipass orchestrates virtual Ubuntu instances
https://multipass.run
GNU General Public License v3.0
7.87k stars 651 forks source link

[Windows/Arm] Multipass fails to create a Hyper V Gen2 VM #2905

Open jhueppauff opened 1 year ago

jhueppauff commented 1 year ago

Describe the bug When running multipass launch I get the following error

launch failed: The following errors occurred:
prosperous-saury: timed out waiting for response`

When looking in HyperV it looks like there is an issue with the image or boot loader.

image

The VM is created as Gen 2 VM. Gen 1 is not available. Might be related to Windows 11 on ARM (might be quite an edge case at the moment ;-))

To Reproduce How, and what happened?

  1. multipass launch

Logs

[prosperous-saury] [2776] Cmdlet: 'New-VM -Name prosperous-saury -Generation 2 -VHDPath "C:/ProgramData/Multipass/data/vault/instances/prosperous-saury/ubuntu-22.04-server-cloudimg-amd64.vhdx" -BootDevice VHD -SwitchName $switch.Name -MemoryStartupBytes 1073741824' 
[prosperous-saury] [2776] Cmdlet: 'Set-VMFirmware -VMName prosperous-saury -EnableSecureBoot Off'
[prosperous-saury] [2776] Cmdlet: 'Set-VMProcessor -VMName prosperous-saury -Count 1'
[prosperous-saury] [2776] Cmdlet: 'Add-VMDvdDrive -VMName prosperous-saury -Path "C:/ProgramData/Multipass/data/vault/instances/prosperous-saury/cloud-init-config.iso"'
[prosperous-saury] [2776] Cmdlet: 'Set-VMMemory -VMName prosperous-saury -DynamicMemoryEnabled $false'
[prosperous-saury] [2776] Cmdlet: 'Set-VMNetworkAdapter -VMName prosperous-saury -StaticMacAddress "52:54:00:f4:cf:b3"'
[prosperous-saury] [2776] Cmdlet: 'Start-VM -Name prosperous-saury'
[prosperous-saury] Waiting for SSH to be up

Additional info

sharder996 commented 1 year ago

Hey @jhueppauff,

The issue is that Multipass uses images with a kernel compiled for amd64 which isn't going to work on the ARM architecture.

jhueppauff commented 1 year ago

Is there any support planned for ARM on Windows?

sharder996 commented 1 year ago

Multipass doesn't look at the host architecture and the use of amd64 images is hardcoded right now. Unfortunately, we don't have any plans at the moment to change this either.