[GUIDE] Install Home Assistant OS in a VM

@JustLearning Note that I'm not the author of this guide, just trying to help. Some notes on your settings
- Guest Agent should be enabled
- Pre-Enroll keys should be disabled. That enables Secure Boot which is not supported by HAOS

The generic method is wrong because the generic image is not supported to be run in a VM. You will likely receive a unhealthy warning like this soon.
1754805086567.png
It seems like you missed the step where you import the actual HAOS OVA to the VM via qm disk import ..., attach the disk and enable it as boot option.
 
Last edited:
Do you know these situations when things just work and then don't anymore and you think you do everything exactly the same?

Update: You know those situations where you’ve tried everything a hundred times and finally decide to write a forum post—and then, a second later, it hits you what went wrong all along? Missing unxz! And qm importdisk didn’t even complain! At some point I even wondered why the disk image in Proxmox looks so small -.-

It worked the other day on my Proxmox test setup... and fails now on my real setup (different proxmox hardware).

1755182277294.png

I tried both disk images... I had it previously working with 16.0.

-rw-r--r-- 1 root root 334677436 Jul 9 16:31 haos_ova-16.0.qcow2.xz
-rw-r--r-- 1 root root 325217860 Aug 13 11:02 haos_ova-16.1.qcow2.xz

I set the boot device to scsi0.

1755182425760.png

Also I disabled "pre-enrolled keys" while creating the VM.
Deleting and re-adding the EFI disk doesn't change anything.
 
Last edited:
It looks like you didn't extract the .xz file(s) before importing. Please also make sure the disk is in the boot order in Options.
 
Thanks for posting this, got my haOS instance up and running within minutes.

Slightly off topic, but I'd like to confirm that High Availability or live migration works just fine, using haOS with Zigbee2MQTT add-on and an Ethernet connected Zigbee coordinator (SLZB-06P7 in my case).
 
@JustLearning I also created an account just to thank you and @Impact for the feedback. Thank you to the OP for creating the post but that approach did not work for me.

I was frustrated to no end to get HAOS running, and while I realize now that there were instructions on the restoring an image approach available, I would never have considered it because I thought that importing an OVA disk image was the way to approach it.

Note that I was sure to try all of the following:
  • Select q35 for machine type
  • Use OVMF
  • Disable pre-enroll keys
  • Check QEMU agent
  • Used qm import disk to add the disk to the VM
  • Was sure that I extracted the image from .xz
  • Tried BOTH the extracted qcow2 and .img images
  • Ensure the disk was selected in Hardware
  • Changed boot order of selected disk
None of these approaches worked, so I did the restore image (note that Linux Mint also has the Disks app and can restore image; it doesn't have to be plain Ubuntu).

I did in fact get the unsupported image warning that Impact cited, but this was the only approach that I was able to get working.

The one thing that I didn't try was the 'restore image' approach from live Ubuntu/Mint but try to restore the qcow2 image instead.
 
I thought that importing an OVA disk image was the way to approach it
That definitely works and I documented it here.

Since your VM works in general please take a snapshot and try to import the HAOS image like this
Bash:
wget https://github.com/home-assistant/operating-system/releases/download/16.2/haos_ova-16.2.qcow2.xz
unxz -v -T0 haos_ova-16.2.qcow2.xz
qm disk import VMIDHERE haos_ova-16.2.qcow2 STORAGEHERE
Attach the disk in Hardware, add it as primary boot option in Options and see if you can boot off of that. There is little point in running a unsupported installation method.
If you show me the boot message if it fails as well as the Hardware and Options tabs I might be able to tell you more. I like to believe that above will work for you though.
 
Last edited:
- Uncheck 'Pre-Enroll keys'
You enabled Secure Boot by enabling pre-enroll-keys. Re-create the EFI disk without it or disable it in the VM's UEFI by pressing ESC during boot.
Access Denied usually hints towards that

1759483621360.png
 
Last edited: