Kubuntu не входит в систему после восстановления резервной копии на основе rscyn

Моя установка выглядит следующим образом:

В расширенном разделе есть загрузочный раздел ext2 объемом 1 ГБ и крипто-контейнер LUKS. Внутри контейнера находится физический том LVM с одной группой томов, в которой находятся 3 логических тома: lvRoot (12 ГБ), lvHome (20 ГБ) и lvSwap (20 ГБ). На lvRoot установлена ​​Kubuntu 15.04 с использованием lvSwap в качестве свопа и lvHome в качестве /home. Я храню все свои вещи в совершенно отдельном месте, поэтому / home предназначен только для данных приложений.

Я делаю регулярные резервные копии, используя BackInTime, который представляет собой графический интерфейс для автоматического резервного копирования rsync. Я делаю резервную копию загрузочного раздела и lvHome, как они есть, и lvRoot через снимок LVM. То есть я создаю снимок, монтирую его, создаю резервную копию, размонтирую и удаляю его.

Несколько дней назад у меня произошел инцидент с большими ошибками.xsession, и весь мой lvHome был заполнен, и все стало тормозить (это, очевидно, известная проблема). Я удалил файл, и система отказалась войти (он просто завис с индикатором выполнения), поэтому я загрузился с живого USB-накопителя (также Kubuntu 15.04) и с помощью BackInTime восстановил lvRoot и lvHome из резервной копии, сделанной во времена, когда мой Система работала нормально.

После того, как я это сделал, я по-прежнему не могу войти в систему, но теперь все выглядит иначе: после того, как я ввожу пароль к своей учетной записи и нажимаю клавишу ВВОД, кажется, что он снова запускается - есть короткий момент, когда экран черный и в левом углу отображается "Стартовая версия 219", так же, как до появления экрана входа в систему. Кроме того, в тот момент, когда я нажимаю "Войти" после ввода пароля, курсор превращается в черный крест, и я не помню, чтобы это происходило при обычном входе в систему (хотя я могу ошибаться)

Я предположил, что, возможно, система в моей последней резервной копии была каким-то образом повреждена, поэтому я восстановил самую старую резервную копию, которую у меня была - одну, сделанную сразу после установки Kubuntu. Поведение было точно таким же после этого.

Кроме того, я заметил, что если я снова выполню перезагрузку с живого USB-накопителя после восстановления и подключу lvHome, он окажется пустым. С lvRoot все в порядке, все файлы есть, но lvHome всегда пуст. Поэтому я предположил, что, возможно, сам логический том lvHome каким-то образом поврежден из-за ошибок.xsession, заполняющих все пространство, и я копировал файлы в поврежденный LV, и поэтому он не работал. Поэтому я удалил lvHome, создал его заново и восстановил еще раз. Файлы отображаются сейчас, но система по-прежнему отказывается войти, так же, как и раньше. Я запустил fsck на lvHome и lvRoot, и он говорит, что они понятны.

Я понятия не имею, что здесь происходит.

У меня сложилось впечатление (при чтении таких вещей, как, например, это), что резервное копирование с использованием rscync является правильным способом сделать это, и BackInTime также имеет хорошую репутацию. Кроме того, я протестировал эту схему резервного копирования на виртуальной машине (также работающей под управлением Kubuntu 15.04), прежде чем развернуть ее, и она отлично работала.

Почему это не работает сейчас?

Я не восстановил / загрузился, потому что предположил, что все должно быть в порядке, и система действительно загружается. Это была ошибка? Было ли это с использованием снимков LVM? Несколько источников сказали, что снимки - хорошая идея.

Что мне здесь не хватает? Как я даже диагностирую это?

Я мог бы просто переустановить Kubuntu, но моя схема резервного копирования существует по той причине, что мне не нужно делать переустановки каждый раз, когда что-то ломается, и я хочу знать, почему эта схема не работает и, возможно, как я могу заставить ее работать.

Какие-нибудь мысли?

1 ответ

Решение

Ой, прости, это не пришло мне в голову раньше. Похоже, это ошибка № 58.

Разрешения не могут быть восстановлены из LiveCD, потому что LiveCD не знает пользователей. Я собираюсь добавить новую функцию, чтобы прочитать другой /etc/passwd, Но пока ничего не сделано. На данный момент вам нужно бежать backintime --restore из корневого терминала в режиме восстановления. Это не изменит никаких файлов, но исправит разрешения.

Сначала нужно смонтировать диски

mount -o remount,rw /
mount /home
mount /boot
mkdir -p /media/USER/backup_drive #or what ever path you used before
mount /dev/sdXX /media/USER/backup_drive
backintime --restore / '' 0

Если вы запускаете BackInTime как пользователь для резервного копирования /home/USER вам нужно su <USER> и восстановить свой дом тоже.

Другие вопросы по тегам