Введение / Зачем это нужно
Восстановление Linux системы — это процесс возврата операционной системы в рабочее состояние после сбоя, повреждения файлов или ошибок загрузчика. Этот гайд полезен, если система не загружается, вы забыли пароль или потеряли данные. После выполнения вы сможете:
- Восстановить систему из бэкапа.
- Исправить загрузчик GRUB.
- Вернуть доступ к файлам через LiveCD.
- Сбросить пароль root.
Инструкция подходит для Ubuntu, Debian, Fedora, CentOS и других дистрибутивов на базе systemd.
Требования / Подготовка
Перед началом убедитесь, что у вас есть:
- Загрузочный носитель (Live USB/DVD) с любым Linux-дистрибутивом (рекомендуется Ubuntu 22.04 или аналогичный). Если система не загружается, создайте его на другом компьютере.
- Доступ к терминалу — базовые знания команд Linux.
- Бэкап системы (желательно) — созданный через
tar,timeshiftили другие инструменты. Если бэкапа нет, восстановление файлов будет ограничено. - Права администратора (sudo) в Live-сессии.
- Список разделов (если помните структуру диска) — упростит процесс.
💡 Совет: Если система частично загружается, создайте бэкап важных данных до восстановления, чтобы избежать потери информации.
Пошаговая инструкция
Шаг 1: Подготовка загрузочного носителя
Если система не загружается, используйте другой компьютер для создания Live USB.
- Скачайте образ Linux (например, Ubuntu 22.04 LTS).
- Запишите образ на USB-накопитель (минимум 4 ГБ). В Linux/macOS:
Заменитеsudo dd if=ubuntu-22.04.iso of=/dev/sdX bs=4M status=progress && syncsdXна устройство USB (например,sdb). В Windows используйте Rufus. - Извлеките носитель и перейдите к следующему шагу.
Шаг 2: Загрузка с LiveCD и определение разделов
- Вставьте USB в проблемный компьютер, загрузитесь с него (клавиша загрузки: F12, ESC, Del — зависит от производителя). Выберите "Try Ubuntu" (или аналогичный пункт).
- Откройте терминал (Ctrl+Alt+T).
- Определите разделы диска:
Пример вывода:sudo lsblk -f
Найдите корневой раздел (обычноNAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 ext4 root 1234abcd-5678-ef90-1234-567890abcdef ├─sda2 swap swap abcd1234-5678-ef90-1234-567890abcdef [SWAP] └─sda3 vfat boot ABCD-1234 /boot/efiext4, mountpoint не указан) и, если есть, раздел/boot(типvfatилиext2). Запомните имена (например,sda1,sda3).
Шаг 3: Монтирование разделов
- Создайте точку монтирования:
sudo mkdir -p /mnt/root - Смонтируйте корневой раздел (замените
sda1на ваш):sudo mount /dev/sda1 /mnt/root - Если есть отдельный
/boot, смонтируйте его:sudo mount /dev/sda3 /mnt/root/boot - Для разделов, требующих файловых систем (например,
/var,/home), смонтируйте их аналогично в/mnt/root/varи т.д. - Проверьте монтирование:
mount | grep /mnt/root
Должны отображаться смонтированные разделы.
Шаг 4: Восстановление файлов из бэкапа
Если у вас есть бэкап, восстановите данные:
- Бэкап через
tar(например,backup.tar.gzна внешнем диске):sudo tar -xzf /path/to/backup.tar.gz -C /mnt/root - Бэкап через
timeshift(если сохранен в/timeshift):
Или скопируйте вручную из папкиsudo timeshift --restore --snapshot-days 1 --target /mnt/root/timeshiftв/mnt/root. - Ручное копирование: если бэкап на другом разделе, смонтируйте его и скопируйте файлы.
⚠️ Важно: Убедитесь, что бэкап соответствует архитектуре и версией системы. Восстановление бэкапа с другой версии может привести к ошибкам.
Шаг 5: Переустановка загрузчика GRUB
Если система не загружается из-за поврежденного GRUB:
- Подготовьте chroot-окружение:
sudo mount --bind /dev /mnt/root/dev sudo mount --bind /proc /mnt/root/proc sudo mount --bind /sys /mnt/root/sys - Перейдите в chroot:
sudo chroot /mnt/root - Переустановите GRUB (замените
/dev/sdaна ваш диск, а не раздел):
Для UEFI-систем также убедитесь, что пакетgrub-install /dev/sda update-grubgrub-efiустановлен. - Выйдите из chroot:
exit
Шаг 6: Финальная проверка и перезагрузка
- Размонтируйте все разделы:
sudo umount -R /mnt/root - Извлеките USB-накопитель.
- Перезагрузитесь:
sudo reboot - После загрузки проверьте:
- Работают ли сервисы:
systemctl status. - Доступны ли ваши файлы.
- Загружается ли система без ошибок (просмотрите
dmesgили журналы в/var/log).
- Работают ли сервисы:
Проверка результата
- Успешная загрузка: появится экран входа в систему.
- Проверка файлов: убедитесь, что домашние каталоги и системные файлы на месте.
- GRUB: при загрузке отображается меню GRUB с перечнем ядер.
- Сетевые настройки: если использовали бэкап, проверьте
ip aи/etc/resolv.conf.
Если система загружается, но есть ошибки (например, не работает сеть), проверьте конфигурацию в /etc/network/interfaces или netplan.
Возможные проблемы
| Проблема | Решение |
|---|---|
Ошибка монтирования: mount: /mnt/root: wrong fs type, bad option, bad superblock | Проверьте файловую систему: sudo fsck /dev/sda1 в Live-сессии. Убедитесь, что раздел не поврежден. |
GRUB не устанавливается: error: cannot find a device for /boot | Убедитесь, что смонтировали раздел /boot (если он отдельный). Для UEFI проверьте, что смонтирована EFI-система (/dev/sda1 типа vfat). |
После восстановления система не загружается, зависает на initramfs | Возможно, повреждена файловая система. Загрузитесь с LiveCD, выполните fsck на корневом разделе. Проверьте fstab на правильность UUID. |
| Нет доступа к сети в Live-сессии | Включите сеть: sudo dhclient или настройте через nmcli. Для доступа к бэкапам по сети (например, NFS) установите клиент: sudo apt install nfs-common. |
| Бэкап восстановлен, но программа не работает | Проверьте зависимости: ldd /path/to/binary. Возможно, в бэкапе не были сохранены библиотеки. Восстановите пакеты через apt --reinstall install <package>. |
Если проблема не решена, обратитесь к специфическим гайдам в FixPedia (например, по восстановлению конкретного дистрибутива или инструмента).