🔧 1: Убедитесь, что VirtualBox установлен
# Проверка установки VirtualBox vboxmanage --version # Если не установлен — установите:
sudo apt update
sudo apt install virtualbox virtualbox-ext-pack
💡 VirtualBox Extension Pack нужен для USB 2.0/3.0, RDP, шифрования дисков и других расширенных функций.
🔧 2: Создайте пользователя homeassistant (если ещё не создан)
sudo adduser homeassistant
Добавьте его в группу vboxusers, чтобы он мог управлять VM (если в будущем захотите запускать их от его имени):
sudo usermod -aG vboxusers homeassistant
⚠️ Но запускать GUI-VM от homeassistant нельзя, если он не вошёл в графическую сессию. Поэтому всё будем делать от user.
🔧 3: Проверьте и настройте VM HomeAssistant
# 1. Создаём VM с именем "HomeAssistant"
sudo -u user VBoxManage createvm --name "HomeAssistant" --register
🔧 4: Настраиваем основные параметры
sudo -u user VBoxManage modifyvm "HomeAssistant" \
--memory 8192 \
--cpus 2 \
--firmware efi \
--boot1 disk \
--nic1 bridged \
--bridgeadapter1 enp3s0 \
--vram 128 \
--usb on \
--usbehci on \
--clipboard bidirectional \
--draganddrop bidirectional
✅ Это одна команда, разбитая на строки для читаемости. Скопируйте и вставьте целиком в терминал.
🔧 5: Добавляем SATA контроллер (обязательно для HAOS)
sudo -u user VBoxManage storagectl "HomeAssistant" --name "SATA Controller" --add sata --controller IntelAHCI
🔧 6: Прикрепляем ваш .vdi-образ как основной диск
sudo -u user VBoxManage storageattach "HomeAssistant" \
--storagectl "SATA Controller" \
--port 0 \
--device 0 \
--type hdd \
--medium /home/user/haos/haos_ova-16.3.vdi
✅ Это одна команда, разбитая на строки для читаемости. Скопируйте и вставьте целиком в терминал.
🔍 Проверьте, что VM существует и VDI прикреплён:
sudo -u user VBoxManage showvminfo "HomeAssistant" | grep -E "(Memory|CPU|Firmware|NIC|USB|VRAM)"
🔧 7: Проверьте регистрацию VM
sudo -u user VBoxManage list vms
Вы должны увидеть что-то вроде:
"HomeAssistant" {12345678-1234-1234-1234-123456789abc}
Если вы видите её — значит, VM успешно зарегистрирована.
🔧 8: Запустите VM
✅ Измените права доступа к файлу .vdi
Выполните команду:
sudo chmod 664 /home/user/haos/haos_ova-16.3.vdi
sudo chown user:user /home/user/haos/haos_ova-16.3.vdi
Это даст пользователю user полный доступ к файлу, а также позволит VirtualBox корректно работать с ним.
🔧 9: Запуск виртуальной машины
Для запуска в фоновом режиме:
sudo -u user VBoxManage startvm "HomeAssistant" --type headless
🔧 10: Дождитесь загрузки и найдите IP
Как найти IP-адрес Home Assistant после запуска?
Как только VM загрузится:
1. Откройте веб-браузер и перейдите по адресу:
👉 `http://[IP]:8123`
Где `[IP]` — это IP, который получила VM в вашей сети (через DHCP).
2. Если вы не знаете IP, можно просканировать сеть:
sudo nmap -sn 192.168.1.0/24
Найдите MAC-адрес VirtualBox (`08:00:27:...`) и соответствующий ему IP.
🔧 Шаг 7: (Опционально) Настройка автозапуска VM при загрузке системы
Если вы хотите, чтобы VM запускалась автоматически при загрузке Debian (например, как сервер):
🔧 Создайте файл сервиса:
Создайте директорию (если её нет):
mkdir -p ~/.config/systemd/user
Создайте и отредактируйте файл сервиса:
nano ~/.config/systemd/user/homeassistant.service
Вставьте следующее содержимое:
[Unit]
Description=Home Assistant
After=network-online.target
[Service]
Type=simple
User=user
Group=user
WorkingDirectory=/home/user/homeassistant
ExecStart=/home/user/homeassistant/bin/hass
Restart=always
RestartSec=3
# Установите переменные окружения, если нужно
Environment=LANG=en_US.UTF-8
Environment=LC_ALL=en_US.UTF-8
# Для работы с USB-устройствами (например, Zigbee)
# Environment=HOME=/home/kvictor
[Install]
WantedBy=default.target
Description=VirtualBox HomeAssistant VM
After=multi-user.target
✅ Объяснение ключевых параметров:
User=user— сервис запускается от имени пользователя.ExecStop=acpipowerbutton— корректное выключение (как кнопка питания), а неpoweroff— чтобы HA мог корректно завершиться.Restart=always— перезапуск при падении.ExecStartPre— проверка, что VM зарегистрирована.WantedBy=default.target— запуск при входе пользователя в сессию (даже без GUI).
✅ Перезагрузите юзерский systemd и включите сервис
systemctl --user daemon-reload
systemctl --user enable homeassistant.service
systemctl --user start homeassistant.service
systemctl --user status homeassistant.service
Теперь должно сработать!
✅ Включите linger (обязательно для автозапуска при загрузке!)
sudo loginctl enable-linger user
✅ Это позволяет systemd --user запускаться при загрузке системы, даже если пользователь не входил в сессию.
После этого Home Assistant будет запускаться автоматически при каждом включении сервера.
🔍 Проверка: Убедитесь, что сервис включен и работает
# Проверить статус
systemctl --user status homeassistant.service
# Проверить, включён ли сервис
systemctl --user is-enabled homeassistant.service
# Должно быть: enabled
# Проверить, запущен ли процесс
ps aux | grep hass
💡 Бонус: Как проверить, что linger работает?
loginctl show-user user | grep Linger
Вывод должен быть:
Linger=yes
🎉 Теперь Home Assistant будет запускаться автоматически при загрузке сервера — как полноценный системный сервис.
🎉
✅ Перезагрузите сервер и проверьте
sudo reboot
После перезагрузки:
- Подождите 1–2 минуты — HAOS загружается медленно.
- Подключитесь к HA через браузер:
http://<IP-сервера>:8123 - Проверьте, что VM запущена:
sudo -u user VBoxManage list runningvms
Вы должны увидеть:
Comments powered by CComment