Подробный гайд: Откат системы через GRUB в ALT Atomic

Откат системы в ALT Atomic через GRUB: загрузка снапшотов Btrfs, восстановление после сбоев, ручная и автоматическая настройка snapper

2026.05.14                  


Подробный гайд: Откат системы через GRUB в ALT AtomicПодробный гайд: Откат системы через GRUB в ALT Atomic

Важно:

ALT Atomic построен на базе транзакционной модели обновлений с использованием Btrfs, snapper и grub-btrfs. Данный гайд описывает стандартный механизм отката, применяемый в этой сборке. Если ваша система использует альтернативный стек (например, ostree или кастомную схему субтомов), шаги могут отличаться. Всегда сверяйтесь с официальной документацией ALT Linux.


1. Как работает откат в ALT Atomic

  • Система хранит корневую ФС на Btrfs.
  • При каждом обновлении автоматически создаётся снапшот (снимок состояния) через snapper.
  • Загрузчик GRUB настраивается так, чтобы отображать доступные снапшоты в меню загрузки.
  • Откат = загрузка предыдущего снапшота и назначение его активным состоянием системы.

2. Предварительные условия

Перед откатом убедитесь, что:

  1. Корневая ФС смонтирована как Btrfs (df -T / или btrfs filesystem show /).
  2. Установлены и активны пакеты: snapper, grub-btrfs (или grub2-btrfs), grub2.
  3. Снапшоты создаются автоматически (проверка: sudo snapper list).
  4. У вас есть доступ к консоли восстановления или Live-USB (на случай, если GRUB не загрузится).

3. Способ 1: Автоматический откат через меню GRUB (рекомендуемый)

Шаг 1. Перезагрузите систему

sudo reboot

Шаг 2. В меню GRUB выберите расширенные параметры

  • Если меню GRUB скрыто, удерживайте Shift (BIOS) или Esc (UEFI) при загрузке.
- Найдите пункт:
  ALT Atomic (Advanced options)

или

  ALT Atomic (snapshots)

Шаг 3. Выберите нужный снапшот

  • В списке будут записи вида:
  ALT Atomic, with Linux ... (snapshot #42)
  • Номера и описания соответствуют выводу snapper list.
  • Выберите снапшот, созданный до проблемного обновления, и нажмите Enter.

Шаг 4. Проверьте работу системы

  • Система загрузится в состояние выбранного снимка.
  • Убедитесь, что проблема устранена, службы работают, данные на месте.

4. Способ 2: Ручной выбор снапшота в GRUB (если меню снапшотов отсутствует)

Шаг 1. В GRUB нажмите e на основной загрузочной записи

Откроется редактор параметров ядра.

Шаг 2. Найдите строку, начинающуюся с linux или linuxefi

В ней будет параметр root=.

Добавьте или измените rootflags:

rootflags=subvol=@/.snapshots/<НОМЕР>/snapshot

Пример:

linux /boot/vmlinuz-... root=UUID=xxxx-xxxx ro quiet splash rootflags=subvol=@/.snapshots/38/snapshot

Точный путь зависит от схемы субтомов. В ALT Atomic по умолчанию используется @/.snapshots/N/snapshot. Проверить можно через sudo btrfs subvolume list /.

Шаг 3. Загрузитесь

Нажмите Ctrl+X или F10.

Шаг 4. После загрузки закрепите откат

sudo snapper rollback <НОМЕР>
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo reboot

Теперь система будет загружаться в этот снапшот по умолчанию.


5. Пост-откат: что сделать после возврата

1. Заблокируйте проблемный пакет (если откат вызван обновлением конкретного ПО):
   sudo apt-mark hold <имя-пакета>
2. Очистите старые снапшоты (освободите место):
   sudo snapper delete <старый_номер>
3. Проверьте целостность Btrfs:
   sudo btrfs scrub start /
   sudo btrfs scrub status /

6. Особенности и ограничения ALT Atomic

Аспект Примечание
/home и /var Обычно не входят в снапшоты. Откат не затрагивает пользовательские файлы, логи, БД.
snapper конфигурация Настройки в /etc/snapper/configs/root. Автоудаление снапшотов регулируется TIMELINE_* и NUMBER_*.
grub-btrfs Демон grub-btrfsd должен быть активен: sudo systemctl enable --now grub-btrfsd.
UEFI Secure Boot Может потребовать переподписи ядра после отката, если используется кастомное ядро.
Контейнеры/VM Если система работает в виртуальной машине, убедитесь, что образ диска не использует thin provisioning с кэшированием на уровне гипервизора.

7. Устранение типичных проблем

Симптом Решение
GRUB не показывает снапшоты sudo systemctl restart grub-btrfsd, проверьте journalctl -u grub-btrfsd
Ошибка mount: wrong fs type при ручном выборе Убедитесь, что в rootflags указан существующий субтом. Проверьте через sudo btrfs subvolume list /
После snapper rollback система всё равно грузит старую версию Обновите GRUB: sudo grub2-mkconfig -o /boot/grub2/grub.cfg и проверьте default в /boot/grub2/grubenv
Нет места на Btrfs Удалите ненужные снапшоты: sudo snapper cleanup или sudo snapper delete <id>

8. Полезные команды

# Список снапшотов
sudo snapper list

# Просмотр файлов в снапшоте
sudo snapper status <id1>..<id2>

# Откат с подтверждением
sudo snapper rollback <id>

# Перестроить меню GRUB
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

# Проверить активный субтом
findmnt -n -o SOURCE,TARGET,FSTYPE,OPTIONS /

Заключение

ALT Atomic спроектирован для безопасного отката без потери данных. Если вы регулярно обновляете систему, механизм snapper + grub-btrfs позволяет вернуться к рабочей версии за 2–3 клика. При возникновении нестандартных ситуаций используйте Live-USB ALT Linux для ручного монтирования субтомов и восстановления через btrfs subvolume set-default.