Erro no Grub: arquivo '/grub/i386-pc/normal.mod' não foi encontrado?

14

Eu recentemente instalei arch (espero que com sucesso) na minha máquina. Quando fui reiniciar, no entanto, tive um problema. Eu tenho uma tela preta com texto dizendo

Grub loading.
Welcome to GRUB!
error: file '/grub/i386-pc/normal.mod' not found.
Entering rescue mode...
grub rescue>

Desde então, pesquisei procurando uma resposta. Eu quase encontrei um aqui nos fóruns do Ubuntu ainda então eu vi um dos comentários dizendo que era falso. Há também outra resposta, mas não tenho certeza se quero instalar a partir do CD ao vivo por medo de estragar as coisas.

Você entenderia meu medo se também gastasse 7 horas configurando isso depois de constantemente se deparar com problemas de particionamento, comando, tutorial e sistema. Que alegria.

Alguém sabe de uma solução fácil para fazer o grub funcionar?

    
por Griffin 29.03.2013 / 18:59

8 respostas

8

Estou no meio de um problema semelhante (aliás também no arco)

O Grub não consegue encontrar este arquivo e é executado porque está usando um "prefixo" incorreto

Aqui está o que você faz. Você inicializa no modo de resgate do grub e, em seguida, simplesmente descobre como fazer isso.

Primeiro você executa o set . Isso listará as variáveis, por exemplo, o meu é

cmdpath=(hd0)
prefix=(hd1,msdos3)/boot/grub
root=hd1,msdos3

Agora, o prefixo é a variável onde o grub procura o arquivo normal.mod. No meu caso hd1, msdos3 é o mesmo que / dev / sdb3 (da mesma forma, hd0, msdos1 seria / dev / sda1) o que você pode querer fazer para ver um lista de partições válidas é tipo em ls

Agora, no meu caso, mais uma vez, o grub foi instalado em / dev / sdb1 que foi montado como / boot em minha partição Arch, então o prefixo correto seria (hd1, msdos1) / grub

Então, para eu inicializar, preciso fazer isso:

set prefix=(hd1,msdos1)/grub
insmod normal
normal

No seu caso, você terá que lembrar ou adivinhar em qual partição você instalou o grub. Você pode adivinhar errado, isso não causará nenhum dano, o comando insmod simplesmente falhará e você poderá tentar novamente com outra partição.

Depois disso, o grub carrega como deveria, e eu posso escolher na lista o que eu quero inicializar. Normalmente, quando uma bagunça como essa ocorre, reinstalar o grub no seu mbr (usando grub-install ) deve consertá-lo permanentemente, para que você não tenha que fazer isso toda vez que inicializar. No entanto, tenho muita dificuldade descobrir o que fazer se a correção não for tão fácil (ou eu compartilharei o que você deve fazer).

Somente se isso falhar (por exemplo, se o prefixo estiver correto, mas você ainda não conseguir inicializar), você deve recorrer ao live ou rescue cds para contornar o problema (é melhor evitar isso)

    
por 26.02.2016 / 02:59
7

Uma coisa realmente chata ...

Como aparentemente o diretório / boot / grub / i386-pc simplesmente não estava no lugar, eu finalmente resolvi o problema copiando o / usr / lib / grub / i386-pc para / boot / grub. Isso é tudo.

cp -r /usr/lib/grub/i386-pc /boot/grub
    
por 09.02.2014 / 12:29
4

Acabei de ter este problema hoje após uma nova instalação do Mint 15.

O instalador criou /boot/grub/x86_64-efi modules, mas não os% regulares /boot/grub/i386-pc modules.

Uma reinstalação do Grub do Live CD resolveu o problema.

Substitua / dev / sda e / dev / sda1 pelo seu dispositivo de inicialização e partição de inicialização e execute os seguintes comandos do Live CD:

sudo mount /dev/sda1 /mnt
sudo grub-install --boot-directory=/mnt /dev/sda
sudo reboot
    
por 03.08.2013 / 18:34
1

Obrigado pela sua postagem. Eu resolvi uma mensagem de erro quase idêntica - "arquivo '/grub2/i386-pc/normal.mod' não encontrado" após uma nova instalação do Linux CentOS 5.11 em um antigo computador Dell Optiplex com o Windows Vista, a fim de fazer uma dupla sistema de inicialização.

O que complicou minha situação foi que eu já tinha tentado e não consegui instalar a mais recente distribuição do Fedora 20, que usa o GRUB2 ao invés do GRUB (LEGACY), nas partições padrão do FEDORA. Então eu tentei instalar o CentOS diretamente sobre isso, mantendo a partição do Windows e sobrescrevendo as partições FEDORA.

Durante a instalação do CentOS, deixei minha primeira partição (Windows) sozinha (hd0,0) e criei o diretório / boot em uma segunda partição (boot) (hd0,1). Em seguida, optei por não modificar o MBR no momento e, em vez disso, selecionei a outra opção (bootloader em outra partição).

Depois do que pareceu ser uma instalação bem-sucedida, foi reinicializado no erro acima.

Eu suspeito que as informações de inicialização na primeira partição continuavam apontando para a localização do GRUB2. A CPU não conseguiu encontrar normal.mod, talvez porque as partições FEDORA00 criadas anteriormente tivessem sido removidas.

Aqui estão os meus passos:

  1. Inicialize do CD de instalação do Centos 5 no modo de recuperação ("resgate do linux").

  2. Monte a unidade local: chroot / mnt / sysimage

  3. Mude para o modo de usuário único: su

  4. Atualize a instalação do CentOS: yum update

  5. Use o editor emacs para adicionar o "Microsoft Windows Vista" ao arquivo grub.conf: emacs /boot/grub/grub.conf, e torne o Vista o sistema operacional padrão.

    ( NOTA: Veja www.cyberciti.biz/faq/grubconf-for-windows-vista-or-xp-dual-boot/ e link .)

  6. Tentativa de atualizar o MBR: grub-install / dev / hda

  7. Reinicialize para um erro do GRUB não identificado, no qual a CPU desligou após exibir o "GRUB".

  8. Reinicialize a partir do disco de instalação original do Windows Vista (ou outro disco de recuperação do Windows) e selecione a opção para reparar o disco. Receber mensagem de que o MBR foi reparado.

  9. Reinicialize corretamente no Windows Vista.

Tenho certeza de que existem soluções mais elegantes, mas isso funcionou para mim. Também tentei fazer o download do pacote de migração GRUB para GRUB2, conforme descrito no link , tentando:

$ yum install grub-pc

Mas não foi possível encontrar o pacote. Talvez eu devesse ter tentado yum install grub .

    
por 03.10.2014 / 21:07
0

Adicionando o flittermice ...

se você inicializar a partir de um USB, e tiver a pasta i386, você pode abrir a pasta i386 na partição quebrada como root e copiar a pasta i386 de trabalho do usb.

    
por 12.09.2015 / 04:36
0

Entrei no meu sistema CentOS 6.7 em dois estágios. Primeiro, eu segui o conselho do flittermice acima, inicializei a partir do live CD, montei meu / dev / sda2 como / mnt e apenas copiei a pasta i386-pc de / mnt / usr / ... (você pode descobrir onde está o seu por find /|grep i386 ) para / boot / grub e reiniciado.

Isso me deu grub > em vez de resgate grub > ; -).

Então eu segui um guia aqui [ link para encontrar e inicializar na minha partição. Foi (hd0,2), porque (hd0,1) foi tirado pela troca.

Mais tarde, descobri que tornar essa inicialização "automática" não era possível, provavelmente porque minha / boot estava no ext4 com tamanho de inode 256, e o antigo grub1 requer 128. Tentarei seguir alguns comandos de [< um href="http://kb.kristianreese.com/index.php?View=entry&EntryID=113%5D"> link para preparar a partição antes da instalação.

    
por 23.02.2016 / 19:15
0

Reinstale o Ubuntu. Vá para "fazer outra coisa". Selecione sua partição de instalação do Windows como o local onde deve instalar o gerenciador de inicialização.

Se você tiver uma instalação existente do Windows, deverá instalar o grub na mesma partição; caso contrário, você terá o problema visto na pergunta.

Isto é relevante para 14, 15, 16, 17 todas as versões do Ubuntu e provavelmente versões anteriores. Quando perguntado onde instalar o gerenciador de inicialização, não crie e selecione uma partição / boot; Em vez disso, use a partição do Windows.

Obrigado.

    
por 08.11.2017 / 06:36
0

Experimente o live grub cd: link  Então o terminal:  cp -r / usr / lib / grub / i386-pc / boot / grub era a única coisa Esse método funcionou para mim.

    
por 28.11.2017 / 00:22

Tags