Fazendo "chroot" facilmente

Publicado por Alberto Federman Neto. em 30/08/2013

[ Hits: 50.454 ]

Blog: https://ciencialivre.blog/

 


Fazendo "chroot" facilmente



De vez em quando, precisamos acessar outra partição diferente da nossa do boot, para corrigir erros.

Muitos sabem que isso é feito a partir de um Live-CD ou do boot de um outro GNU/Linux, em outra partição. Para fazer isso, usamos "montar" (comando mount) e depois usando chroot.

Até aí tudo bem, mas tenho visto na Net, muitos erros reportados, tanto na montagem como no chroot. Exemplos:
MOUNT: "Tal dispositivo não existe ou não está no fstab"

CHROOT: "/dev/null permissão negada"

Tais erros ocorrem porque o "ponto de montagem" não é achado e/ou porque o sistema "protege" e não deixa acessar.

Mas há um jeito fácil de driblar isso, é criando um diretório auxiliar, para o qual temos permissões amplas.

Vamos ver. A próxima vez que precisar de um chroot, faça assim:

1. Faça boot no Live-CD ou no outro GNU/Linux. Como root, crie uma pasta auxiliar e depois a acesse, vá para ela:

# mkdir /mnt/nome
# cd /mnt/nome


Onde "nome", é um nome qualquer que inventou.

2. Agora, "monte" o seu dispositivo, ou partição (a que quer acessar), nessa pasta:

# mount /dev/sdXY /mnt/nome

Onde X e Y são os descritores do dispositivo ou partição que quer acessar. Por exemplo, se for o seu GNU/Linux que está na partição 3 do seu único HDD, será "sda3".

3. Agora "faça chroot":

# chroot /mnt/nome /bin/bash

E pronto!

Testando

Quer ver como funcionou?

No terminal, o "nome" que usei foi "rota", e acessei a partição "sdb5" do meu Sabayon principal, a partir do meu outro Sabayon de testes.

A "mudança" do terminal e o comando ls, mostram que funcionou, estou na raiz de sdb5:

sudo mkdir /mnt/rota
$ cd /mnt/rota
$ sudo mount /dev/sdb5 /mnt/rota
$ sudo chroot /mnt/rota /bin/bash

# ls

  12117  boot   etc           lib    libpng14.so.14  opt   root  sys  var
  62019  dev    home          lib32  media           proc  run   tmp
  bin    erros  install-data  lib64  mnt             -q    sbin  usr


Espero ter ajudado! Até a próxima!

Outras dicas deste autor

Lembre-se: você tem espaço gratuito para armazenar arquivos na rede!

Onde está a linha que preciso editar? [Resolvido]

Multifuncional HP Deskjet 2050 - scanner não funciona no Sabayon Linux [Resolvido]

Otimizando os locais (países) para português e Brasil no Sabayon Linux

Instalador universal de pacotes PackageKit e suas GUIs em qualquer distro, inclusive no Sabayon

Leitura recomendada

Terminal Drop Down nativo Xfce

Extraindo Dados de Sites da Internet pelo Terminal

Utilizando alias para agilizar comandos no Linux

Permissão para desligar o sistema

Habilitando/Desabilitando daemons no Debian

  

Comentários
[1] Comentário enviado por albfneto em 30/08/2013 - 11:36h

COMPLEMENTOS DA DICA:

Atualizado até 13 de Abril de 2018.

Juntando esta Dica com procedimentos gráficos de montagem, fica ainda mais fácil corrigir problemas:

http://www.vivaolinux.com.br/dica/Forcando-a-montagem-do-sistema-de-arquivos-e-do-disco-rigido-para-...

Outros modos relacionados, mais elaborados de fazer chroot:

http://casadopinduvoz.wordpress.com/2014/04/08/fazer-chroot-no-ubuntu/
http://www.vivaolinux.com.br/dica/Ambiente-seguro-com-chroot
http://ubuntuforums.org/showthread.php?t=1156240
https://wiki.sabayon.org/index.php?title=HOWTO:_Restore_Grub2

[2] Comentário enviado por deni em 13/06/2014 - 13:09h

Ola albfneto.
Hoje precisei usar o "chroot" numa partição que está o Arch. Não consigo reconfigurar a resolução de tela. Andei fazendo bobagem e desconfigurou. Também não consegui entrar no tty1. Usei a tua indicação e funcionou ....
abs...

[3] Comentário enviado por guum em 24/12/2019 - 04:42h

Alberto
Estou tentando consertar a dificuldade que tive com a clonagem de pendrive bootável com win10
que fiz com dd
# dd if=/dev/sdc of=/dev/hdb
-- mas não arranca, parece não ter boot
Então li teu artigo acima - Fazendo "CHROOT" facilmente -
Mas:
root@deb9sub:/# mount /dev/sdb /mnt/nome
mount: tipo de sistema de arquivos incorreto, opção inválida,
superbloco inválido em /dev/sdb, página de código ou programa
auxiliar faltando ou outro erro

Em alguns casos, informações úteis são encontradas no
syslog - tente "dmesg | tail" ou algo assim.
root@deb9sub:/# dmesg | tail
[ 73.923901] sd 6:0:0:0: [sdb] Write Protect is off
[ 73.923904] sd 6:0:0:0: [sdb] Mode Sense: 23 00 00 00
[ 73.926706] sd 6:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[ 73.932653] sdb: sdb1
[ 73.939095] sd 6:0:0:0: [sdb] Attached SCSI removable disk
[ 76.138059] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 1)
[ 76.138063] FAT-fs (sdb1): Filesystem has been set read-only
[ 112.945713] systemd[1]: apt-daily-upgrade.timer: Adding 31min 33.744452s random time.
[ 114.377983] sdb: sdb1
[ 135.505403] systemd[1]: apt-daily-upgrade.timer: Adding 28min 14.451566s random time.
root@deb9sub:/# mount /dev/sdb1 /mnt/nome
mount: /dev/sdb1: não foi possível ler o superbloco
root@deb9sub:/#
- - -
Então, poderias dar uma sugestão aqui?
Abraço.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts