Использование chroot
Chroot — это утилита, которая изменяет корневой каталог (/) для текущего процесса, создавая изолированное окружение. Процесс воспринимает только указанную директорию как корень файловой системы, не имея доступа к остальным частям реальной системы. Может использоваться для тестирования, восстановления системы.
Для входа в систему через chroot выполните следующие действия:
- Загрузитесь с помощью загрузочного USB-накопителя с МОС12;
- Выберите МОС live;
- Определите системный раздел:
Для этого введите в консоли команду lsblk
Или войдите в Диспетчер разделов от KDE, нажмите левой кнопкой мыши на название устройства и обратите внимание на название разделов EFI и BTRFS.
- Создайте точку монтирования (временную директорию, в которую будет примонтирована система) с помощью команды
sudo mkdir /mnt/root; - Примонтируйте разделы с BTRFS командой
sudo mount -o subvol=root /dev/sdXX /mnt/root(Замените sdXX на имя вашего раздела); - Примонтируйте EFI-раздел командой
sudo mount /dev/sdX1 /mnt/root/boot(Замените sdX1 на имя вашего раздела);
- Примонтируйте специальные псевдо-файловые системы из Live-окружения, используя следующие команды:
sudo mount --bind /dev /mnt/root/dev
sudo mount --bind /proc /mnt/root/proc
sudo mount --bind /sys /mnt/root/sys
- Скопируйте настройки DNS, чтобы внутри
chrootбыл Интернет, введя команду:
sudo mount --bind /etc/resolv.conf /mnt/root/etc/resolv.conf
Если нет доступа в Интернет, проверьте, что сетевое соединение работает в Live-системе.
- Выполните
chrootкомандойsudo chroot /mnt/root.
После этого приглашение в терминале изменится, и Вы сможете выполнять любые команды.
- После завершения всех действий корректно выйдите из
chroot, введяexit. - Отмонтируйте разделы в обратном порядке:
sudo umount /mnt/root/dev
sudo umount /mnt/root/proc
sudo umount /mnt/root/sys
sudo umount /mnt/root/boot
sudo umount /mnt/root
- Перезагрузите устройство, используя
sudo reboot.
Возможные ошибки
/mnt/root/etc/resolv.conf mount point is a symbolic link to nowhere
При возникновении такой ошибки удалите ссылку внутри примонтированной системы:
sudo rm /mnt/root/etc/resolv.conf
Скопируйте рабочий файл resolv.conf из Live-системы:
sudo cp /etc/resolv.conf /mnt/root/etc/resolv.conf
После исправления ссылки выполните монтирование других системных директорий и сам chroot по инструкции выше.
umount: /mnt/root target is busy
Данная ошибка означает, что внутри каталога /mnt/rootв данный момент работают какие-то процессы или открыты файлы. Также данная ошибка может возникать, если были попытки размонтировать корневой раздел, не размонтировав предварительно дочерние точки монтирования.
Чтобы завершить все процессы используйте команду:
sudo fuser -km /mnt/root
Если данная команда не помогает, используйте команду:
sudo umount -l /mnt/root
После успешного размонтирования перезагрузите или выключите устройство.