Fazendo "chroot" facilmente

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

[ Hits: 48.035 ]

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

Seu compilador GCC não funciona mais, como solucionar?

OpenSUSE Education Li-f-e 11.3 - Excelente distribuição para uso educacional, técnico e científico

Pendrive que não é reconhecido, nem formata? Truque para... RESOLVER!

Navegador/Suíte SeaMonkey em toda e qualquer distro

Sabayon Linux - Nova sintaxe e modos de uso dos repositórios

Leitura recomendada

Aliases no bash e como "escapar" um comando com alias

Montando iPad no Linux

MultiTail - Comando tail em múltiplos arquivos no Linux

Como acertar o relógio do Linux via console

Manipulação de fitas com MT

  

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