Настройка автоматического перезапуска Mac mini c установленным сервером UBUNTU после отключения электричества
📌 Введение
Mac mini 2010 года (модель Macmini4,1) построен на чипсете NVIDIA MCP89. Поведение компьютера при восстановлении питания после сбоя управляется аппаратным регистром. В macOS эта функция включается галочкой «Запускать после сбоя питания» в настройках энергосбережения. Однако в Linux эта настройка не сохраняется между перезагрузками, поэтому её нужно применять автоматически при каждом старте системы.
Инструкция рассчитана на Mac mini с уже установленным и работающим Linux.
🔍 Шаг 1. Проверьте модель устройства
Откройте терминал и выполните команду:
cat /sys/devices/virtual/dmi/id/product_name
Ожидаемый результат:
Macmini4,1
Если вывод отличается, значит у вас другая модель, и адреса PCI-устройств ниже могут не подойти. В этом случае потребуется уточнить параметры для вашей модели.
⚙️ Шаг 2. Определите адрес PCI-устройства
Выполните команду, чтобы найти LPC-мост NVIDIA:
lspci | grep -i lpc
Для Macmini 4,1 вы должны увидеть примерно такую строку:
00:03.0 ISA bridge: NVIDIA Corporation MCP89 LPC Bridge (rev a2)
Запомните адрес 00:03.0 — он понадобится в следующих командах.
🧪 Шаг 3. Проверьте команду вручную
Прежде чем настраивать автозапуск, убедитесь, что команда работает. Выполните:
sudo setpci -s 00:03.0 0x7b.b=19
Если команда отработала без ошибок, значит адрес и значение регистра подходят. Можно переходить к следующему шагу.
Пояснение: команда записывает значение
0x19в регистр0x7b, включая режим «включаться автоматически после восстановления питания».
📝 Шаг 4. Создайте службу systemd
Так как настройка сбрасывается после каждой перезагрузки, нужно, чтобы команда выполнялась автоматически при старте Linux.
4.1. Создайте файл службы
sudo nano /etc/systemd/system/enable-autorestart.service
4.2. Вставьте следующее содержимое
[Unit]
Description=Enable Mac mini auto-restart after power failure
After=default.target
[Service]
Type=oneshot
ExecStart=/usr/bin/setpci -s 00:03.0 0x7b.b=19
[Install]
WantedBy=default.target
4.3. Сохраните и выйдите
Ctrl+O— сохранитьEnter— подтвердить имя файлаCtrl+X— выйти из редактора
4.4. Активируйте службу
sudo systemctl daemon-reload
sudo systemctl enable enable-autorestart.service
✅ Шаг 5. Проверьте результат
5.1. Проверка статуса службы
systemctl status enable-autorestart.service
Успешный статус — active (exited) или аналогичный.
5.2. Реальный тест с отключением питания
-
Корректно выключите сервер:
sudo shutdown -h now -
Дождитесь полного выключения.
-
Выдерните кабель питания и подождите около 30 секунд.
-
Вставьте кабель питания обратно.
Ожидаемый результат: Mac mini должен запуститься сам, без нажатия кнопки питания.
⚠️ Важные замечания
| Пункт | Пояснение |
|---|---|
| Настройка не сохраняется | Значение регистра сбрасывается при каждом выключении, поэтому нужна служба systemd |
| Разные модели — разные параметры | Не применяйте адреса и значения от других моделей Mac mini |
| Защита оборудования | Рекомендуется использовать ИБП (UPS), чтобы избежать частых сбоев питания и повреждения файловой системы |
| Сначала выключите, потом тестируйте | Перед тестом с выдёргиванием кабеля обязательно корректно выключите систему |
🔧 Если что-то не работает
-
Команда
setpciне найдена — установите пакетpciutils:# Debian/Ubuntu sudo apt install pciutils # Fedora/RHEL sudo dnf install pciutils # Arch sudo pacman -S pciutils -
Адрес устройства другой — проверьте вывод
lspci | grep -i lpcи замените00:03.0в командах и в файле службы на фактический. -
Служба не запускается — проверьте логи:
journalctl -u enable-autorestart.service -
После выдёргивания кабеля Mac mini не включается — попробуйте другое значение регистра (
0x1b,0x1a) и повторите тест. Значения могут отличаться в зависимости от ревизии платы.
📋 Краткая шпаргалка
# 1. Проверить модель
cat /sys/devices/virtual/dmi/id/product_name
# 2. Найти адрес LPC-моста
lspci | grep -i lpc
# 3. Проверить команду вручную
sudo setpci -s 00:03.0 0x7b.b=19
# 4. Создать службу
sudo nano /etc/systemd/system/enable-autorestart.service
# (вставить содержимое из Шага 4.2)
# 5. Активировать службу
sudo systemctl daemon-reload
sudo systemctl enable enable-autorestart.service
# 6. Проверить статус
systemctl status enable-autorestart.service
Готово.
Теперь ваш Mac mini под управлением Linux будет автоматически включаться после восстановления питания.