Відновлення системи: HowTo chroot

Багато разів, особливо під час базікання, ми потрапляли в біду, не маючи доступу до системи для її відновлення, але рішення просте: скористайтеся командою chroot з будь-якого LiveCD / RepairCD.

У багатьох місцях (форумах, блогах ...) згадується ця команда і дається "копіювати / вставляти" код, але я маю намір у цьому дописі трохи пояснити ці кроки, щоб добре використати це інструмент, з пізнанням причини.

Введення

Команда chroot Він відомий як CHangeROOT, тобто команда, яка дозволяє змінити кореневу систему системи, в якій ви працюєте. Іншими словами: якщо ви з LiveCD і хочете, щоб все, що ви працюєте на консолі, впливало на встановлену систему, спочатку потрібно скористатися chroot.

Проблема в тому, що його недостатньо використовувати chroot Таким чином, перед тим, як ми повинні правильно змонтувати певні розділи.

ЯК

Спочатку нам потрібно запустити термінал або з іншої встановленої системи (на іншому розділі / диску), або з LiveCD. ВАЖЛИВО: архітектура LiveCD повинна відповідати архітектурі системи, що підлягає ремонту (32 або 64 біти).
Опинившись у терміналі, ми почнемо з ідентифікації наших розділів:
fdisk -l

  • За допомогою цієї команди ми перелічимо всі наші розділи / диски. Ми повинні визначити, який є цільовим розділом, де встановлена ​​наша система для ремонту, відтепер ми будемо називати його зламана система.

У цьому прикладі ми розглянемо, що наша зламана система працює / dev / sda1 .

Ми продовжуємо збирати систему. Спочатку ми створимо папку, в якій ми будемо працювати, а пізніше змонтуємо розділ, де знаходиться наша зламана система, в цій папці
mkdir /mnt/my_linux
mount /dev/sda1 /mnt/my_linux

Якщо у вас є папка / Головна o / var або будь-який інший на іншому розділі, вам слід змонтувати його так:
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 в папці, де зараз знаходиться наша зламана система. Оскільки ця папка вже змонтована, потрібно лише сказати монтувати де він спочатку змонтований.

Це робиться таким чином, щоб chroot мати доступ до цих папок, як якщо б вони були зламаною системою, хоча вони повинні бути з поточної системи (наприклад: сесія LiveCD), оскільки вони пов’язані зі станом системи, процесів та обладнання.

Зараз саме час використовувати chroot:
chroot /mnt/my_linux/ /bin/bash

  • Команда передається як аргументи шлях до нового кореня «/» (що в нашому випадку є / mnt / my_linux) та консоль, яку ви хочете використовувати (у цьому випадку ми обрали загальновідомий bash, знайдений у / bin / bash). Якщо ми не вкажемо консоль, ми опинимось перед дещо архаїчним інтерпретатором команд (він не заповнюється при натисканні на вкладку тощо).

Тепер ми можемо використовувати консоль так, ніби у нас був запущений кореневий сеанс у нашій непрацюючій системі (редагування файлів, перевірка сценаріїв, встановлення / видалення пакетів ...). ПОПЕРЕДЖЕННЯ! Щоб внесені зміни вступили в силу, вам потрібно відключити файлову систему після виходу chrootПодивіться на приклад нижче.

Більше інформації в https://wiki.archlinux.org/index.php/Change_Root (більше, ніж рекомендується прочитати).

Приклад використання: відновити GRUB2

Одне з найпоширеніших застосувань chroot Це як інструмент для ремонту GRUB. Оскільки, якщо переривник зламається, практично неможливо завантажити нашу систему, щоб це виправити.

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

  • з оновлення-grub Ми оновлюємо меню введення GRUB2, тим самим додаючи відсутні входи. Пізніше ми перевстановлюємо GRUB на наш диск, оскільки він був пошкоджений.

У цьому випадку я взяв / dev / sda як і диск, на якому ми маємо нашу систему, він повинен бути адаптований до вашого випадку.

Наш GRUB вже повинен бути відремонтований, тому ми повинні вийти chroot, демонтуйте файлову систему (ВАЖЛИВО) та перезавантажте систему, щоб зміни набрали чинності. Якщо ми забудемо демонтувати файлову систему, можливо, перезавантаження файлів не буде демонтовано правильно, а тому деякі зміни не наберуть чинності.
# ми залишили 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, який дуже простий, але
    Я розумію, що Чакра - це чисто KDE, і це мене цікавить.

    1.    Ого - сказав він

      Так, чакра дуже хороша і більш-менш проста, справа в тому, що для встановлення / видалення пакунків ви повинні робити це за допомогою консолі, оскільки вони все ще працюють над графічним менеджером пакетів. Спробуйте, бо воно того варте. Він використовує менеджер пакунків pacman, успадкований від Archlinux, але будьте обережні, він не надає сховища архіву та не сумісний з ними. Якщо ви хочете дізнатись більше про pacman, загляньте в аркі wiki https://wiki.archlinux.org/index.php/Pacman_%28Espa%C3%B1ol%29

      1.    іззивп - сказав він

        Oktopi вже стабільний і працює досить добре для пересічного користувача, тому вам не потрібен термінал для використання pacman.

  3.   x11tete11x - сказав він

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

  4.   алунадо - сказав він

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

  5.   Лоло - сказав він

    Для її завершення було б непогано пояснити, як монтувати LVM-розділи, зашифровані розділи та системи RAID.

    1.    Ого - сказав він

      ммм, я давно не торкався LVM та RAID, але чи можете ви повідомити мене, щоб завершити це ... спасибі за підказку!

      1.    Лоло - сказав він

        Ну правда полягає в тому, що я міг би використати чудове.

        Буде дуже вдячний.

        1.    Ого - сказав він

          погляньте на цю вікі, вона досить крута http://wiki.bandaancha.st/RAID_y_LVM_en_Linux

  6.   Модем - сказав він

    Якби ця тема існувала через кілька тижнів, виявляється, у мене були проблеми з моєю системою, я читав і читав, і скрізь я знаходив chroot та blablabla, але це не спрацьовувало для мене, виходячи з тієї рекомендації прямого ефіру, яка те саме, що і ваша система, дуже важливо, тому що я використовую x64, інша справа - змонтувати системні розділи, тому що в моєму випадку, коли я застосовував chroot і монтував, він кидав команду, і вона просто не розпізнавала команду.

    Ця тема перейде до моїх файлів "компіляція інформації"

  7.   cookie - сказав він

    Arch LiveCD (за допомогою цього інструменту) - це все, що потрібно для виправлення вашої системи під час її поломки.

    1.    RAW-Базовий - сказав він

      Точно! .. ..це все, що потрібно .. навіть допомогти комусь своїми W $, хто вирішив не починати ..

      Я завжди маю при собі пендрайв об'ємом 1 Гб з Arch live ... і chroot - це все, що потрібно, щоб за будь-якої проблеми за 10 хв у вас було все в порядку, не насторожуючись .. 😉

    2.    іззивп - сказав він

      Ви просто повинні знати, як це зробити.

    3.    Пабло - сказав він

      Привіт, зауважте, що у мене проблема з centos, це викликає у мене паніку ядра тощо. І я не зміг це вирішити, у мене є свій веб-сайт і база даних. Я не знаю, що ще робити.

  8.   jony127 - сказав він

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

    Щиро дякую і, до речі, хай живе Led Zeppelin hehe.

  9.   kamala - сказав він

    спасибі я нарешті вибрався з кошмарного рятувального кошмару

    насправді я виконав усі кроки, крім umount / mnt / my_linux, тому що він сказав мені, що він зайнятий, і я fuser -km, але навіть не це, і відмов ...

    Сподіваюся, це не важливо….

    знову дякую…
    Привітання

  10.   Хосе Антоніо - сказав він

    Хоча цій статті вже пару років, я хочу подякувати автору за щедрість у передачі. Це чудова стаття, оскільки на цих вихідних вона врятувала мені життя. Мимоволі я завантажив сервер, встановлюючи пакет, і при перезавантаженні він не завантажився. Після трьох днів спроб виправити це і читання різних статей мені вдалося випадково потрапити сюди і нарешті вдалося перевстановити grub і виправити сервер.

    Велике спасибі!

    1.    Ого - сказав він

      Я рада, що це вам допомогло. Дякую за коментар!

  11.   Геліограф - сказав він

    Привіт, як би я знав, що ця публікація років тому, велика подяка, що поділилися нею. І я сумнівався, у моєму випадку це пошкодило систему, а також мережеві драйвери, тому я виконав кроки, але це не дозволяє мені завантажувати пакети, чи є спосіб пов’язати живу мережу з терміналом

    1.    Ого - сказав він

      Я насправді не розумію вашої проблеми ... Коли ви входите в систему з LiveCD, завантажується ядро ​​від LiveCD, тому ви повинні мати можливість ідеально налаштувати підключення до Інтернету. Після встановлення з'єднання спробуйте виконати chroot, щоб перевірити, чи продовжуватимете ви продовжувати його підтримувати, якщо ні, можливо, вам доведеться налаштувати його знову, але пошкоджене ядро ​​не повинно впливати на сеанс chroot.
      Якщо ви не вкажете більше, я можу сказати вам ...

  12.   дача - сказав він

    Відмінний пост ... одна з небагатьох корисних статей, знайдених в Інтернеті.
    Велике спасибі за вклад.

  13.   zopeck - сказав він

    Привіт, чудовий підручник! Чудово пояснено, для нас простих смертних!

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

    Дякую

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

    ДУЖЕ ДЯКУЮ!!!!