Много пъти, особено когато се бъркаме, сме се оказвали в затруднение, че нямаме достъп до системата, за да я поправим, но решението е лесно: използвайте командата 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
Ако имате папката / Home o / Var или друг на друг дял, трябва да го монтирате, както следва:
mount /dev/sda2 /mnt/my_linux/var
- ЗАБЕЛЕЖКА: Взех за пример дяла / dev / sda2 за папката / var, оставете всеки да коригира кода според своите характеристики.
Обикновено това би било достатъчно, ако просто трябва да редактирате файлове на ръка, но ако искаме да изпълним някои команди, които конфигурират системата, трябва да монтираме определени специални системни папки: / разработка, / проц y / 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 казваме монтиране типа „файлова система“, който искаме да монтираме. Необходимо е да го посочите поради специалния характер на папките / проц y / sys.
- С опция -o ние посочваме опциите на монтиране. Опцията обвърже служи за "връзка". В UNIX всички хардуерни устройства са достъпни през папката / разработка, затова трябва да монтираме тока си / разработка в папката, където сега е нашата счупена система. Тъй като тази папка вече е монтирана, е необходимо само да се каже монтиране където е монтиран първоначално.
Това се прави по този начин, така че 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
И това е всичко. Надявам се да ви хареса и да ви помогне. Поздрав!
Бих могъл да използвам това .. В един момент трябва да го използвам.
Някой от вас използвал ли е Chakra Benz? Ако е така, бихте ли ми казали дали
лесно ли е за обикновения потребител? Използвам SolydK, което е много просто, но
Разбирам, че чакрата е чисто KDE и ме интересува.
Да, чакрата е добре и повече или по-малко лесно, работата е в това, че за да инсталирате / деинсталирате пакети, трябва да го направите с конзолата, тъй като те все още работят върху графичен мениджър на пакети. Опитайте, защото си заслужава. Той използва мениджъра на пакети pacman, наследен от Archlinux, но внимавайте, той не споделя хранилища с arch и НЕ е съвместим с тях. Ако искате да научите повече за pacman, погледнете уикито на arch https://wiki.archlinux.org/index.php/Pacman_%28Espa%C3%B1ol%29
Oktopi вече е стабилен и работи доста добре за средностатистически потребител, като не ви е необходим терминалът, за да използвате pacman.
Надявам се, че тази публикация ще бъде посетена от мнозина, след това те започват да преинсталират главите си за каквото и да било, когато с chroot можете да ремонтирате системата почти винаги, chroot ви дава много възможности, сред които инсталиране на Gentoo xD hahaha
хубаво, благодаря ... Никога не съм му давал топка, защото някакъв live-cd за ремонт ми се струва, че го вдигат по подразбиране, но сега е ясно, благодаря отново.
За да го завършите, би било добре да обясните как да монтирате LVM дялове, криптирани дялове и RAID системи.
mmm Отдавна не съм пипал LVM и RAID, но бихте ли ме информирали малко, за да завърша това ... благодаря за съвета!
Ами истината е, че бих могъл да използвам страхотно.
Би било много оценено.
погледнете тази уики, доста е готина http://wiki.bandaancha.st/RAID_y_LVM_en_Linux
Ако само тази тема беше съществувала няколко седмици по-късно, се оказва, че имам проблем със системата си и чета и чета и навсякъде намерих chroot и blablabla, но не ми се получи въз основа на препоръката на живо, която е същата като вашата система , много важно, защото използвам x64, другото е да монтирам системните дялове, защото в моя случай, когато прилагах chroot и го монтирах, хвърляше команда и тя просто не разпознаваше командата.
Тази тема ще отиде в моите файлове "компилация на информация"
Arch LiveCD (с този инструмент) е всичко, което е необходимо, за да поправите вашата система, когато я счупите.
Точно! .. .. това е всичко, което е необходимо .. дори да се помогне на някой със своите W $, който реши да не започва ..
Винаги имам със себе си 1gb pendrive с Arch на живо ... и chroot е всичко, от което се нуждая, така че при всеки проблем, след 10 минути да имате всичко в ред, без да се тревожите .. ..
Просто трябва да знаете как да го направите.
Здравейте, забележете, че имам проблем с centos, той ми изпраща паника в ядрото и т.н. И не успях да го реша, имам уебсайт и база данни там.Не знам какво друго да направя.
Добър пост, бях чул малко chroot мимоходом, но всъщност не знаех как е използван, разбира се, никога не съм имал нужда от него и затова не бях чел нещо по-специално. Сега с вашия пост обяснен много ясно, знам как да го използвам в случай.
Благодаря ви много и между другото, да живее Led Zeppelin hehe.
благодаря, най-накрая излязох от кошмара за спасяване
всъщност изпълних всички стъпки с изключение на umount / mnt / my_linux, защото ми каза, че е зает и аз fuser -km, но дори не това, и отскачам ...
Надявам се, че не е важно….
Благодаря отново…
поздрав
Въпреки че статията е вече на няколко години, искам да благодаря на автора за неговата щедрост при споделянето й. Страхотна статия, защото този уикенд ми спаси живота. Неволно заредих сървър, който инсталира пакет и при рестартиране не се зареди. След три дни опит за поправяне и четене на различни статии, успях да попадна тук случайно и най-накрая успях да преинсталирам grub и да поправя сървъра.
Благодаря ви много!
Радвам се, че ти помогна. Благодаря за коментара!
Здравейте, какво ще кажете да знам, че тази публикация преди години, голяма благодарност, че я споделихте. И имах съмнение, в моя случай това повреди системата, а също и мрежовите драйвери, така че изпълних стъпките, но не ми позволява да изтегля пакети, има ли начин да свържа мрежата на живо с терминала
Наистина не разбирам проблема ви ... Когато влезете с LiveCD, ядрото, което се зарежда, е това от LiveCD, следователно трябва да можете да конфигурирате перфектно интернет връзка. След като връзката е осъществена, опитайте да chroot, за да видите дали все още я запазвате, ако не, може да се наложи да я конфигурирате отново, но повреденото ядро не трябва да влияе на chroot сесията.
Ако не посочите повече, мога да ви кажа ...
Отличен пост ... една от малкото полезни статии, намерени в Интернет.
Благодаря ви много за приноса.
Здравейте, отличен урок! Превъзходно обяснено, за нас, простосмъртните!
Имам въпрос:
Когато споменахте, че в случай на необходимост от инсталиране на пакети, извършване на системни актуализации или друга специална дейност и изискване за монтиране на папките / dev / proc и / sys, не ми стана ясно дали тези папки са в системата Live, с която стартира оборудването, което ще се ремонтира, или ако те са първо в монтирания корен дял.
Благодаря ви.
БЛАГОДАРЯ МНОГО!!!!