第1节 安装 Home Assistant 操作系统
本节以 Windows + VMware Workstation 为例,介绍如何在虚拟机中安装 Home Assistant 操作系统(HAOS)。完成后,你将拥有一台运行 HAOS 的虚拟机,并能通过浏览器访问其管理界面,为第 2 节的初始化做好准备。
1. 关于 Home Assistant 的安装方式
Home Assistant 官方提供两种安装类型:
- Home Assistant Operating System(以下简称 HAOS):官方推荐。这是一个为 Home Assistant 定制的极简操作系统,集成了 Home Assistant 核心与应用(Apps)系统。可直接安装在树莓派、Mini PC 等硬件上,也可运行在虚拟机中。
- Home Assistant Container:以 Docker 容器方式运行 Home Assistant 核心。需自行准备 Linux 系统和 Docker 环境,并手动处理更新。Container 安装不含应用系统,ESPHome 需作为独立 Docker 容器与 HA 容器并列运行。
本教程中的 ESPHome 以 Home Assistant 应用的形式运行,这是入门最直接的方式,因此以 HAOS 为例展开。
HAOS 可部署在树莓派、x86-64 主机或虚拟机中。本教程选用 Windows + VMware Workstation Pro 17 的虚拟机方案:无需额外硬件,备份与回滚只需复制磁盘文件。若使用 VirtualBox、Hyper-V 等平台,操作思路一致。
如需直接安装在树莓派等单板机上,或通过容器/其他虚拟机平台安装,请参阅 Home Assistant 官方安装文档 并选择对应平台。
2. 下载 Home Assistant OS 镜像
打开 Home Assistant 官网 Windows 安装页,在 DOWNLOAD THE APPROPRIATE IMAGE 一节找到 VMware Workstation (.vmdk),点击下载。
下载得到压缩包(通常为 .zip),请解压后得到 .vmdk 文件。

3. 创建 Home Assistant 虚拟机
以下设置的具体名称和位置会因 VMware 版本而异,本教程基于 VMware Workstation Pro 17。
-
启动 VMware Workstation,选择创建新的虚拟机。
-
选择"典型(推荐)"后,进入下一步。

-
选择"稍后安装操作系统",然后选择操作系统类型为 Linux → 版本 其他 Linux 5.x 内核 64 位。


-
为虚拟机设置名称,并指定一个方便查找的存储路径,例如
E:\HA_VMware。后续替换磁盘镜像时需要回到这个目录。备注建议名称不要包含空格或中文,避免后续替换 vmdk 时文件名出现不一致问题。本教程示例使用
Home_Assistant。
-
设置虚拟磁盘大小,推荐 32 GB 以上,并选择"将虚拟磁盘存储为单个文件"。
备注此处创建的空白虚拟磁盘后续会被替换为 HAOS 镜像,因此磁盘大小不会直接生效,但保持 32 GB 是为了让 VMware 在虚拟机配置层面预留足够空间。

4. 自定义硬件配置
-
创建虚拟机完成后,点击自定义硬件。

-
调整硬件资源:
- 内存:至少 2 GB,推荐 4 GB。HA 应用装得越多越吃内存。
- 处理器:至少 2 个核心。可以适当增加核心数,以加快构建固件的速度。
- 删除"新 CD/DVD 驱动器"条目(HAOS 镜像方式不需要光盘引导)。

-
网络适配器配置为桥接模式。
桥接模式与 NAT 模式的差异两种模式都能让虚拟机联网,差异在于虚拟机在网络中的位置:
- 桥接模式:虚拟机直接挂在物理局域网上,与主机和 ESP32 处于同一子网。可通过
homeassistant.local访问 HA,后续 ESP32 设备的 mDNS 自动发现也能直接生效。 - NAT 模式:虚拟机位于 VMware 自建的子网中。需要通过虚拟机的 IP 地址访问 HA(
homeassistant.local在主机网络中无法解析)。
本教程以桥接模式为例,可直接对应后续章节的操作。若你已在使用 NAT 模式,相应调整访问方式即可。
在网络适配器选项中:
- 选择"桥接模式:直接连接到物理网络"
- 取消勾选"复制物理网络连接状态"
- 点击"配置适配器",仅勾选你实际使用的物理网卡:
- 用网线连接路由器时,勾选有线以太网卡
- 仅有 Wi-Fi 时,勾选无线网卡
- 取消勾选所有虚拟适配器(VMware Virtual Ethernet Adapter 等)和蓝牙 PAN 设备

- 桥接模式:虚拟机直接挂在物理局域网上,与主机和 ESP32 处于同一子网。可通过
5. 替换为 Home Assistant OS 磁盘镜像
VMware 在创建虚拟机时会自动生成一个空白虚拟磁盘文件(.vmdk)。HAOS 是一个完整的系统镜像,已经包含了引导和文件系统,因此我们需要把这个空白磁盘文件删掉,换成第 2 节下载的 HAOS 镜像,并启用 EFI 引导。
-
在 VMware 库中右键新建的虚拟机 → 设置 → 硬盘,记下硬盘文件的完整路径(示例:
E:\HA_VMware\Home_Assistant.vmdk)。


-
关闭 VMware(或至少关闭该虚拟机的设置窗口),用文件管理器打开上一步的目录,删除其中的
Home_Assistant.vmdk文件(即 VMware 自动生成的空白磁盘)。备注该文件名等于你为虚拟机起的名字。本教程示例为
Home_Assistant.vmdk,请以你目录下实际的文件名为准。
-
将第 2 节下载的
haos_ova_X.Y.vmdk文件复制到该目录。
-
将复制进来的
haos_ova_X.Y.vmdk重命名为上一步删除的文件完全相同的名字——本教程示例中为Home_Assistant.vmdk。注意文件名必须与
.vmx配置中引用的名字完全一致(含连字符 / 下划线 / 大小写),否则虚拟机启动时会报告找不到磁盘文件。
-
在同目录下找到
Home_Assistant.vmx文件,右键以记事本打开。在文件末尾追加一行:firmware = "efi"为什么要加 EFIHAOS 镜像构建为 EFI 引导,VMware 默认使用 BIOS 引导。若不切换为 EFI,虚拟机启动时屏幕会停在黑屏或
Operating System not found,没有进一步错误提示。

6. 启动虚拟机
-
完成上述设置后,启动虚拟机。若弹出"侧通道缓解机制"提示,点击确定即可。

-
观察 HAOS 启动过程。正常情况下屏幕会显示一系列引导日志,最终停留在
homeassistant login:提示符,此时无需登录。 -
在与虚拟机同网络的电脑浏览器访问:
http://homeassistant.local:8123首次访问需要等待首次启动时,HAOS 会从 GitHub Container Registry(
ghcr.io)下载 Supervisor 与 HA 核心镜像(约 700 MB)。在国内访问可能耗时 5-15 分钟甚至更长(网路情况差时可能需要数小时),浏览器页面会停留在“正在准备 Home Assistant”。这是正常现象,请耐心等待,不要重启虚拟机。点击“显示详细信息 (See details)”按钮,可以看到下载进度。

homeassistant.local 解析失败时如果浏览器提示"无法访问此网站",可能是 mDNS 在你的 Windows 或路由器环境下不工作。可通过 IP 地址访问,获取 IP 的两种方式任选其一:
- 在 VMware 虚拟机窗口的 HAOS 启动画面中,IPv4 addresses 一行直接显示虚拟机 IP(形如
192.168.x.x/24,取斜杠前的部分)。 - 在虚拟机窗口按 Enter 进入控制台,输入
ha network info,查看ipv4 → address字段。
浏览器访问
http://<该 IP>:8123即可。 - 在 VMware 虚拟机窗口的 HAOS 启动画面中,IPv4 addresses 一行直接显示虚拟机 IP(形如
-
等待初始化完成,浏览器会自动跳转到 Home Assistant 欢迎页。

7. 本节常见问题
- 虚拟机启动后黑屏 /
Operating System not found:未启用 EFI。返回"替换为 HAOS 磁盘镜像"的最后一步,检查.vmx中是否写入了firmware = "efi"。 - 虚拟机报"找不到磁盘文件":检查 vmdk 文件名是否与
.vmx中scsi0:0.fileName引用的名字一致(区分连字符、下划线、大小写)。 - 桥接网络下虚拟机无 IP:在 VMware 主菜单 → 编辑 → 虚拟网络编辑器 中确认 VMnet0 已桥接到正确的物理网卡。
homeassistant.local无法解析:见 6-启动虚拟机 的备用方案。- "正在准备 Home Assistant"卡住超过 30 分钟:可能是
ghcr.io镜像下载失败。可在 HAOS 控制台运行ha core logs查看具体错误,或尝试切换网络出口。