背景
我在飞牛 NAS 上一直运行着 Home Assistant,为了测试和备份的目的,我想把虚拟机迁移到 VMware。飞牛 NAS 本质上是基于群晖 DSM 的定制系统,因此它的虚拟机镜像和群晖的虚拟化机制高度相关。
我直接从飞牛 NAS 的虚拟机路径中复制了homeassistant.qcow2文件,准备在 VMware 中使用。镜像文件大小确认无误,保证了完整性。
问题与分析
启动时出现 “booting synology”
迁移到 VMware 后,虚拟机启动时显示 “booting synology”,没有直接进入 Home Assistant。
原因分析:
飞牛 NAS 的虚拟机镜像在最前面写入了群晖 DSM 的启动引导(Synology Loader)。
VMware 的 BIOS 启动模式无法识别这个引导程序,因此显示 “booting synology” 并卡住。
解决方法:
将 VMware 虚拟机启动模式改为 UEFI。
UEFI 会直接读取 Home Assistant OS 的 EFI 分区启动文件,绕过了群晖引导段。
这一操作成功后,虚拟机能够进入 Home Assistant 系统界面。
网络问题:IPv4 显示 no address
迁移后启动,发现 Home Assistant 显示 IPv4: no address,即没有获取到 IP。
原因分析:
在飞牛 NAS 上,我之前为 Home Assistant 配置了静态 IP。
VMware 下虚拟网卡名称和驱动类型发生变化(飞牛可能用 VirtIO,VMware 默认可能是 E1000/VMXNET3),网卡名变为enp2s1。
Home Assistant 的旧静态 IP 配置绑定的是原来的网卡名/驱动,导致无法生效。
解决方法:
1、先查看网卡名称:
ha network info
确认网卡名为 enp2s1。
2、临时使用 DHCP 获取 IP:
ha network update enp2s1 --ipv4-method auto
3、设置静态 IP(如果需要保持固定 IP):
ha network update enp2s1 --ipv4-method static --ipv4-address 192.168.1.50/24 --ipv4-gateway 192.168.1.1 --ipv4-nameserver 8.8.8.8
4、查看网络状态确认是否成功:
ha network info
nmcli device status
执行后,网络恢复正常,Home Assistant 成功获取 IP。
注意:复制 MAC 地址虽然可以保留原有绑定,但网卡名或驱动类型的变化仍然可能导致静态 IP 配置无效。
经验总结
- UEFI 启动:迁移飞牛 NAS 虚拟机镜像到 VMware 时必须使用 UEFI 启动,否则会看到 “booting synology”。
- 网卡名变化:Linux/HA 使用可预测网卡命名,虚拟化平台变化会导致网卡名改变,需要根据新网卡名重新配置网络。
- 静态 IP:迁移后旧静态 IP 配置可能无法生效,先用 DHCP 测试网络,再重新设置静态 IP。
- MAC 地址:复制 MAC 地址有助于保留原网络绑定,但不能完全保证静态 IP 自动生效。
- 迁移流程建议:先确认 UEFI 启动和网卡识别,网络通后再恢复原有配置和自动化备份。
通过这次迁移,我对飞牛 NAS 与群晖 DSM 的虚拟机机制有了更深入理解,也掌握了 Home Assistant 在不同虚拟化平台上的网络配置要点。希望这篇实践经验能帮助有类似迁移需求的朋友少走弯路。
发表回复