system FAILURE Имел неосторожность забыть, что запустил в консоли Manjaro обновление, и перезагрузил комп. Итог - слетевший GRUB2, и наглухо зависшая на этапе первичной загрузки система. И безрадостная перспектива красноглазия всю оставшуюся ночь, и после короткого сна, день. К счастью, пишу об этом сейчас уже как об отгремевшей ретроспективе. Странно, что в Manjaro не учитывается флаг /var/lib/pacman/db.lck . Ребутиться при его наличии не выдав предупреждения yN это выстрел себе в ногу, что и показала практика. Потом пришлось этот осиротевший флаг убивать ручками, чтобы повторно запустить обновление.
Восстановление загрузчика
С удивлением обнаружил, что в загрузчике GRUB2 нет ни одного линукса, только тест памяти. Добавил /boot/grub/grub.cfg из бэкапа.Другой вариант - ручная загрузка из командной строки GRUB. Вызывается в меню клавишей "c" По сути это ручное выполнение команд из скрипта grub.cfg, там же можно подсмотреть порядок команд.
Восстановление повреждённых файлов
Вводная такова, прерванное обновление нужно успешно повторить, тогда система оживёт, скорее всего. Но для этого нужно войти в её консоль. Сделать это никак не получается, поскольку она наглухо виснет при загрузке, TTY не сменить, по ssh не отвечает. Остаётся только загрузиться с livecd и примонтировать систему через chroot. И вот тут начинаются сложности, которые я опишу.
Загружаюсь с флешки, вхожу в консоль, монтирую свою файловую систему:
sudo mount /dev/sdb3 /run/media/manjaro/root/ sudo mount /dev/sdb2 /run/media/manjaro/root/boot/ sudo mount /dev/sdb4 /run/media/manjaro/root/home/
В Manjaro команду arch-chroot изменили на: manjaro-chroot /mnt /bin/bash Но почему-то она не все точки входа обрабатывает. /proc монтирует, а /dev и /sys нет. Поэтому решил монтировать всё вручную и использовать обычный chroot. Исчерпывающая инструкция есть здесь:
sudo mount --types proc /proc /run/media/manjaro/root/proc/ sudo mount --rbind /sys /run/media/manjaro/root/sys/ sudo mount --make-rslave /run/media/manjaro/root/sys/ sudo mount --rbind /dev /run/media/manjaro/root/dev/ sudo mount --make-rslave /run/media/manjaro/root/dev/ sudo mount --types tmpfs --options nosuid,nodev,noexec shm /dev/shm sudo chmod 777 /dev/shm
Теперь можно войти в корень повреждённой системы без её загрузки:
sudo chroot /run/media/manjaro/root/ /bin/bash
Не пробуйте обновляться иначе, будут ошибки, проблемы с рутом, итд вроде такого: ERROR: Running makepkg as root is not allowed as it can cause permanent, catastrophic damage to your system.
|