XServer Live OS: rescue-система, которая знает, что делать

Сервер после обновления не поднялся. Вы загружаете rescue-образ, и перед вами приглашение командной строки и сотни утилит. Какую запускать первой? Где вообще установленная система: на RAID, на LVM, на каком из дисков? И почему она не грузится: GRUB, initramfs без нужного драйвера, опечатка в fstab?
Обычный rescue-образ даёт инструменты, но не ответы. XServer Live OS устроена наоборот: сразу после загрузки она показывает меню, где каждое действие — один пункт. Диагностика скажет, что мешает загрузке. Rescue одним нажатием откроет шелл внутри вашей системы. А установленную ОС можно запустить прямо с диска, без перезагрузки сервера.
Инструментов много, ответа нет
SystemRescue, Ubuntu Live, сборки на основе WinPE — хорошие наборы инструментов. В них есть всё, чтобы починить систему, если вы уже знаете, что сломалось. Проблема в том, что чаще всего не знаете.
Разбор незагружающегося сервера с обычным rescue-образом выглядит так:
- Найти диски и понять, что на них: собрать программный RAID, активировать LVM, найти корневой раздел.
- Смонтировать его так, чтобы ничего не испортить, а затем и /boot, и раздел EFI.
- Прочитать grub.cfg, fstab, список ядер и сверить UUID с тем, что реально есть на дисках.
- Проверить, есть ли в initramfs драйвер контроллера, на котором лежит корень.
- Для починки — примонтировать /dev, /proc, /sys и сделать chroot, не забыв про efivars, иначе grub-install на UEFI не сработает.
Каждый шаг — десяток команд и место для ошибки. Опытный инженер справится быстро, а тот, кто делает это раз в год, рискует потерять на этом часы. Мы сами много раз проходили этот путь на серверах клиентов и в итоге собрали его в одну систему.
Что такое XServer Live OS


XServer Live OS — система для обслуживания сервера, которая загружается по сети и живёт целиком в оперативной памяти. На диски она ничего не пишет, пока вы сами не попросите. Запустить её можно из панели управления: достаточно выбрать Live OS в меню загрузки сервера.
Live OS состоит из двух ступеней:
- Базовая Live OS — маленькая система на BusyBox. Она загружается за секунды и сразу открывает меню на экране сервера. В ней уже есть всё для диагностики, восстановления и запуска установленной ОС.
- Полная Live OS — Debian 13 с systemd и apt. Около 150 МБ скачиваются прямо в память по одному пункту меню. Она нужна, когда не хватает инструментов: поставить пакет, починить Windows, перенести сервер.
Между ступенями можно переключаться сколько угодно раз без перезагрузки сервера: команда live переходит в полную, base возвращает к меню.

Работа начинается с базовой Live OS: оттуда одна команда ведёт в полную, а один пункт меню запускает вашу систему с диска.
Меню: всё главное на одном экране


Вместо пустого приглашения командной строки Live OS начинается с меню. Каждый пункт выбирается одной клавишей, а под ним в две строки написано, что именно произойдёт. Всё, что может что-то изменить, спрашивает подтверждение кнопками Yes и No.
| Клавиша | Пункт | Что делает |
|---|---|---|
| 1 | Server configuration | Модель, серийный номер, процессор, модули памяти, контроллеры, диски, сетевые порты с MAC-адресами |
| 2 | Disks and health | Каждый диск, в том числе за RAID-контроллером: здоровье, температура, наработка |
| 3 | Boot the installed OS | Находит систему на дисках и запускает её без перезагрузки |
| 4 | Diagnose the installed OS | Объясняет, почему система может не загружаться, ничего не меняя |
| 5 | Rescue the installed OS | Открывает шелл внутри установленной системы (chroot) |
| 6 | Install an operating system | Устанавливает ОС, выбранную в панели по QR-коду |
| L | Switch to the full Live OS | Загружает полную Live OS на Debian |
| S | Open a shell | Открывает командную строку со списком команд Live OS |
| P | Reboot or power off | Перезагружает или выключает сервер |
Пока вы читаете меню, Live OS уже собирает сведения о железе в фоне. Поэтому первые два пункта обычно открываются сразу, без ожидания опроса дисков.
Диагностика: что сломалось и что с этим делать


Пункт Diagnose проверяет всё, что стоит между включением сервера и работающей системой, и пишет по каждому пункту вердикт: OK, WARN (стоит посмотреть) или FAIL (именно это мешает загрузке). Рядом с каждой проблемой написано, чем её исправить.
Диагностика только читает. Файловые системы монтируются без воспроизведения журнала, программный RAID собирается в режиме только для чтения, а по завершении всё отмонтируется. Запускать её можно сколько угодно раз и без риска.
Для Linux проверяется:
- режим загрузки установленной системы против режима прошивки (BIOS или UEFI);
- GRUB в MBR или загрузчик на разделе EFI и запись о нём в прошивке;
- grub.cfg и fstab: все ли UUID, на которые они ссылаются, есть на сервере;
- ядра, их initramfs и модули, а также есть ли в initramfs драйвер контроллера, на котором лежит корень;
- состояние файловых систем и свободное место;
- сетевые настройки системы против портов сервера и адреса, который ему выдан.
Для Windows — загрузочный код и активный раздел или bootmgfw.efi с записью в прошивке, куда указывает BCD, запускает ли Windows драйвер своего дискового контроллера, флаг «грязного» NTFS и гибернация (быстрый запуск). Для самого сервера — видны ли диски, их здоровье по SMART и состояние программного RAID.
Так выглядит отчёт по системе, которую перенесли на сервер с другим RAID-контроллером (пример):
Linux: Debian GNU/Linux 12 (bookworm) on sda2
[ OK ] UEFI loader on the ESP (sda1): grubx64.efi, shimx64.efi.
[ OK ] fstab: all 3 entries are on this server.
[ OK ] Default entry: Debian GNU/Linux
[FAIL] initrd.img-6.1.0-26-amd64 lacks megaraid_sas: the kernel will not
find the root disk. Rebuild it with the driver (rescue).
Summary: 1 problem(s) that keep it from booting, 0 warning(s)
Без диагностики такая система просто останавливается на загрузке с невнятной ошибкой про корневой раздел. С ней причина и способ починки видны сразу: зайти в rescue и пересобрать initramfs с нужным драйвером.
Восстановление в одно нажатие


Пункт Rescue делает всю подготовку сам и открывает шелл уже внутри вашей системы. Он:
- Собирает программный RAID, даже если массив создавался на другой машине, и активирует LVM.
- Находит корневую файловую систему: ext4, XFS или Btrfs, в том числе в подтоме.
- Монтирует её вместе с остальными разделами из fstab: /boot, раздел EFI.
- Подключает /dev, /proc, /sys и переменные UEFI, чтобы внутри работали grub-install и efibootmgr.
- Открывает шелл в chroot.
Дальше вы работаете со своей системой как обычно: переставляете GRUB, пересобираете initramfs, правите fstab или сбрасываете пароль. После exit Live OS сама отмонтирует всё в правильном порядке, чтобы изменения точно легли на диск.
Если базовая Live OS не справится с файловой системой, она предложит перейти в полную. Rescue там запустится сам, на той же консоли. Для Windows в полной Live OS есть отдельная утилита win-rescue. Она без запуска Windows чинит типичные причины ошибки INACCESSIBLE_BOOT_DEVICE, повреждённый BCD и зависшие обновления, а перед любой правкой делает резервную копию реестра.
Запуск установленной ОС без перезагрузки

Пункт Boot the installed OS находит Linux на дисках и запускает его прямо из Live OS, без перезагрузки сервера. Он читает конфигурацию GRUB, выбирает ту же запись, что выбрал бы сам GRUB, и стартует её ядро с теми же параметрами через kexec. Перед запуском меню показывает, что именно загрузится: запись, ядро, initramfs и командную строку.
Это полезно в двух ситуациях:
- Сломан только загрузчик. Система цела, но GRUB или запись в прошивке потеряны. Сервер можно вернуть в работу сразу, а загрузчик починить потом, из работающей системы.
- Обслуживание закончено. Вместо перезагрузки с долгой проверкой оборудования, которая на серверах идёт минутами, система стартует сразу.
Тем же способом полная Live OS возвращается к базовой по команде base. Windows так запустить нельзя: её стартует только прошивка. Если на дисках Windows, Live OS скажет об этом и предложит перезагрузку.
Железо и диски без специальных утилит


Server configuration показывает конфигурацию сервера на одном экране. Память описана так, как её заказывают: «32 GB · 2x 16 GB DDR4 2400». Для каждого сетевого порта его MAC-адрес, для контроллеров — модель и настроенные RAID-тома. На виртуальном сервере всё короче: ядра, объём памяти и диски.
Disks and health рассказывает про каждый диск, в том числе про те, что спрятаны за аппаратным RAID-контроллером Dell PERC или HP Smart Array. Обычно для этого нужны утилиты производителей, здесь — нет. Для каждого диска видны модель, объём, тип (HDD, SSD, NVMe), температура и два числа, которые понятны без расшифровки SMART:
- здоровье в процентах — «health 93%» вместо сырых атрибутов износа;
- наработка в годах и днях — «4y 119d» вместо 37 896 часов.
Изношенный SSD и диск, который сам сообщает о проблеме, помечены сразу. Те же данные учитывает диагностика: иногда система не грузится просто потому, что умирает диск.
Установка ОС по QR-коду

Переустановить систему можно, не уходя с консоли сервера. Пункт Install an operating system показывает QR-код прямо в окне меню:
- Вы сканируете код телефоном — открывается диалог установки в панели для именно этого сервера.
- Выбираете систему и параметры.
- Live OS замечает задание в течение нескольких секунд и сразу его выполняет.
Если вы подключены по SSH, рядом с QR-кодом есть кликабельная ссылка. Так же по QR-коду наши инженеры запускают инвентаризацию железа новых серверов.
Для тех, кто привык к консоли


Меню ничего не запирает. Клавиша S открывает шелл, и в его шапке сразу перечислены команды Live OS. Та же шапка встречает при входе по SSH, в базовой и в полной Live OS:
menu the console menu
live switch to the full Live OS
local-boot boot the installed OS
diagnose check why the installed OS does not boot
rescue mount the installed OS and chroot into it to repair it
hardware server configuration; hardware disks: disk health
Каждый пункт меню — это обычная команда. Её можно запустить вручную, например передать rescue нужный раздел или посмотреть, что загрузит local-boot -n, ничего не запуская.
В полной Live OS доступен весь Debian: недостающий инструмент ставится через apt прямо в память. В отличие от образов «на все случаи жизни», вам не нужно заранее скачивать гигабайты утилит: ставится только то, что нужно сейчас.
Чем Live OS отличается от обычного rescue-образа
Обычный rescue-образ — это набор инструментов для того, кто знает, что делать. Live OS сама делает то, что инженер повторяет на каждом незагружающемся сервере.
| Задача | Обычный rescue-образ | XServer Live OS |
|---|---|---|
| Загрузить на сервере | Скачать ISO и подключить его к серверу | Выбрать Live OS в меню загрузки в панели |
| Начать работу | Пустая командная строка или рабочий стол | Меню с описанием каждого действия |
| Понять, почему ОС не грузится | Вручную: логи, конфиги, загрузчик | Диагностика с вердиктом и подсказкой, что делать |
| Войти в систему для починки | RAID, LVM, монтирование и chroot вручную | Один пункт меню |
| Запустить ОС с диска | Перезагрузка и проверка оборудования | Сразу, без перезагрузки |
| Проверить диски за RAID-контроллером | smartctl с нужными ключами или утилиты производителя | Здоровье и наработка в общем списке |
| Переустановить ОС | Отдельный образ установщика | QR-код в меню |
| Недостающий инструмент | Только то, что уже есть в образе | apt в полной Live OS |
SystemRescue и похожие образы остаются хорошим выбором для домашнего компьютера и для задач, для которых нужен графический интерфейс. Live OS сделана для серверов: для консоли, SSH и ситуации, когда сервис лежит и каждая минута на счету.
Не только для наших серверов
Live OS — основа для других наших инструментов. На ней работает reloca.to — утилита, которая переносит установленный Linux-сервер на другую машину по сети. Обе машины на время переезда загружены в Live OS, поэтому диски старого сервера никто не меняет во время копирования.
Для серверов за пределами нашей сети есть ISO-образ: xserver-live.iso, около 270 МБ. В нём та же Live OS с драйверами и прошивками под чужое железо:
- виртуальные машины Hyper-V, Xen и VMware;
- сетевые карты Realtek, Intel, Broadcom, QLogic и других производителей;
- загрузка с CD, флешки или виртуального носителя в BIOS- и UEFI-режиме.
Образ целиком читается с носителя, поэтому сеть для загрузки не нужна. Адрес по умолчанию берётся по DHCP, статический можно задать в меню загрузчика. Secure Boot на время работы с образом нужно выключить.
С чего начать
Если сервер не загружается:
- В панели управления выберите Live OS в меню загрузки сервера и перезагрузите его.
- Откройте консоль сервера или подключитесь по SSH и введите
menu. - Запустите диагностику (пункт 4). Она ничего не меняет и покажет, что именно не так.
- Исправьте проблему в rescue (пункт 5) или сразу запустите систему с диска (пункт 3).
Если диагностика показала что-то непонятное, пришлите отчёт в поддержку. По нему мы быстрее поймём, что происходит, чем по скриншоту зависшей загрузки.
