Linux

Восстановление файлов после chroot: пошаговое руководство для Linux

Если вы потеряли файлы внутри chroot-окружения, эта инструкция поможет их восстановить без повреждений системы. Вы узнаете, как использовать rsync, tar и fsck для возвращения данных.

Обновлено 7 августа 2026 г.
10-15 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 22.04Debian 11Fedora 36

Введение

Работа с chroot позволяет изолировать приложения от основной системы, но потеря данных внутри такого окружения может стать серьёзной проблемой. Эта инструкция расскажет, как быстро и безопасно вернуть удалённые файлы из lost+found, отремонтировать файловую систему и проверить результат. После выполнения руководства у вас останутся рабочие копии данных и понятный план на случай подобных инцидентов.

Требования / Подготовка

  • Хост с Linux (Ubuntu 22.04, Debian 11, Fedora 36 и т.д.)
  • Размонтированный или смонтированный chroot (например, /mnt/ubuntu)
  • Права sudo
  • Установленные утилиты rsync, tar, fsck

Пошаговая инструкция

Шаг 1: Подготовка chroot-окружения

Убедитесь, что chroot смонтирован правильно и доступен для чтения/записи. Проверьте наличие lost+found, где хранятся удалённые файлы:

sudo ls -la /mnt/ubuntu/lost+found

Если каталог отсутствует, вероятно, файловая система была отформатирована — первым делом запустите fsck.

Шаг 2: Запуск fsck для проверки целостности

Перед копированием файлов проверьте и, при необходимости, исправьте ошибки файловой системы:

sudo chroot /mnt/ubuntu /usr/bin/fsck -y /dev/sdb1

Замените /dev/sdb1 на устройство, которое использует chroot. Подтвердите запросы fsck, чтобы предотвратить дальнейшее повреждение данных.

Шаг 3: Копирование файлов из lost+found

Рекомендуемый способ — rsync, так как он сохраняет права доступа и символические ссылки:

rsync -av /mnt/ubuntu/lost+found/ /home/user/restored/

Если rsync не установлен, используйте cp -a:

sudo cp -a /mnt/ubuntu/lost+found/. /home/user/restored/

Шаг 4: Восстановление с помощью tar (альтернативный метод)

Если rsync не подходит (например, для архивации всего дерева), создайте архив и распакуйте его:

tar -C /mnt/ubuntu lost+found -cf /tmp/lost+found.tar
tar -xf /tmp/lost+found.tar -C /home/user/restored/

Шаг 5: Проверка результата

После копирования проверьте целостность восстановленных файлов:

ls -l /home/user/restored/
find /home/user/restored/ -type f -name "*.txt" -print

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

chmod 644 /home/user/restored/*.txt

Проверка результата

Если список файлов теперь содержит ранее удалённые данные, восстановление успешно. Рекомендуем создать бэкап chroot в будущем, чтобы избежать подобных ситуаций:

rsync -av /mnt/ubuntu/ /backup/chroot_backup/

Возможные проблемы

  • Отсутствие lost+found: Это означает, что удалённые данные не сохранились. Восстановите систему из снимка или выполните глубокое восстановление с помощью testdisk.
  • fsck требует ручного вмешательства: Если устройство заблокировано, размонтируйте его (sudo umount /mnt/ubuntu) перед запуском fsck.
  • Недостаточно места для восстановления: Убедитесь, что целевая директория имеет свободное пространство, иначе копирование прервётся.
  • Повреждённые символьные ссылки: rsync автоматически исправляет их; при использовании cp вручную проверьте readlink.

Следуйте этим советам, и вы сможете безопасно восстановить данные из chroot-окружения в любой ситуации.

Часто задаваемые вопросы

Как найти каталог lost+found внутри chroot-окружения?
Что делать, если файлы были удалены давно и в lost+found уже есть новые данные?
Как проверить целостность файловой системы внутри chroot?
Можно ли восстановить данные после перезагрузки хоста?

Полезное

Подготовка chroot-окружения
Запуск fsck для проверки целостности
Копирование файлов из lost+found
Восстановление с помощью tar (альтернативный метод)
Проверка результата

Эта статья помогла вам решить проблему?