Режимы работы Системы

Функционирование ОС возможно в трех режимах – нормальном, в режиме восстановления и в аварийном режиме. По умолчанию при включении ПК ОС загружается в нормальном рабочем режиме, для включения других режимов необходимо добавление параметров загрузки в меню начального загрузчика.

Для работы в режиме восстановления и в аварийном режиме в общем случае нужны полномочия администратора Системы.

Для изменения параметров загрузчика нужно в начальном меню GRUB нажать клавишу E и в открывшемся редакторе вписать в параметр загрузки в строке, начинающейся с "linux /boot/vmlinuz...", например рядом с параметром quet. После этого нужно нажать клавишу F10 для загрузки ОС с указанными параметрами.

И режим восстановления, и аварийный режим являются однопользовательскими; в них невозможна одновременная авторизация нескольких пользователей, также в них не активируются сетевые интерфейсы.

Режим восстановления

В ОС есть возможность загрузки в режиме восстановления (rescue mode) без графической оболочки и необязательных сервисов. Этот режим дает шанс восстановить Систему, которая перестала загружаться в графическом режиме, например, при сбое обновления или при указании нерабочих настроек в файлах конфигурации.

Для загрузки ОС в режиме восстановления необходимо при включении Системы, как описано в п. Режимы работы Системы, загрузиться с параметром systemd.unit=rescue.target.

После такой загрузки возможен вход в Систему с помощью консольного интерфейса. Система попытается смонтировать локальные разделы обычным образом, и появится возможность изменять файлы конфигурации редактором nano или встроенным редактором текстовой оболочки mc.

Аварийный режим

Аварийный режим (emergency mode) используется для восстановления ОС или спасения данных в случаях серьезных ошибок функционирования, например, при повреждениях ФС, когда не удается войти даже в режиме восстановления.

Для загрузки Системы в аварийном режиме необходимо при включении Системы, как описано в п. Режимы работы Системы, загрузиться с параметром systemd.unit=emergency.target.

После такой загрузки возможен вход и управление ОС с помощью консольного текстового интерфейса. В аварийном режиме корневой раздел монтируется "только для чтения", другие разделы не монтируются, и сетевые интерфейсы не активируются.

Синхронизация с репозиториями

Если сбой ОС произошел во время обновления вследствие проблем с сетью или ошибок питания, есть возможность в консольном интерфейсе запустить сеть командой:

sudo systemctl start NetworkManager

При необходимости установить сетевое соединение командой nmtui и синхронизировать текущую Систему с репозиториями, приведя версии ее пакетов в соответствие с актуальными. Это можно сделать командой:

sudo dnf distrosync

Следует обратить внимание, что при такой операции могут быть удалены сторонние пакеты, установленные не из подключенных репозиториев.

Восстановление функционирования ОС

Переустановка ОС с сохранением данных

Самым быстрым и простым способом восстановления Системы является ее переустановка с инсталляционного образа с сохранением пользовательских данных. В процессе установки важно не форматировать раздел /home, где хранятся пользовательские данные. Для этого в инсталляторе ОС Хром необходимо вручную выбрать раздел /home, убедившись, что не установлен флажок "Форматировать". Таким образом, все пользовательские файлы и настройки, находящиеся в этом разделе, сохранятся, а Система будет переустановлена в оптимальном состоянии.

Это подходит в случаях, когда системные файлы повреждены, но данные пользователей остаются целыми.

Использование утилиты TestDisk

В состав ОС включена утилита TestDisk, которая предназначена для восстановления потерянных данных и восстановления разделов, если произошли ошибки файловой системы. TestDisk может быть использован в ситуациях, когда произошел сбой в работе дисков или были случайно удалены разделы. Утилита поддерживает восстановление различных файловых систем.

Для восстановления данных с помощью TestDisk:

  1. Установка TestDisk (если утилита не была предустановлена) командой:
sudo dnf install testdisk
  1. Запуск TestDisk с правами суперпользователя:
sudo testdisk
  1. Выбор диска, с которым возникли проблемы. Далее следовать пошаговым инструкциям на экране. Утилита проанализирует диск и предложит возможные способы восстановления разделов или данных.

Замена носителя и восстановление данных из резервной копии

В случае, когда носитель полностью вышел из строя и восстановление данных с помощью TestDisk невозможно, рекомендуется заменить неисправный диск на новый. После этого необходимо восстановить данные из созданных ранее резервных копий. Для этого подойдет любая созданная ранее резервная копия (например, с использованием инструментов резервного копирования, таких как rsync, Bacula или Tar). Подробнее о резервном копировании данных см. раздел Резервное копирование данных.

Ключевые шаги при замене носителя и восстановлении данных:

  • замените физический носитель (жесткий диск или SSD);
  • загрузитесь с инсталляционного образа и установите ОС;
  • после установки восстановите данные из резервной копии, скопировав их на новый носитель.

Восстановление из резервной копии позволяет минимизировать потери данных и ускоряет процесс восстановления Системы в случае серьезных сбоев.

Восстановление загрузчика GRUB2 (MBR и EFI)

В случае повреждения загрузочной записи GRUB2 может потребоваться её восстановление вручную. Для выполнения восстановления рекомендуется использовать Live-образ ОС РОСА или совместимого дистрибутива Linux с доступом к сети и средствам управления разделами (например, GParted).

Порядок восстановления загрузчика:

  1. загрузка с Live-носителя (USB или DVD) с возможностью запуска в Live-режиме (без установки ОС);
  2. определение корневого раздела и загрузочного диска ОС. Для этого рекомендуется воспользоваться утилитой fdisk или графическим интерфейсом GParted, доступным в Live-среде. Утилита fdisk выводит список разделов командой:
fdisk -l

В результате будет выведен список всех доступных дисков и разделов. Требуется определить:

  • корневой раздел, на котором установлена ОС РОСА (обычно это раздел типа Linux, например /dev/sda2);
  • загрузочный диск, на который необходимо установить загрузчик GRUB2 (обычно это физический диск, например /dev/sda).

Полученные значения будут использоваться в дальнейших командах по монтированию и установке загрузчика:

  1. Монтирование Системы:
sudo -i
mkdir /chroot
sudo mount /dev/sdXX /chroot

где sdXX необходимо заменить на имя корневого раздела.

При использовании файловой системы BTRFS:

sudo mount -o subvol=root /dev/sdXX /chroot

где sdXX необходимо заменить на имя корневого раздела.

  1. Монтирование необходимых виртуальных файловых систем и конфигураций:
for i in dev proc sys etc/resolv.conf; do mount --bind /$i\ /chroot/$i; done

Если используется EFI-загрузка, необходимо также смонтировать переменные прошивки:

sudo mount --bind /sys/firmware/efi/efivars\ /chroot/sys/firmware/efi/efivars
  1. Переход в chroot-окружение командой:
chroot /chroot
  1. Монтирование всех разделов из fstab:
sudo mount -a

Это обеспечит доступ к дополнительным разделам, включая /boot и /boot/efi, если таковые имеются.

  1. Установка загрузчика GRUB2 в главный загрузочный сектор:
sudo grub2-install /dev/sdX

где sdX необходимо заменить на имя загрузочного диска.

  1. Обновление конфигурации загрузчика. После установки необходимо сгенерировать конфигурационный файл GRUB2:
sudo update-grub2

Это обеспечит добавление всех обнаруженных систем (например, Windows) в загрузочное меню.

  1. Выход из окружения chroot и перезагрузка ОС:
exit
sync
reboot

Также есть альтернативный способ восстановления загрузчика GRUB2: можно воспользоваться утилитой grub2recovery, доступной в репозитории contrib. Для её установки нужно выполнить:

sudo dnf install grub2recovery

Подробности о применении утилиты доступны на официальном форуме: https://forum.rosa.ru/viewtopic.php?f=58&t=10649.

Восстановление Системы из среды chroot

В случае повреждения Системы или необходимости выполнения административных операций без загрузки основной ОС может использоваться метод восстановления через среду Live (LiveCD/LiveUSB) с переходом в установленную Систему в режиме chroot. Для этого выполняют следующие шаги:

  1. Загрузка в Live-среду с установочного носителя (например, USB-накопителя или DVD) в Live-режиме, выбрав пункт "Запустить без установки" или аналогичный.
  2. Определение корневого раздела и загрузочного диска ОС. Для этого рекомендуется воспользоваться утилитой fdisk или графическим интерфейсом GParted, доступным в Live-среде. В терминале выполнить команду:
fdisk -l

В результате будет выведен список всех доступных дисков и разделов. Требуется определить:

  • корневой раздел, на котором установлена ОС РОСА (обычно это раздел типа Linux, например /dev/sda2);
  • загрузочный диск, на который необходимо установить загрузчик GRUB2 (обычно это физический диск, например /dev/sda).

Полученные значения будут использоваться в дальнейших командах по монтированию и установке загрузчика.

монтирование корневой файловой системы в каталог, подготовленный для chroot (во всех командах параметр sdXX необходимо заменить на имя коревого раздела):

mkdir /chroot
sudo mount /dev/sdXX /chroot

Если используется файловая система BTRFS, указать нужный подтом:

sudo mount -o subvol=@ /dev/sdXX /chroot

Подключить необходимые виртуальные файловые системы:

for i in dev sys proc; do mount --bind -v /$i /chroot/$i;\ done

Для обеспечения работы сетевых функций (например, получения пакетов или использования утилит) скопировать файл конфигурации DNS:

cp /etc/resolv.conf /chroot/etc/resolv.conf
  1. Вход в установленную Систему с помощью команды:
chroot /chroot

После выполнения данной команды будет организован доступ к установленной Системе в режиме полного административного управления.

  1. Выполнение всех необходимых операций в среде chroot, включая:
  • изменение паролей;
  • переустановка загрузчика;
  • исправление конфигурационных файлов;
  • установка или удаление пакетов.
  1. Завершение работы и перезагрузка Системы.После завершения всех операций необходимо выйти из chroot по команде:
exit

Отключить файловые системы (при необходимости) и перезагрузить Систему командой:

reboot

После перезагрузки будет выполнена загрузка основной установленной Системы.