Não é possível executar o chroot / mnt / sysimage Após inserir nova imagem no computador HP

1

Estou usando o Clonezilla para colocar uma nova imagem do CentOS 7 em nossos computadores. A maioria deles são desktops da Lenovo e temos alguns desktops da HP que atualmente executam a imagem antiga.

Para que a nova imagem funcione depois que o Clonezilla a restaura para a nova imagem, precisamos inserir um USB com o Disco de Recuperação do CentOS 7 e inicializá-lo para executar alguns comandos, começando com chroot /mnt/sysimage .

Isso funciona muito bem nos desktops da Lenovo, mas quando executo esse comando nos desktops da HP, recebo esta mensagem de erro:

chroot: failed to run command ‘/bin/bash’: No such file or directory

As máquinas da Lenovo e da HP têm o mesmo tamanho de HD (80 GB) e estou colocando exatamente a mesma nova imagem em ambas. Eu não posso para a vida de mim descobrir por que um está trabalhando e o outro não, e eu não quero desmantelar a nova imagem e começar do zero (nós só temos cerca de 5 máquinas que são HP, o resto são Lenovo) .

Alguém poderia fornecer algumas dicas sobre por que o comando chroot não funciona nas máquinas da HP? Obrigado.

    
por snowfi6916 18.07.2017 / 16:21

4 respostas

0

Então eu descobri que as máquinas da HP (junto com o novo modelo Lenovos) estavam montando as partições do Linux em /dev/sdb ao invés de /dev/sda quando eu inseri o disco de resgate do CentOS 7.

Isso aconteceu porque eu tinha o Disco de Recuperação em um USB, então o sistema montou o USB no /dev/sda em vez de outra partição.

Para contornar isso, eu fiz o download do ISO para o CentOS 7 e o gravei em um DVD e inicializei para ele. Agora posso executar meu comando chroot sem problemas, pois a partição Linux agora está em /dev/sda .

Obrigado a todos por suas sugestões e ajuda.

    
por 24.07.2017 / 17:20
1

Parece que / mnt / sysimage não está montado como esperado. O comando

mount | grep "/mnt/sysimage"

deve informar o que está montado em /mnt/sysimage . Se não houver saída, /mnt/sysimage não está montado e, nesse caso, tente montá-lo manualmente. Use o comando:

cat /proc/partitions | tr -s ' ' | cut -d ' ' -f 5

para obter uma lista de partições. Então tente

mount /dev/<partition_name> /mnt/sysimage

Você pode ter que adivinhar o nome correto da partição. Não é possível contar a partir das informações que você fornece. Para tentar outra partição, desmonte a partição anterior por

umount /mnt/sysimage
    
por 21.07.2017 / 18:51
0

A mensagem de erro é enganosa e significa apenas que /bin/bash não existe (não o seu caso); ou que o carregador dinâmico usado por /bin/bash não existe (provavelmente o seu caso); ou mesmo que rsync foi usado para criar as pastas usr, lib e lib64 sem o preservar o sinalizador de links.

A explicação mais provável é que as pastas lib e / ou lib64 estão ausentes seu chroot.

Você deve copiar as três pastas usr, lib e lib64 enquanto preserva os links ou apenas mount --bind para /mnt/sysimage .

    
por 22.07.2017 / 08:01
0

Se ele funciona em algumas máquinas, mas não em outras, é possível que as arquiteturas sejam diferentes. Eu suspeito que uma configuração tenha 32 bits e a outra 64 bits - é necessário garantir que binários e bibliotecas compartilhadas existam para ambas as arquiteturas ou que o pendrive não funcione. para ambos ..

    
por 23.07.2017 / 17:20