Sistem Onarımı: Nasıl chroot

Çoğu zaman, özellikle etrafta dolaşırken, kendimizi sistemi onarmak için sisteme erişememe çıkmazında bulduk, ancak çözüm kolay: komutu kullanın chroot herhangi bir LiveCD / RepairCD'den.

Pek çok yerde (forumlar, bloglar ...) bu komuttan bahsedilir ve kodun bir "kopyala / yapıştır" ı verilir, ancak bu yazı ile niyetim bu aracı bilgiyle iyi bir şekilde kullanmak için bu adımları biraz açıklamaktır. nedeni.

Giriş

Komut chroot CHangeROOT olarak bilinir, yani üzerinde çalıştığınız sistemin kökünü değiştirmenize izin veren bir komuttur. Başka bir deyişle: bir LiveCD'den iseniz ve konsolda çalıştığınız her şeyin kurulu sistem üzerinde bir etkisinin olmasını istiyorsanız, önce şunu kullanmalısınız: chroot.

Sorun şu ki kullanmak yeterli değil chroot Bu nedenle, önce belirli bölümleri uygun şekilde monte etmeliyiz.

NASIL

Öncelikle kurulu başka bir sistemden (başka bir bölüm / diskte) veya bir LiveCD'den bir terminal başlatmalıyız. ÖNEMLİ: LiveCD'nin mimarisi, onarılacak sistemin mimarisiyle eşleşmelidir (32 veya 64 bit).
Terminale girdikten sonra bölümlerimizi tanımlayarak başlayacağız:
fdisk -l

  • Bu komutla tüm bölümleri / disklerimizi listeleyeceğiz. Hangisinin hedef bölüm olduğunu, hangi sistemimizin tamir edileceğini belirlemeliyiz, bundan sonra onu arayacağız bozuk sistem.

Bu örnek için, bozuk sistemimizin / Dev / sda1 .

Sistemi bir araya getirmeye devam ediyoruz. Önce çalışacağımız klasörü oluşturacağız ve daha sonra bozuk sistemimizin bulunduğu bölümü o klasörde monte edeceğiz.
mkdir /mnt/my_linux
mount /dev/sda1 /mnt/my_linux

Klasörün varsa / Ana Sayfa o / var veya başka herhangi bir başka bölüme, aşağıdaki gibi bağlamalısınız:
mount /dev/sda2 /mnt/my_linux/var

  • NOT: Örnek olarak / var klasörü için / dev / sda2 bölümünü aldım, her birinin kodu özelliklerine göre ayarlamasına izin verin.

Normalde bu, dosyaları elle düzenlemeniz gerekirse yeterli olacaktır, ancak sistemi yapılandıran bazı komutları yürütmek istiyorsak, belirli özel sistem klasörlerini eklememiz gerekir: / 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

  • Seçeneği ile -t söyleriz dağ bağlamak istediğimiz "dosya sistemi" türü. Klasörlerin özel yapısı nedeniyle belirtilmesi gerekir. / proc y / sys.
  • Seçeneği ile -o seçeneklerini belirtiyoruz dağ. Seçenek bağlamak "bağlamaya" hizmet eder. UNIX'te tüm donanım aygıtlarına klasör aracılığıyla erişilebilir / devbu yüzden akımımızı monte etmeliyiz / dev bozuk sistemimizin bulunduğu klasörde. Bu klasör zaten bağlanmış olduğundan, yalnızca şunu söylemek gerekir: dağ orijinal olarak monte edildiği yer.

Bu şekilde yapılır, böylece chroot Sistemin, işlemlerin ve donanımın durumuyla ilgili oldukları için mevcut sistemden (örn: LiveCD oturumu) olmaları gerekmesine rağmen, bu klasörlere bozuk sistemmiş gibi erişebilir.

Şimdi kullanma zamanı chroot:
chroot /mnt/my_linux/ /bin/bash

  • Komut argümanlar olarak aktarılır, yeni kökün «/» (bizim durumumuzda / mnt / my_linux) ve kullanmak istediğiniz konsol (bu durumda, içinde bulunan iyi bilinen bash'ı seçtik. / bin / bash). Konsolu belirtmezsek, kendimizi biraz arkaik bir komut yorumlayıcısının önünde bulacağız (sekmeye basıldığında dolmuyor vb.).

Artık konsolu, bozuk sistemimizde kök oturumu başlatmış gibi kullanabiliriz (dosyaları düzenleyin, komut dosyalarını kontrol edin, paketleri kurun / kaldırın ...). UYARI! Yapılan değişikliklerin yürürlüğe girmesi için, çıktıktan sonra dosya sistemini kaldırmalısınız. chrootAşağıdaki örneğe bakın.

Daha fazla bilgi için: https://wiki.archlinux.org/index.php/Change_Root (tavsiye edilenden fazla okuma).

Kullanım örneği: GRUB2'yi geri yükle

En yaygın kullanımlarından biri chroot GRUB'u onarmak için bir araçtır. Grub bozulursa, onu düzeltmek için sistemimizi başlatmak neredeyse imkansızdır.

DİKKAT: Bu kısa eğitim yalnızca bir örnektir, Debian, Ubuntu ve diğerlerinin yanı sıra openSUSE'den türetilen çeşitli dağıtımlarda çalışır. Öyle bile olsa, dağıtımınızın belgelerini kontrol edin, çünkü çoğu komutta bulunmaz. güncelleme grubu.
# NOT: Bu komutlar chroot içinde bir kez çalışır.update-grub
grub-install /dev/sda

  • ile update-grub GRUB2'nin giriş menüsünü güncelleyerek eksik girişleri ekliyoruz. Daha sonra hasar gördüğü için GRUB'u diskimize yeniden kuruyoruz.

Bu durumda aldım / dev / sda Sistemimizin bulunduğu albüm gibi, bu da sizin durumunuza uyarlanmalıdır.

GRUB'umuz zaten tamir edilmiş olmalı, bu yüzden çıkmalıyız chroot, dosya sisteminin bağlantısını kesin (ÖNEMLİ) ve değişikliklerin etkili olması için yeniden başlatın. Dosya sistemini ayırmayı unutursak, dosyaları yeniden başlatmanın bağlantısı doğru şekilde kesilmeyebilir ve bu nedenle bazı değişiklikler etkili olmayacaktır.
# chroot'tan ayrıldıkexit
# dosya sistemini ayırın ve yeniden başlatınumount /mnt/my_linux/dev
umount /mnt/my_linux/sys
umount /mnt/my_linux/proc
umount /mnt/my_linux
reboot

Ve hepsi bu. Umarım beğenirsiniz ve size yardımcı olur. Kutlama!


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   Leper_Ivan dijo

    Bunu kullanabilirim .. Bir noktada kullanmak zorundayım.

  2.   mario dijo

    Herhangi biriniz Chakra Benz'i kullandınız mı? Eğer öyleyse, bana söyleyebilir misin
    ortak kullanıcı için kolay mı? SolydK kullanıyorum, çok basit ama
    Çakranın saf KDE olduğunu ve beni ilgilendirdiğini anlıyorum.

    1.    Vay dijo

      Evet, çakra çok iyi ve az ya da çok kolaydır, mesele şu ki, paketleri kurmak / kaldırmak için bunu konsolla yapmanız gerekir, çünkü hala bir grafik paket yöneticisi üzerinde çalışıyorlar. Deneyin çünkü buna değer. Archlinux'dan miras alınan pacman paket yöneticisini kullanır, ancak dikkatli olun, arşivleri arch ile paylaşmaz ve onlarla uyumlu DEĞİLDİR. Pacman hakkında daha fazla bilgi edinmek istiyorsanız, arch wiki'ye bir göz atın. https://wiki.archlinux.org/index.php/Pacman_%28Espa%C3%B1ol%29

      1.    izzvp dijo

        Oktopi zaten kararlı ve ortalama bir kullanıcı için oldukça iyi çalışıyor, pacman kullanmak için terminale ihtiyacınız yok.

  3.   x11tete11x dijo

    Umarım bu gönderi birçok kişi tarafından ziyaret edilir, sonra herhangi bir şey için kafalarını yeniden yüklemeye başlarlar, bir chroot ile sistemi hemen hemen her zaman onarabilirsiniz, chroot, Gentoo xD'yi kurmak da dahil olmak üzere birçok olanak sağlar.

  4.   Alunado dijo

    güzel, teşekkürler ... Ona hiç bir top vermedim çünkü onarım için bazı canlı CD'ler bana varsayılan olarak yükseltiyor gibi görünüyor, ama şimdi net, tekrar teşekkürler.

  5.   Lolo dijo

    Bunu tamamlamak için, LVM bölümlerinin, şifreli bölümlerin ve RAID sistemlerinin nasıl monte edileceğini açıklamak iyi olacaktır.

    1.    Vay dijo

      mmm LVM ve RAID'e uzun süredir dokunmadım, ancak bunu tamamlamak için bana biraz bilgi verebilir misiniz… bahşiş için teşekkürler!

      1.    Lolo dijo

        Gerçek şu ki, harikayı kullanabilirim.

        Çok makbule geçer.

        1.    Vay dijo

          bu wiki'ye bir bak, oldukça havalı http://wiki.bandaancha.st/RAID_y_LVM_en_Linux

  6.   Modem dijo

    Sadece bu konu birkaç hafta sonra var olsaydı, sistemimde bir sorun yaşadığım ve okudum ve okudum ve her yerde chroot ve blablabla bulduğum ama bu canlı yayın tavsiyesine dayanarak benim için işe yaramadı. sizin sisteminizle aynı, çok önemli çünkü x64 kullanıyorum, diğeri sistem bölümlerini bağlamak, çünkü benim durumumda chroot ve montaj uygularken bir komut veriyordum ve sadece komutu tanımıyordu.

    Bu konu dosyalarımın "bilgi derlemesi" ne gidecek

  7.   kurabiye dijo

    Bir Arch LiveCD (bu araçla), sisteminizi kırdığınızda düzeltmek için gereken tek şeydir.

    1.    RAW-Temel dijo

      Aynen öyle! .. .. gerekli olan bu .. başlamamaya karar veren birine W $'ları ile yardım etmek için bile ..

      Her zaman yanımda Arch live ile 1 gb pendrive var ... ve tek ihtiyacım olan chroot, böylece herhangi bir sorun altında, 10 dakika içinde her şeyi alarma geçmeden sırayla elde edebilirsiniz .. 😉

    2.    izzvp dijo

      Sadece nasıl yapılacağını bilmelisin.

    3.    pablo dijo

      Merhaba, centos ile ilgili bir sorunum olduğuna dikkat edin, bana kernel paniği vb. Gönderiyor. Ve çözemedim, web sitem ve veritabanım orada, başka ne yapacağımı bilmiyorum.

  8.   jony127 dijo

    İyi gönderi, geçerken biraz chroot duymuştum ama nasıl kullanıldığını gerçekten bilmiyordum, elbette hiç ihtiyacım olmadı ve bu yüzden özellikle bir şey okumamıştım. Şimdi gönderiniz çok net bir şekilde açıklandığında, bunu nasıl kullanacağımı biliyorum.

    Çok teşekkür ederim ve bu arada, çok yaşa Led Zeppelin hehe.

  9.   kamala dijo

    teşekkürler nihayet grub kurtarma kabusundan kurtuldum

    Aslında umount / mnt / my_linux dışındaki tüm adımları takip ettim, çünkü bana meşgul olduğunu söyledi ve -km kaynaştırıcım, ama bunu bile yapmadım ve zıpladım ...

    Umarım önemli değildir….

    tekrar teşekkürler…
    Bir tebrik

  10.   Jose Antonio dijo

    Makale zaten birkaç yaşında olmasına rağmen, yazara paylaşma konusundaki cömertliği için teşekkür etmek istiyorum harika bir makale çünkü bu hafta sonu hayatımı kurtardı. İstemeden bir paket yükleyen bir sunucu yükledim ve yeniden başlatırken yüklenmedi. Üç gün boyunca düzeltmeye çalıştıktan ve farklı makaleler okuduktan sonra, şans eseri buraya gelmeyi başardım ve sonunda grubu yeniden yükleyip sunucuyu düzeltmeyi başardım.

    Çok teşekkür ederim !!!

    1.    Vay dijo

      Sana yardım etmesine sevindim. Yorum için teşekkürler!

  11.   Helio dijo

    Merhaba, bu yazıyı yıllar önce paylaştığın için çok teşekkürler. Ve bir şüphem vardı, benim durumumda sisteme ve ayrıca ağ sürücülerine zarar verdi, bu yüzden adımları takip ettim ama paketleri indirmeme izin vermiyor, canlı ağı terminale bağlamanın herhangi bir yolu var mı

    1.    Vay dijo

      Sorununuzu gerçekten anlamıyorum ... LiveCD ile oturum açtığınızda, yüklenen çekirdek LiveCD'deki çekirdektir, bu nedenle bir internet bağlantısını mükemmel bir şekilde yapılandırabilmelisiniz. Bağlantı kurulduktan sonra, hala saklayıp saklamadığınızı görmek için chroot yapmayı deneyin, değilse, yeniden yapılandırmanız gerekebilir, ancak hasarlı çekirdek chroot oturumunu etkilememelidir.
      Daha fazlasını belirtmezseniz, söyleyebilirim ki ...

  12.   dach dijo

    Excellent Post… İnternette bulunan birkaç yararlı makaleden biri.
    katkılarından dolayı çok teşekkür ederiz.

  13.   zobek dijo

    Merhaba, mükemmel öğretici! Biz ölümlüler için harika bir şekilde açıkladık!

    Bir sorum var:
    Paketleri kurmanız, sistem güncellemeleri veya diğer özel etkinlikler gerçekleştirmeniz ve / dev / proc ve / sys klasörlerinin yüklenmesini gerektirmeniz durumunda, bu klasörlerin birlikte çalıştığımız Canlı sistemde olup olmadığı bana açık değildi. tamir edilecek ekipmanı başlattı veya ilk önce kök bölmedeyseler.

    Mil teşekkürler.

  14.   Orlando dijo

    ÇOK TEŞEKKÜRLER!!!!