Aparentemente, o fstab não foi salvo ou foi removido. Reconfigurar este arquivo resolveu todos os problemas.
Eu instalei o Archlinux e depois disso o GRUB. Entrei manualmente entradas de menu para minha instalação do Windows e do Arch.
O GRUB não tem problemas para inicializar e pode ser carregado com êxito no Windows. Não pode carregar no Arch embora. Linux vai me chutar em um shell de recuperação sem arquivos /deb/sda
. O USB é detectado corretamente no entanto.
O que está causando isso e como corrigir? Devo copiar o log de erro inteiro? Não é tão longo, apenas me diz que não pode encontrar o dispositivo "e não é possível acessar tty.
Meu palpite é que a entrada /boot/grub/grub.cfg
do Arch nomeia o dispositivo incorretamente. Consulte artigo de nomenclatura de dispositivo de bloqueio persistente no Arch Wiki para obter detalhes de fundo realmente interessantes.
Meu servidor do Arch tem essa linha em grub.cfg
:
linux /boot/vmlinuz-linux-lts root=UUID=51167b47-d8b4-41e5-87d5-9c5a7bb6fbc1 ro quiet
Parece que estou usando a nomenclatura "por-uuid". O arquivo /etc/fstab
usa o "/ dev / sda?" nomes de estilo, mas ele é gerado automaticamente, e os comentários indicam que / dev / sda1 se refere ao mesmo UUID que em grub.cfg
.
Para corrigir isso, eu diria que refazer as coisas do GRUB usando o Guia do Iniciante do Arch , exceto que você tem uma configuração de inicialização dupla. Talvez você possa gerar um arquivo grub.cfg
em outro lugar e ver qual é o valor "root=":
grub-mkconfig -o /tmp/testgrub.cfg
Corri isso e ficou assim:
[root@splunge tmp]# grub-mkconfig -o /tmp/testgrub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux-lts
Found initramfs image: /boot/initramfs-linux-lts.img
Found fallback initramfs image: /boot/initramfs-linux-lts-fallback.img
Found linux image: /boot/vmlinuz-linux-lts
done
Em "menuentry 'Arch Linux'", encontrei esta linha em /tmp/testgrub.cfg
:
linux /boot/vmlinuz-linux-lts root=/dev/sda1 rw quiet
Isso me diz que outro caminho a percorrer pode ser necessário, já que diz "/ dev / sda1" em vez do UUID acima. O que /etc/fstab
diz logo acima da entrada "/ dev / sda1"? Se for um UUID, talvez você queira editar /boot/grub/grub.cfg
para definir a partição raiz por UUID.
EDITAR
Como você diz que /boot/vmlinuz-linux
existe, eu diria para reinstalar o GRUB: pacman -S grub
. Algo atrapalhou os scripts de shell que compõem grub-mkconfig
, impedindo que eles criem um bom arquivo grub.cfg
. Em seguida, tente o comando grub-mkconfig
acima para ver se ele encontra um kernel em /boot
. Em caso afirmativo, execute-o novamente e veja o que é o parâmetro "root=" na seção de menuentro "Arch Linux".
Tags grub2 devices arch-linux