Distros comutados; Quebrou o grub

2

Meu disco rígido usa o GPT. Eu configurei meu modo de inicialização apenas para UEFI. Minhas partições são:

/dev/sda

/dev/sda1 Grub 300MiB FAT32
/dev/sda2 Linux 97.66GiB ext4
/dev/sda3 Windows 97.66GiB NTFS
/dev/sda4 Microsoft_Reserved 16MiB unknown
/dev/sda5 Data 726.13GiB NTFS 
/dev/sda6 Swap 9.76GiB linux-swap 

Eu configurei o grub em /boot/efi on /dev/sda1 durante a instalação do Sparky linux em /dev/sda2 . Tudo estava funcionando bem e eu poderia escolher entre o Linux, sua recuperação, o Windows 10 e o BIOS a partir do menu do grub quando configurá-lo como o primeiro na ordem de prioridade de inicialização.

Agora substituí o Sparky Linux pelo Solus Linux. Mas o problema é que o grub não funciona mais. A inicialização a partir da partição do grub me deu o seguinte erro:

error: file '/boot/grub/x64_86-efi/normal.mod' not found.
Entering rescue mode
grub rescue>

Inicializando no linux e fazendo sudo update-grub me deu:

$ sudo update-grub
Generating grub configuration file ...
Found background: /usr/share/backgrounds/splash.tga
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
Found Windows Boot Manager on /dev/sda1@/EFI/Microsoft/Boot/bootmgfw.efi
done

mas isso não parece resolver isso. Meu HDD atualmente tem 3 bootloaders que eu acho: Linux, Windows e grub, pelo menos é o que está sendo mostrado no menu de prioridade de boot no BIOS.

Editar : Eu tentei reinstalar o grub e agora eu tenho dois bootloaders grub, nenhum deles funciona.

Saída de lsblk :

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 931.5G  0 disk 
├─sda1   8:1    0   300M  0 part 
├─sda2   8:2    0  97.7G  0 part /
├─sda3   8:3    0  97.7G  0 part 
├─sda5   8:5    0    16M  0 part 
├─sda6   8:6    0 726.1G  0 part 
└─sda7   8:7    0   9.8G  0 part [SWAP]
sr0     11:0    1  1024M  0 rom  

Não sei o que fazer para corrigir isso. Eu só quero ter a opção de selecionar meu sistema operacional na inicialização.

    
por Spikatrix 03.11.2017 / 15:00

2 respostas

1

Este link linux.com explicará como se recuperar de um grub quebrado através do resgate grub.

Basicamente, você precisa

ls (hd0,1)/
ls (hd0,2)/

e assim por diante até encontrar o diretório / boot / grub e também os arquivos vmlinuz e initrd.img. Embora o link espere que esses arquivos estejam em /boot/vmlinuz-x.y.z.blah, você provavelmente os verá como links em / que apenas apontam para o kernel atual e initrd. Se você não fizer isso, basta olhar em / boot / e alterar o abaixo de acordo.

A julgar pelo seu lsblk / boot / grub pode estar em (hd0,1) e o resto do seu sistema operacional Linux está ligado (hd0,2).

Depois de encontrar a partição com o seu SO, você poderá verificar isso com

cat (hd0,2)/etc/fstab

Se essas suposições estiverem corretas,

set prefix=(hd0,1)/boot/grub  #tells grub where it can find insmod etc
set root=(hd0,2)              #tells grub where to find / 
insmod normal                 #loads normal module
normal                        #executes normal
insmod linux                  #loads the linux module
linux /vmlinuz root=/dev/sda2 #executes linux, loads the kernel and tells it where to find /
initrd /initrd.img            #loads the initrd
boot

Observe o comando root = / dev / sdx. Se você omitir isso ou apontar para a partição errada, você receberá um kernel panic. Se sim, então apenas REISUB e comece de novo.

Se o acima não funcionar, tente novamente alterar a primeira linha para

set prefix=(hd0,2)/boot/grub

Quando estiver, pode reinstalar o grub.

Eu gosto de usar o grub-customizer ao consertar o grub simplesmente porque ele me permite ver as opções de inicialização e configurar o grub enquanto ainda estou no linux e corrigir quaisquer problemas antes de fazer a reinicialização.

    
por 11.11.2017 / 05:31
0

Você deve conseguir reinstalar o GRUB fazendo o seguinte:

  1. Inicialize no Linux usando um USB / CD ao vivo
  2. chroot no seu Linux partição raiz (eu assumo / dev / sda2)
  3. monte / dev / sda1 em / boot / efi

  4. execute o sudo grub-install

O que acontece se você tentar isso?

(OBSERVAÇÃO: recomendamos que você verifique se os dados críticos são armazenados em backup primeiro)

    
por 08.11.2017 / 20:58