Home Assistant (HAOS Generic x86-64) PC reboot loop when no monitor is connected

Hello,
I successfully setup a Home Assistant PC using generic X86-64 HAOS direct install on the PC (no windows or VM)
Everything went great, except when I unplug the monitor (or switch channels on my KVM) the HAOS goes into a reboot loop. My research so far says this is due to it detecting video loss? Since there is very little to do with the PC iteself, most everything is done through the web interface or app, there is very little need for a dedicated monitor on the HAOS…
Is there a way to make my HAOS system ignore the video loss and run headless without causing a reboot loop?
Thanks in advance to anyone who can offer me advice!

Have you looked through the logs for clues? HAOS should be able to run headless without any problems.

I am very new to HAOS, so no, not familiar with logs, I will look into that.
But I am pretty sure video loss is the issue, because if I boot with the monitor connected it is completely stable, if I unplug the monitor (or boot without the monitor connected) I get an endless boot loop.

Yeah, that’s why I am curious about the logs :slight_smile: Settings → System → Logs → click the three dots and select show raw logs. Find out what it says before a boot loop.

Also check your BIOS.
Some BIOSes have watchdogs to see if a system has started up correctly and no monitor output might be a trigger for such a watchdog to reboot the system.

Thanks for this, I will check the bios for any sort of watchdog that may be forcing reboot.

HAOS has no need for a keyboard or monitor unless you are troubleshooting.
As the others mentioned, look at other things on the host side…

So I looked at the logs, didnt see anything related to display so maybe you are right.What I am seeing is this, repeated.
2026-03-25 14:08:50.609 WARNING (Recorder) [homeassistant.components.recorder.util] The system could not validate that the sqlite3 database at //config/home-assistant_v2.db was shutdown cleanly

2026-03-25 14:08:50.632 WARNING (Recorder) [homeassistant.components.recorder.util] Ended unfinished session (id=97 from 2026-03-25 19:07:06.807389)

s6-rc: info: service s6rc-oneshot-runner: starting

s6-rc: info: service s6rc-oneshot-runner successfully started

s6-rc: info: service fix-attrs: starting

s6-rc: info: service fix-attrs successfully started

s6-rc: info: service legacy-cont-init: starting

s6-rc: info: service legacy-cont-init successfully started

s6-rc: info: service legacy-services: starting

services-up: info: copying legacy longrun home-assistant (no readiness notification)

s6-rc: info: service legacy-services successfully started

2026-03-25 14:15:13.084 WARNING (Recorder) [homeassistant.components.recorder.util] The system could not validate that the sqlite3 database at //config/home-assistant_v2.db was shutdown cleanly

2026-03-25 14:15:13.103 WARNING (Recorder) [homeassistant.components.recorder.util] Ended unfinished session (id=101 from 2026-03-25 19:13:36.871379)

Looks like your database is toast.

but when I plug in a monitor it boots up and works, all devices I setup are present, until I unplug the monitor, the the reboot loops starts.

Do you get the database warnings in the logs if you do a fresh reboot with the monitor plugged in? Anything in the logs as to why it is shutting down and rebooting?

I think I understand what is causing the db error msg. When monitor is not connected the machine goes into reboot loop (likely caused by BIOS), HAOS is being restarted before the db loads fully. (is my guess)
I booted the system with monitor connected, it remained stable, then I disconnected the monitor and the reboot loop started. The message below from the log when I did that seems to show the system restarting unexpectedly? (Ended unfinished session)

Logger: homeassistant.components.recorder.util
Source: components/recorder/util.py:563
integration: Recorder (documentation, issues)
First occurred: 3:25:03 PM (1 occurrence)
Last logged: 3:25:03 PM
Ended unfinished session (id=107 from 2026-03-25 20:22:59.268195)

After that it stays in the reboot loop, throwing the db error over and over, I think because the PC is rebooting itself before the HAOS fully loads.
I’m just guessing here, cause I am very new to HAOS.
I and struggling to figure out how to make this old HP Z230 workstation ignore video loss and stay running…

I’ve found a simple solution. If I plug in a Displayport to VGA adapter to the pc it doesn’t reboot, even if there is no monitor connected. I guess the motherboard thinks this is a monitor and doesn’t trigger the reboot. Looks like I’ll have to sacrifice an adapter to this system to keep it up and running…
If anyone knows how to actually make an HP Z230 workstation (with onboard graphics, Displayport X3) not reboot when video is lost I would be interested to know. Some BIOS setting perhaps, can’t put my finger on it.
At least this solution is working.
Thanks for your input!

Some PC’s require a monitor to be plugged in to turn on. If this is the case, you can use a dummy monitor plug

Oddly enough, I flashed the BIOS of the motherboard (with the same version BIOS that was already installed) and the rebooting stopped! IDK if it was a corrupt BIOS, or some odd setting, but its working solid now without any monitor connected.
I was pretty close to buying one of those devices to run this, glad I worked it out.
Thanks again for everyone’s input.

What hardware is this?

When the BIOS was flashed, the settings for onboard graphics may have been changed to be compatible with any graphics card plugged into the PCI bus, rather than just the onboard graphics.

Glad you got it working.

HP Z230 workstation

That does not tell me what hardware is in it.

HAOS and HA core only use VGA or XGA output, so the hardware have little influence.
VGA and XGA is old basic standards that have been supported by all graphic cards for ages.

Unfortunately HP website asks for a serial number to give you the correct hardware configuration at time of manufacture/sale, but @rogerx2100 didn’t tell us what (or if any) video card was present, or previously installed (and maybe removed prior to his acquisition), or even swapped for another, both which may have been incorrectly recorded in the BIOS and now updated as part of a re-flash process to reflect the current physical configuration.