I’m going to install Home Assistant on Windows using VirtualBox . It may sound complicated, but it is not and I will show you everything step-by-step.
I decided to move my Home Assistant installation from raspberry to a desktop PC to test is it going to be faster and more stable. It doesn’t matter If you are getting started with a fresh Home Assistant installation or just like me you want to migrate to a more powerful machine. This guide is tailored for you!
Home Assistant on Windows 10
I’m will use VirtualBox on Windows 10, but you can use Linux or MacOS as your VirtualBox host and all of the steps that you will see in this video will be pretty much the same.
So let’s go:
Download and install VirtualBox for your OS
Nothing fancy here, just go to VirtualBox website then download and install the package for your Operating System. In my case this is Winodws.
If you have any difficulties with this step check my video above for detailed instructions.
Download Home Assistant Image file
Open the following link https://www.home-assistant.io/hassio/installation/ and download the VDI file under virtual appliance bullet.
This is the virtual disk image that contains everything we need to start our Home Assistant on Windows.
Configure and install Home Assistant
Start the VirtualBox application that you downloaded earlier.
Click on the new button.
After that type a name for you virtual machine and choose either Other Linux 32-bit or 64-bit depending of your system.
On the next dialog select the amount of RAM that you want to dedicate for this virtual machine. Absolute minimum should be 512MB.
The good think about this setting is that you can increase or decrease it at later stage if there is such need.
For the hard disk select the “Use an existing virtual hard disk file”.
On the next dialog click on the “Add” button
To add the VDI file just click Add.
At the end you should see something similar like the picture below.
Your final step here is to click the “Create” button.
Before you click “Start” button
Next we have to change some settings in VirtualBox to run our Home Assistant on Windows.
Click on the gear-wheel with the label “Settings” inside VirtualBox window.
In the “System” section under “Motherboard” tab click on “Enable EFI” option.
In the “System” section under “Motherboard” tab click on “Enable EFI” option.
Then click on the Network tab and change from Nat Network to Bridged Adapter – this will allow using your home network IP.
Of course you can increase your virtual processors/cores if your host system allows that, but I don’t see point to put here more than 2 processor. You can find this section again in System -> Processors.
When you are ready with everything click “OK”
Now you can freely click “Start” button (BIG green arrow pointed at right) to start Home Assistant on Windows as a Virtual Machine.
Performing one of the most important task
Now it is time to perform one of the most important parts. Without doing it you are putting the whole installation at risk, so be very careful when you are executing this.
Just look below this text and smash the “Subscribe” button to get my free Getting Started Smart Home Guide and to receive my articles every week via email. Thank you. 🙏
Setting a static IP from Home Assistant (Optional Step)
This step is optional. It is recommended if you are using AdGuard. If you don’t know what AdGuard is – check my video article about it.
If you don’t have plans to install AdGuard you can skip this for now.
If everything is OK with the previous step after you start the virtual machine you should be greeted by a prompt.
Login as root (no password needed)
At the prompt “ha >” as instructed type:
From here you can use the nmcli configuration tool, just type the following to edit the connection:
nmcli con edit "HassOS default"
Next will show you the ipv4 properties of this connection.
nmcli> print ipv4
To add your static IP address (select ‘yes’ for manual method);
Be careful here! You should replace FREE_IP_FROM_YOUR_NETWORK in the command below with an actual IP from your subnet that is not already taken by another device.
And don’t forget to add ‘/24’, so it should looks like something like that 192.168.0.15/24 at the end.
nmcli> set ipv4.addresses FREE_IP_FROM_YOUR_NETWORK/24
Next, set the DNS server and the local gateway.
Be careful here as well! Usually the DNS and the Gateway in one home network are your router internal IP address, so you should replace YOUR_ROUTER_IP in the commands below with the actual IP of your router.
nmcli> set ipv4.dns YOUR_ROUTER_IP nmcli> set ipv4.gateway YOUR_ROUTER_IP nmcli> save nmcli> quit
After that restart you Virtual Machine.
To test if everything is OK open in a new browser/tab the configured by you address on port 8123. For example http://192.168.0.15:8123.
Using Home Assistant Snapshot for migration (Optional Step)
I’m going to use Home Assistant Snapshot functionality to migrate all of my data and configurations from my Raspberry Pi (old machine) to this new fresh installation. If you don’t have anything to migrate from – go directly to the next step/heading.
I will open my Home Assistant installation on the Raspberry Pi (old machine). And I will go to “Supervisor” in the lower left part of the screen and then on “SNAPSHOTS” tab.
Create a full snapshot here or use already existing one if you have such.
Then click on you snapshot that you want to migrate and choose “DOWNLOAD SNAPSHOT” button.
Next go to your new HOST (where you want to migrate everything) and again click on “Supervisor” button, but before you click the Snapshots – click on the “ADD-ON STORE”.
Search and install “Samba” add-on.
Open and install this add-on. Don’t forget to add username and password under Config section. You will need them to access the snapshot that we created earlier.
Click “SAVE” when you update your Samba Configuration.
After you save your changes scroll up a bit and click on the “START” button.
Now you have to open that shared folder. Depending of your Operating system you can do one of the following:
Access shared folder from Windows
In Windows you can press WINDOWS + R buttons simultaneously and in the Run dialog you have to enter:
In my case this is
Access shared folder from macOS
To open a shared folder in macOS, open the Finder and press COMMAND + k, then type something like smb://10.0.0.15 and don’t forget to change the IP.
Access shared folder from Linux
If you are using Linux the universal way is from Terminal using smbclient by typing the following:
smbclient //YOUR_NEW_HA_IP/ -U <user>
Remember to login successfully you have to enter the credentials that you configure in the samba add-on within Home Assistant.
When you open the shared folder find “backup” folder and paste inside the snapshot that you downloaded from your old machine.
paste inside the snapshot that you downloaded from your old machine.
Head back to Supervisor > Snapshots menu in the Home Assistant of your new/target machine and click “refresh” button in the upper right corner.
You should see your snapshot under the “Available snapshot” section.
Click on it and then select “RESTORE SELECTED”.
The only thing left is to wait a bit for the process to finish. It can take up to 20min so be patient please.
Auto Start VirtualBox and Home Assistant after Windows restart
I’m going to configure VirtualBox to automatically start Home Assistant when windows reboots.
Go to your VirtualBox window and right click on your Home Assistant virtual machine and select “Create Shortcut on Desktop”
Then open windows explorer or Run dialog (WINDOWS + R) and type:
this will open a system startup folder in which everything pasted there will try to auto start after restarting Windows.
And we are going to do exactly that. Just paste the created shortcut of your Home Assistant on Windows virtual machine inside this system startup folder.
This is not enough for auto starting VirtualBox and HomeAssistant, because your windows user have to successfully login in order the things inside the startup folder to be executed.
We will fix that “issue” in the next section.
Auto Log in Windows after restart
I’m going to enable auto login feature in Windows, so when the computer restarts our account will be automatically logged in.
And the VirtualBox will auto start Home Assistant virtual machine if you execute the previous step in this tutorial.
Press WINDOWS + R and type
In the window that will be displayed uncheck the “User must enter a username and password to use this computer.”
Then click OK and enter your user password twice .
Set your Windows Power Options correctly
Don’t forget to set your power options right to avoid unwanted sleep of your computer after several working hours.
To check if everything is alright open windows control panel and search for “power options” and click on “Change power-saving settings” and then change when the computer sleeps. Last find the option “Put the computer to sleep” and from the dropdown menu select – Never.
Question for You
What kind of device are you using for your main home server?
Raspberry PI, some kind of desktop or laptop or maybe enterprise grade server.
If you are feeling lazy like me these days just put one word in the comments like: raspberry or desktop and I will know for what are you talking about.
That doesn’t mean that you cannot put the full configuration specification if you wish. It will be interesting to see that as well.
Support my Work
Any sort of engagement on this site does really help out a lot with the Google algorithm, so make sure you hit the subscribe If you enjoy this article.
Also feel free to add me on Twitter by searching for @KPeyanski.
You can find me on my Discord server as well. This is the invite link.
I really hope that you find this information useful and you now know how to install Home Assistant on Windows using VirtualBox .
Thank you for watching, stay at home, stay safe and see you next time.