Reparo do sistema: HowTo chroot

Muitas vezes, principalmente nas bagunças, nos deparamos com a situação de não conseguir acessar o sistema para repará-lo, mas a solução é fácil: use o comando chroot a partir de qualquer LiveCD / RepairCD.

Em muitos lugares (fóruns, blogs ...) este comando é mencionado e um "copiar / colar" do código é dado, mas minha intenção com este post é explicar um pouco esses passos, a fim de fazer um bom uso disso ferramenta, com conhecimento da causa.

Introdução

Comando chroot É conhecido como CHangeROOT, ou seja, um comando que permite alterar a raiz do sistema no qual você está trabalhando. Em outras palavras: se você é de um LiveCD e deseja que tudo o que está trabalhando no console tenha efeito no sistema instalado, você deve primeiro fazer uso de chroot.

O problema é que não basta usar chroot Como tal, antes devemos montar corretamente certas partições.

COMO

Primeiro, precisamos iniciar um terminal, de outro sistema instalado (em outra partição / disco) ou de um LiveCD. IMPORTANTE: a arquitetura do LiveCD deve ser compatível com a do sistema a ser reparado (32 ou 64 bits).
Assim que estivermos no terminal, começaremos identificando nossas partições:
fdisk -l

  • Com este comando iremos listar todas as nossas partições / discos. Devemos identificar qual é a partição alvo, onde está instalado nosso sistema de reparo, a partir de agora a chamaremos sistema quebrado.

Para este exemplo, vamos considerar que nosso sistema quebrado está em / Dev / sda1 .

Prosseguimos para montar o sistema. Primeiro vamos criar a pasta onde vamos trabalhar e depois vamos montar a partição onde o nosso sistema quebrado está localizado nessa pasta
mkdir /mnt/my_linux
mount /dev/sda1 /mnt/my_linux

Se você tem a pasta / Home o / var ou qualquer outro em outra partição, você deve montá-lo / s da seguinte maneira:
mount /dev/sda2 /mnt/my_linux/var

  • NOTA: Tomei como exemplo a partição / dev / sda2 para a pasta / var, deixe cada um ajustar o código de acordo com suas características.

Normalmente, isso seria suficiente se você simplesmente precisar editar arquivos manualmente, mas se quisermos executar alguns comandos que configuram o sistema, precisamos montar certas pastas especiais do sistema: / 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

  • Com a opção -t nós dizemos montar o tipo de "sistema de arquivos" que queremos montar. É necessário especificá-lo devido à natureza especial das pastas / proc y / sys.
  • Com a opção -o especificamos as opções de montar. Opção vincular serve para "ligar". No UNIX, todos os dispositivos de hardware são acessíveis através da pasta / dev, é por isso que devemos montar nossa corrente / dev na pasta onde nosso sistema está quebrado agora. Como esta pasta já está montada, só é necessário informar montar onde está originalmente montado.

É feito desta forma para que chroot têm acesso a essas pastas como se fossem o sistema quebrado, embora devam ser do sistema atual (ex: a sessão LiveCD), pois estão relacionadas ao estado do sistema, processos e hardware.

Agora é a hora de usar chroot:
chroot /mnt/my_linux/ /bin/bash

  • O comando é passado como argumentos o caminho da nova raiz «/» (que no nosso caso é / mnt / my_linux) e o console que deseja usar (neste caso, optamos pelo conhecido bash, encontrado em / bin / bash) Se não especificarmos o console, nos encontraremos diante de um interpretador de comandos um tanto arcaico (não enche ao pressionar a guia, etc).

Agora podemos usar o console como se tivéssemos iniciado a sessão raiz em nosso sistema quebrado (editar arquivos, verificar scripts, instalar / desinstalar pacotes ...). AVISO! Para que as alterações feitas tenham efeito, você deve desmontar o sistema de arquivos após sair chrootVeja o exemplo abaixo.

mais informações https://wiki.archlinux.org/index.php/Change_Root (mais do que a leitura recomendada).

Exemplo de uso: restaurar GRUB2

Um dos usos mais difundidos de chroot É uma ferramenta para consertar o GRUB. Já que se o grub quebrar, é praticamente impossível inicializar nosso sistema para consertá-lo.

AVISO: este breve tutorial é um mero exemplo, ele funciona em várias distribuições derivadas do Debian, Ubuntu e openSUSE entre outras. Mesmo assim, verifique a documentação de sua distribuição, já que em muitas o comando não é encontrado atualização-grub.
# NOTA: esses comandos são executados uma vez dentro do chroot.update-grub
grub-install /dev/sda

  • Com atualização-grub Atualizamos o menu de entrada do GRUB2, adicionando, assim, todas as entradas ausentes. Posteriormente, reinstalamos o GRUB em nosso disco, pois ele foi danificado.

Neste caso eu peguei / Dev / sda como o álbum onde temos nosso sistema, este deve ser adaptado ao seu caso.

Nosso GRUB já deve estar consertado, então devemos sair chroot, desmonte o sistema de arquivos (IMPORTANTE) e reinicie para que as alterações tenham efeito. Se esquecermos de desmontar o sistema de arquivos, é possível que a reinicialização dos arquivos não seja desmontada corretamente e, portanto, algumas alterações não terão efeito.
# saímos do chrootexit
# desmonte o sistema de arquivos e reinicieumount /mnt/my_linux/dev
umount /mnt/my_linux/sys
umount /mnt/my_linux/proc
umount /mnt/my_linux
reboot

E isso é tudo. Espero que gostem e que isso te ajude. Uma saudação!


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Leper_Ivan dito

    Eu posso usar isso .. Em algum momento eu terei que usar.

  2.   mario dito

    Algum de vocês já usou Chakra Benz? Se sim, você poderia me dizer se
    é fácil para o usuário comum? Eu uso o SolydK, que é muito simples, mas
    Eu entendo que Chakra é puro KDE e me interessa.

    1.    Uau dito

      Sim, o chakra é muito bom e mais ou menos fácil, o fato é que para instalar / desinstalar pacotes você tem que fazer com o console, já que ainda estão trabalhando em um gerenciador gráfico de pacotes. Experimente porque vale a pena. Ele usa o gerenciador de pacotes pacman, herdado do Archlinux, mas cuidado, ele não compartilha repositórios com o arch e NÃO é compatível com eles. Se você quiser saber mais sobre o pacman, dê uma olhada no arch wiki https://wiki.archlinux.org/index.php/Pacman_%28Espa%C3%B1ol%29

      1.    Izzyvp dito

        Oktopi já é estável e funciona muito bem para um usuário médio, com isso você não precisa do terminal para usar o pacman.

  3.   x11tete11x dito

    Espero que este post seja visitado por muitos, então eles começam a reinstalar suas cabeças para qualquer coisa quando com um chroot você pode reparar o sistema quase sempre, o chroot permite a você várias possibilidades, incluindo a instalação do Gentoo xD hahaha

  4.   lunar dito

    fofo, obrigado ... Eu nunca dei bola porque alguns live-cd para consertar me parecem que eles aumentam por padrão, mas agora está claro, obrigado novamente

  5.   Lolo dito

    Para completá-lo, seria bom explicar como montar partições LVM, partições criptografadas e sistemas RAID.

    1.    Uau dito

      mmm Eu não toco LVM e RAID há muito tempo, mas você poderia me informar um pouco para concluir isso ... obrigado pela dica!

      1.    Lolo dito

        Bem, a verdade é que eu poderia usar muito.

        Seria muito apreciado.

        1.    Uau dito

          dê uma olhada neste wiki, é muito legal http://wiki.bandaancha.st/RAID_y_LVM_en_Linux

  6.   Modem dito

    Se este tópico existisse algumas semanas depois, descobri que tive um problema com meu sistema e li e li e em todos os lugares encontrei chroot e blablabla, mas não funcionou para mim com base na recomendação do live que é o mesmo do seu sistema , muito importante porque utilizo x64, a outra é montar as partições do sistema, pois no meu caso quando estava aplicando chroot e montagem, estava jogando um comando e ele simplesmente não reconheceu o comando.

    Este tópico irá para meus arquivos "compilação de informações"

  7.   biscoito dito

    Um Arch LiveCD (com esta ferramenta) é tudo o que é necessário para consertar seu sistema quando você o quebrar.

    1.    RAW-Básico dito

      Exatamente! .. ..é tudo o que é preciso .. até mesmo ajudar alguém com seu W $ que decidiu não começar ..

      Sempre tenho comigo um pendrive de 1gb com Arch live ... e chroot é tudo que é necessário para que em qualquer problema, em 10 min você tenha tudo em ordem sem se alarmar .. 😉

    2.    Izzyvp dito

      Você apenas tem que saber como fazer.

    3.    pablo dito

      Olá, observe que tenho um problema com centos, envia-me kernel panic etc. E ainda não consegui resolver, tenho meu site e banco de dados lá, não sei mais o que fazer.

  8.   jony127 dito

    Bom post, já tinha ouvido um chroot de passagem mas não sabia muito bem como usar, claro que nunca tinha precisado e por isso não tinha lido nada em particular. Agora com seu post explicado de forma bem clara, sei como usá-lo no caso.

    Muito obrigado e por falar nisso, longa vida ao Led Zeppelin hehe.

  9.   camala dito

    obrigado, eu finalmente saí do pesadelo de resgate do grub

    na verdade eu segui todos os passos, exceto umount / mnt / my_linux, porque ele me disse que estava ocupado, e eu fundi -km, mas nem isso, e pulo ...

    Espero que não seja importante….

    Agradeço novamente…
    uma saudação

  10.   José Antonio dito

    Embora o artigo já tenha alguns anos, quero agradecer ao autor por sua generosidade em compartilhá-lo. É um ótimo artigo porque este fim de semana salvou minha vida. Involuntariamente, carreguei um servidor instalando um pacote e ao reiniciá-lo não carregou. Após três dias tentando consertá-lo e lendo diferentes artigos, consegui chegar aqui por acaso e finalmente consegui reinstalar o grub e consertar o servidor.

    Muito obrigado !!!

    1.    Uau dito

      Estou feliz que ajudou você. Obrigado pelo comentário!

  11.   Helio dito

    Olá, que tal eu saber que esse post anos atrás, um grande obrigado por compartilhá-lo. E fiquei com uma dúvida, no meu caso danificou o sistema e também os drivers de rede, então segui os passos mas não me permite baixar pacotes, tem como ligar a rede live com o terminal

    1.    Uau dito

      Não entendo bem o seu problema ... Quando você faz o login com o LiveCD, o kernel que carrega é o do LiveCD, portanto você deve conseguir configurar uma conexão de internet perfeitamente. Uma vez que a conexão for feita, tente fazer o chroot para ver se você continua a mantê-lo, caso contrário, você pode ter que configurá-lo novamente, mas o kernel danificado não deve afetar a sessão chroot.
      Se você não especificar mais, eu posso te dizer ...

  12.   dach dito

    Excelente Postagem… um dos poucos artigos úteis encontrados na Internet.
    Muito obrigado pela contribuição.

  13.   zopeque dito

    Olá, excelente tutorial! Soberbamente explicado, para nós, meros mortais!

    Tenho uma pergunta:
    Quando você mencionou que no caso de precisar instalar pacotes, realizar atualizações de sistema ou outra atividade especial, e exigir a montagem das pastas / dev / proc e / sys, não ficou claro para mim se essas pastas estão no sistema Live com o qual iniciou o equipamento a ser reparado, ou se eles estão na partição raiz montados primeiro.

    Obrigado.

  14.   Orlando dito

    MUITO OBRIGADO!!!!