Восстановление системы: HowTo chroot

Много раз, особенно когда мы бездельничали, мы сталкивались с проблемой невозможности доступа к системе для ее восстановления, но решение простое: используйте команду корневой с любого LiveCD / RepairCD.

Во многих местах (форумы, блоги ...) эта команда упоминается и дается "копировать / вставить" код, но я намерен в этом сообщении немного объяснить эти шаги, чтобы эффективно использовать это инструмент, зная причину.

Введение

Команда корневой Он известен как CHangeROOT, то есть команда, которая позволяет вам изменить корень системы, в которой вы работаете. Другими словами: если вы используете LiveCD и хотите, чтобы все, что вы делаете на консоли, влияло на установленную систему, вы должны сначала использовать корневой.

Проблема в том, что недостаточно использовать корневой Таким образом, мы должны сначала правильно смонтировать определенные разделы.

КАК

Сначала нам нужно запустить терминал либо из другой установленной системы (на другом разделе / ​​диске), либо с LiveCD. ВАЖНО: архитектура LiveCD должна соответствовать архитектуре ремонтируемой системы (32 или 64 бита).
Как только мы окажемся в терминале, мы начнем с определения наших разделов:
fdisk -l

  • С помощью этой команды мы перечислим все наши разделы / диски. Мы должны определить, какой раздел является целевым, где установлена ​​наша система для восстановления, с этого момента мы будем называть его сломанная система.

В этом примере мы будем считать, что наша сломанная система находится в / Dev / sda1 .

Переходим к сборке системы. Сначала мы создадим папку, в которой собираемся работать, а затем смонтируем раздел, в котором находится наша сломанная система, в этой папке.
mkdir /mnt/my_linux
mount /dev/sda1 /mnt/my_linux

Если у вас есть папка / Главная o / вар или любой другой в другом разделе, вы должны смонтировать его / ы следующим образом:
mount /dev/sda2 /mnt/my_linux/var

  • ПРИМЕЧАНИЕ. В качестве примера я взял раздел / dev / sda2 для папки / var, пусть каждый настраивает код в соответствии со своими характеристиками.

Обычно этого достаточно, если вам просто нужно отредактировать файлы вручную, но если мы хотим выполнить некоторые команды, которые настраивают систему, нам нужно смонтировать определенные специальные системные папки: / DEV, / Proc/ sys.
mount -t proc proc /mnt/my_linux/proc
mount -t sysfs sys /mnt/my_linux/sys
mount -o bind /dev /mnt/my_linux/dev

  • С опцией -t мы говорим монтировать тип «файловой системы», которую мы хотим смонтировать. Это необходимо в связи с особенностями папок. / Proc y / sys.
  • С опцией -o уточняем варианты монтировать. Опция связывать служит для «ссылки». В UNIX все аппаратные устройства доступны через папку / DEV, поэтому мы должны увеличить наш текущий / DEV в папке, где сейчас находится наша сломанная система. Поскольку эта папка уже смонтирована, необходимо только указать монтировать где он изначально установлен.

Это делается так, чтобы корневой имеют доступ к этим папкам, как если бы они были неисправной системой, хотя они должны быть из текущей системы (например, сеанса LiveCD), поскольку они связаны с состоянием системы, процессов и оборудования.

Пришло время использовать корневой:
chroot /mnt/my_linux/ /bin/bash

  • Команде передается в качестве аргументов путь к новому корню «/» (который в нашем случае / mnt / my_linux) и консоль, которую вы хотите использовать (в этом случае мы выбрали хорошо известный bash, найденный в / bin / bash). Если мы не укажем консоль, то окажемся перед несколько архаичным интерпретатором команд (не заполняется при нажатии вкладки и т. Д.).

Теперь мы можем использовать консоль, как если бы у нас был запущен корневой сеанс в нашей сломанной системе (редактировать файлы, проверять сценарии, устанавливать / удалять пакеты ...). ВНИМАНИЕ! Чтобы изменения вступили в силу, необходимо отключить файловую систему после выхода. корневойПосмотрите на пример ниже.

Более подробная информация https://wiki.archlinux.org/index.php/Change_Root (больше рекомендованного к прочтению).

Пример использования: восстановить GRUB2

Одно из самых распространенных применений корневой Это инструмент для восстановления GRUB. Поскольку, если личинка сломается, загрузить нашу систему, чтобы исправить это, практически невозможно.

ВНИМАНИЕ: этот небольшой учебник является всего лишь примером, он работает с различными дистрибутивами, производными от Debian, Ubuntu и openSUSE среди других. Тем не менее, проверьте документацию вашего дистрибутива, поскольку во многих командах нет обновление-личинка.
# ПРИМЕЧАНИЕ: эти команды запускаются один раз внутри chroot.update-grub
grub-install /dev/sda

  • В лице обновление-личинка Мы обновляем меню ввода GRUB2, добавляя, таким образом, недостающие поля. Позже мы переустанавливаем GRUB на наш диск, так как он был поврежден.

В этом случае я взял / Dev / ПДД Как и диск, на котором установлена ​​наша система, он должен быть адаптирован к вашему случаю.

Наш GRUB уже должен быть отремонтирован, поэтому мы должны выйти корневой, отключите файловую систему (ВАЖНО) и перезагрузите компьютер, чтобы изменения вступили в силу. Если мы забудем размонтировать файловую систему, возможно, что перезагрузка файлов не будет размонтирована правильно, и поэтому некоторые изменения не вступят в силу.
# оставляем chrootexit
# размонтировать файловую систему и перезагрузитьumount /mnt/my_linux/dev
umount /mnt/my_linux/sys
umount /mnt/my_linux/proc
umount /mnt/my_linux
reboot

И это все. Я надеюсь, вам это понравится, и что это поможет вам. Приветствие!


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Лепер_Иван сказал

    Я могу использовать это .. В какой-то момент я должен это использовать.

  2.   марио сказал

    Кто-нибудь из вас использовал Chakra Benz? Если да, не могли бы вы сказать мне, если
    легко ли это обычному пользователю? Я использую SolydK, который очень прост, но
    Я понимаю, что Chakra - это чистый KDE, и это меня интересует.

    1.    Woqer сказал

      Да, чакра очень хороша и более или менее я способствую этому, дело в том, что для установки / удаления пакетов вы должны делать это с помощью консоли, поскольку они все еще работают в графическом диспетчере пакетов. Попробуйте, потому что оно того стоит. Он использует менеджер пакетов pacman, унаследованный от Archlinux, но будьте осторожны, он не разделяет репозитории с Arch и НЕ совместим с ними. Если вы хотите узнать больше о пакмане, загляните на вики-страницу Arch. https://wiki.archlinux.org/index.php/Pacman_%28Espa%C3%B1ol%29

      1.    иззывп сказал

        Oktopi уже стабилен и работает достаточно хорошо для обычного пользователя, при этом вам не нужен терминал для использования pacman.

  3.   x11тете11x сказал

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

  4.   Алунадо сказал

    милый, спасибо ... ни разу не баловал потому что какие-то live-cd на ремонт мне кажется что поднимают по умолчанию, а теперь понятно, еще раз спасибо

  5.   Лоло сказал

    Чтобы завершить его, было бы хорошо объяснить, как монтировать разделы LVM, зашифрованные разделы и системы RAID.

    1.    Woqer сказал

      ммм Я давно не касался LVM и RAID, но не могли бы вы сообщить мне немного, чтобы завершить это… спасибо за совет!

      1.    Лоло сказал

        Ну правда в том, что я мог бы использовать отлично.

        Было бы очень признательно.

        1.    Woqer сказал

          взгляните на эту вики, это довольно круто http://wiki.bandaancha.st/RAID_y_LVM_en_Linux

  6.   Модем сказал

    Если бы только эта тема существовала несколькими неделями позже, оказалось, что у меня была проблема с моей системой, и я читал и читал, и везде, где я находил chroot и blablabla, это не сработало для меня, исходя из той рекомендации live, которая То же, что и ваша система, очень важно, потому что я использую x64, другой - для монтирования системных разделов, потому что в моем случае, когда я применял chroot и монтировал его, он выдал команду и просто не распознал команду.

    Эта тема уйдет в мои файлы "сборник инфы"

  7.   печенье сказал

    Arch LiveCD (с этим инструментом) - это все, что нужно, чтобы исправить вашу систему, когда вы ее сломаете.

    1.    RAW-Базовый сказал

      Точно! .. ..это все, что нужно .. даже для того, чтобы помочь кому-то с их W $, кто решил не запускать ..

      У меня всегда с собой флеш-накопитель емкостью 1 ГБ с Arch live ... и chroot - это все, что нужно, чтобы при любой проблеме через 10 минут у вас было все в порядке, и вас не пугали .. 😉

    2.    иззывп сказал

      Просто нужно уметь это делать.

    3.    Пабло сказал

      Здравствуйте, обратите внимание, что у меня проблема с centos, он отправляет мне панику ядра и т. Д. И я не смог решить эту проблему, у меня там есть мой сайт и база данных, я не знаю, что еще делать.

  8.   jony127 сказал

    Хороший пост, я мимоходом слышал какой-то chroot, но я толком не знал, как он используется, конечно, мне он никогда не был нужен, и поэтому я не читал что-то конкретное. Теперь, когда ваш пост очень четко объяснен, я знаю, как его использовать в случае.

    Большое спасибо и, кстати, да здравствует Led Zeppelin, хе-хе.

  9.   камала сказал

    спасибо, я наконец выбрался из кошмара спасения жратвы

    на самом деле я выполнил все шаги, кроме umount / mnt / my_linux, потому что он сказал мне, что он занят, и я fuser -km, но даже не это, и подпрыгивает ...

    Надеюсь, это не важно….

    Спасибо еще раз…
    приветствие

  10.   Хосе Антонио сказал

    Хотя статье уже несколько лет, я хочу поблагодарить автора за его щедрость, которую он поделился, это отличная статья, потому что в эти выходные она спасла мне жизнь. Невольно загрузил сервер, установив пакет и при перезапуске он не загрузился. После трех дней попыток исправить это и чтения разных статей мне удалось случайно попасть сюда и, наконец, переустановить grub и исправить сервер.

    Большое спасибо!

    1.    Woqer сказал

      Я рада, что тебе это помогло. Спасибо за комментарий!

  11.   Гелиограф сказал

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

    1.    Woqer сказал

      Я действительно не понимаю вашей проблемы ... Когда вы входите в систему с LiveCD, загружается ядро ​​с LiveCD, поэтому вы сможете идеально настроить подключение к Интернету. После того, как соединение установлено, попробуйте выполнить chroot, чтобы увидеть, продолжаете ли вы его поддерживать, в противном случае вам, возможно, придется настроить его снова, но поврежденное ядро ​​не должно влиять на сеанс chroot.
      Если вы не укажете больше, я могу вам сказать ...

  12.   крыша сказал

    Отличный пост… одна из немногих полезных статей, найденных в Интернете.
    Большое спасибо за вклад.

  13.   копейка сказал

    Привет, отличный туториал! Великолепно объяснено, для нас, простых смертных!

    У меня вопрос:
    Когда вы упомянули, что в случае необходимости установки пакетов, выполнения обновлений системы или других специальных действий и необходимости монтирования папок / dev / proc и / sys, мне было непонятно, находятся ли эти папки в системе Live, с которой мы запустили ремонтируемое оборудование, или если они сначала смонтированы в корневом разделе.

    Спасибо.

  14.   Орландо сказал

    БОЛЬШОЕ СПАСИБО!!!!