Depois de instalar o Arch Linux, reiniciei, mas agora não consigo concluir o processo de inicialização. Acabo na tela acima com esta mensagem
ERROR: Boot device mounted successfully, but /sbin/init does not exist. Bailing out, you are on your own. Good luck.
sh: can't access tty; job control turned off.
e um
[rootfs ]#
aviso.
Eu verifiquei e confirmei através de um disco ativo quesbinexiste como umsimbólico linkpara/usr/bin. Entretanto não tenhoiniciararquivo/pasta no meu/usr/bindiretório. Onde devo conseguiriniciarpasta de arquivo? Perdi alguma etapa durante a instalação? Há algo que eu possa fazer para corrigir isso? Obrigado.
Responder1
Seguindo meu comentário, o que eu recomendo que você faça para corrigi-lo é reinicializar seu sistema com o livecd (ou qualquer método usado para inicializar no ambiente de instalação) e refazer estas etapas do processo de instalação:
Se ainda não funcionar depois disso, sugiro verificar qual sistema de arquivos está realmente sendo montado pelo gerenciador de inicialização. Talvez dando uma lista de quais arquivossãopresente no /usr/bin
diretório nos permitiria ajudá-lo ainda mais.
Responder2
Passei meio dia com esse problema e finalmente percebi que a causa no meu caso foi que eu havia configurado/usr em uma partição separada, e apenas a partição raiz foi montada no ponto onde a inicialização do grub tenta acessar/usr /bin/init.
Resolvi o problema movendo a hierarquia de arquivos /usr para a partição raiz.
Ricardo
Responder3
Com uma /usr
partição separada você deve usar um initramfs/mkinitcpio e deve adicionar o usr-hook. Há um comentário /etc/mkinitcpio.conf
que explica exatamente isso. Ganchos adicionais também podem ser necessários, descritos nos comentários do arquivo. Gere novamente o initramfs posteriormente, por exemplo mkinitcpio -P
.
Antecedentes: Atualmente todas as principais distribuições estão mais ou menos quebradas com uma /usr
partição separada devido ao armazenamento inconsistente de binários e bibliotecas. De acordo com o Linux Standard Base eles devem usar /bin, /sbin e/ ou /lib. Em vez disso, a maioria cria seus próprios e preenche /usr/bin, para fazer truques com /usr/sbin e mistura isso com diferentes caminhos de biblioteca. Isso ocorre em parte para evitar que os usuários quebrem coisas e para torná-lo conveniente e em parte porque não existe uma placa acima de todos os padrões.
Pelo menos o Arch Linux e o Gentoo Linux oferecem guias recentes em seus Wikis para configurações sofisticadas. Eu recomendo ler o GentooMontagem antecipada no espaço do usuáriopara ter uma ideia do que é necessário para criar um initramfs personalizado. Arch Linux é um pouco mais de alto nível nisso.
Eu absolutamente recomendo ficar no lado seguro para sistemas de desktop comuns e executar com muito pouco particionamento. Fazendo login diariamente, você reconhecerá rapidamente que o sistema de arquivos está cheio. É seguro dividir /home
em uma partição (e disco) separada e manter todos os outros diretórios em uma única partição/unidade do sistema operacional.
Não-desktops/servidores devem definitivamente dividir as partições para evitar o preenchimento de partições bloqueando todo o sistema. Eles funcionam sem supervisão por meses ou anos. Eles escrevem logs, dados e talvez atualizam pacotes automaticamente. Você não pode mais fazer login em uma máquina que não tenha mais espaço /tmp
ou /run
( /var
dependendo da distribuição) por causa de logs coletados ou arquivos de pacotes baixados. Também é muito provável que haja dispositivos RAID e/ou sistemas de arquivos sofisticados para algumas partições. O que requer ainda mais ganchos e configuração manual do gerenciador de inicialização e tudo abaixo /sbin/init
.