Grub rescue - erro: sistema de arquivos desconhecido

59

Eu tenho um sistema de inicialização múltipla configurado. O sistema possui três unidades. A inicialização múltipla é configurada com o Windows XP, Windows 7 e Ubuntu - tudo na primeira unidade. Eu tinha muito espaço não particionado restante na unidade e estava reservando-o para adicionar outros sistemas operacionais e armazenar arquivos no futuro.

Um dia, fui em frente, baixei o Partition Wizard e criei uma partição NTFS lógica a partir do Windows 7, ainda sobrando espaço não particionado. Tudo funcionou bem, até que eu reiniciei o computador alguns dias depois.

Agora estou recebendo:

error: unknown filesystem.  
grub rescue>

Antes de tudo, fiquei surpreso por não encontrar nenhum tipo de comando de ajuda, tentando:

help, ?, man, --help, -h, bash, cmd, Etc.

Agora estou preso ao sistema não inicializável. Comecei a pesquisar o problema e descobrir que as pessoas geralmente recomendam inicializar em um Live CD e corrigir o problema a partir daí. Existe uma maneira de corrigir esse problema no resgate do grub sem a necessidade do Live CD?

ATUALIZAR

Seguindo as etapas dos comandos Persist digitados para o resgate do GRUB , consegui inicializar no prompt do initramfs. Mas não em nenhum outro lugar além disso.

Longe de ler o manual sobre o grub rescue , pude ver minhas unidades e partições usando o lscomando Para o primeiro disco rígido, vejo o seguinte:
(hd0) (hd0, msdos6) (hd0, msdos5) (hd0, msdos2) (hd0, msdos1)

Agora eu sei que (hd0, msdos6) contém Linux, uma vez que ls (hd0,msdos6)/lista os diretórios. Outros darão "erro: sistema de arquivos desconhecido".

ATUALIZAÇÃO 2

Após os seguintes comandos, agora estou chegando ao menu de inicialização e posso inicializar no Windows 7 e Ubuntu, mas, após a reinicialização, tenho que repetir essas etapas.

ls
ls (hd0,msdos6)/
set root=(hd0,msdos6)
ls /
set prefix=(hd0,msdos6)/boot/grub
insmod /boot/grub/linux.mod
normal

ATUALIZAÇÃO 3

Obrigado Shashank Singh, com suas instruções, simplifiquei meus passos para o seguinte. Aprendi com você que posso substituir o msdos6 por apenas 6 e que posso fazer em insmod normalvez de insmod /boot/grub/linux.mod. Agora só preciso descobrir como salvar essas configurações no próprio grub, sem inicializar em nenhum sistema operacional.

set root=(hd0,6)
set prefix=(hd0,6)/boot/grub
insmod normal
normal

ATUALIZAÇÃO 4

Bem, parece que é um requisito inicializar no Linux. Após a inicialização no Ubuntu, executei as seguintes etapas descritas no manual :

sudo update-grub
sudo grub-install /dev/sda

Isso não resolveu o problema. Ainda recebo o prompt de resgate do grub. O que preciso fazer para corrigi-lo permanentemente?

Aprendi também que os números de unidades como em hd0 precisam ser traduzidos para letras de unidades como em / dev / sda para alguns comandos. hd1 seria sdb, hd2 seria sdc e assim por diante. As partições listadas no grub como (hd0, msdos6) seriam convertidas para / dev / sda6.

ATUALIZAÇÃO 5

Não consegui descobrir por que o seguinte não corrigiu o grub:

sudo update-grub
sudo grub-install /dev/sda

Então, eu baixei o reparo de inicialização com base em uma resposta da https://help.ubuntu.com/community/Boot-Repair post. Isso pareceu resolver o problema depois que escolhi a opção "Reparo recomendado (repara os problemas mais frequentes)".

user53817
fonte
O zdnet.com/… também tem algumas informações úteis sobre esse assunto.
K7AAY
ter problema semelhante, mas na minha ao vivo USB também é inútil goo.gl/Mr61V1
Ramesh
Alterar a ordem de inicialização, a partir do CD de recuperação do Windows 7, terminal inicial, digitar "Bootrec.exe / FixMbr" (sem aspas) e reiniciar corrigiu o meu problema.
consuela 26/11
Na atualização anterior3 funcionou para mim, mas agora o mesmo problema. Não funciona, mesmo eu tentei com pastas listadas no Grub Rescue. Eu tentei fazer backup de dados usando o dispositivo ISO do ubuntu, o ubuntu existente não está listado. Ajude-me o que devo fazer agora?
Jaccs
Essa parece ser a pergunta canônica, mas uma pergunta ainda mais antiga é o sistema de arquivos desconhecido: grub rescue .
Peter Mortensen

Respostas:

25

Não consegui descobrir por que o seguinte não corrigiu o grub:

sudo update-grub
sudo grub-install /dev/sda

Portanto, baixei o reparo de inicialização com base em uma resposta dos comandos Persist digitados na postagem de resgate do GRUB . Isso pareceu resolver o problema depois que escolhi a opção "Reparo recomendado (repara os problemas mais frequentes)".

Também usei o Grub Customizer para personalizar a ordem das entradas de inicialização.

user53817
fonte
Não funcionou porque, depois de executar o último comando, você precisaria executar o sudo update-grub novamente. Em uma sessão ao vivo, seria necessário montar o sistema de arquivos de destino no mnt, chroot no sistema de arquivos e executar o sudo update-grub a partir do chroot.
Mchid 28/05
Usando as informações desta resposta (instalando e usando o reparo de inicialização) e da pergunta, ele funcionou para se recuperar em um netbook Acer em que eu havia escolhido um item errado no menu do GRUB, "Ambiente de recuperação do Windows (carregador) (ativado /dev/sda1)" , durante o tempo de inicialização.
Peter Mortensen
7

Há uma causa alternativa desse problema. Nesse caso específico, o GRUB estava de alguma forma corrompido e precisava ser reparado ou reinstalado. No entanto, como mostrado no resgate do Grub, falha no "Reparo de inicialização" com o erro "sistema de arquivos desconhecido" , também é possível que a partição raiz na qual o GRUB está instalado possa estar corrompida. Para corrigir isso:

Essa é uma solução possível, mas provavelmente não deve ser usada para que sua partição raiz não seja corrompida. Executando o comando fsck -t ext4 /dev/sda1, este programa tenta procurar e reparar erros em um sistema de arquivos corrompido. Substitua sda1 pela sua partição raiz real. Substitua ext4 pelo sistema de arquivos real; você precisa conhecer o sistema de arquivos ou a partição ficará mais corrompida. Consulte Reparando um sistema de arquivos corrompido para obter mais informações.


Mesmo que essa pergunta tenha uma resposta, existe uma maneira alternativa de corrigir o problema que funcionou para mim. As etapas são explicadas no doloroso vídeo Grub Rescue - Guide para iniciantes . Em resumo, ele reinstalará o GRUB 2 completamente em vez de repará-lo.

Como este vídeo é muito doloroso de assistir, listarei as etapas abaixo (como devo, independentemente de quão doloroso seja assistir ao vídeo)

  1. Inicie uma sessão ao vivo do Ubuntu. O vídeo usa um CD ao vivo, enquanto eu usei um USB ao vivo. Certifiquei-me de que o USB ao vivo tivesse a mesma versão do Ubuntu que eu tinha no meu disco rígido.
  2. Encontre onde sua partição raiz foi montada. No vídeo, o usuário usa o Nautilus para navegar por cada unidade montada. Foi montado com uma longa sequência de números e caracteres. Se for esse o caso, siga as etapas a seguir para remontar a partição. Senão, continue na etapa 5.
  3. Abra o terminal com Ctrl+ Alt+ Te use o mountcomando para encontrar o nome da partição.
  4. Monte a partição. Crie uma nova pasta na sua pasta de mídia. sudo mkdir /media/ubuntu. Em seguida, basta montar sua partição nessa pasta. sudo mount /dev/sdxx /media/ubuntuonde xxde sdxxé determinado na etapa 3.
  5. Ligue os seguintes diretórios do diretório raiz do seu CD / USB ativo ao diretório raiz da sua versão do Ubuntu. Os diretórios são dev proce sys. Faça isso com os seguintes comandos:

    sudo mount --bind /dev /media/ubuntu/dev
    sudo mount --bind /sys /media/ubuntu/sys
    sudo mount --bind /proc /media/ubuntu/proc
    
  6. Mude o diretório raiz para o diretório da sua partição Ubuntu. sudo chroot /media/ubuntu/

  7. Feito isso, a instalação do GRUB 2 novamente o instalará no diretório raiz da sua distribuição do Ubuntu e não no CD / USB ao vivo. Então vá em frente e corrasudo grub-install /dev/sdx

E é assim que você corrige o GRUB usando um CD / USB ao vivo. Este método foi desenvolvido pelo usuário do YouTube crazytechzone.

Nada
fonte
6

Usar:

  1. set prefix=(hdX,Y)/boot/grub. Use os valores determinados anteriormente.
    Exemplo: Se o sistema Ubuntu estiver no sda5, digite:
    set prefix=(hd0,5)/boot/grub
  2. set root=(hdX,Y). Exemplo:set root=(hd0,5)
  3. insmod normal. Tente carregar o módulo normal.
  4. normal

Basicamente, precisamos do GRUB para saber onde está a /boot/grubpasta. Se isso não estiver funcionando, acho que fazer uma instalação do GRUB a partir de um CD de inicialização é uma boa opção.

Shashank Singh
fonte
Obrigado pela sua assistência. Acho que meu problema pode ter sido que meu diretório de inicialização esteja em / dev / sdb, não em / dev / sda. Mas o reparo de inicialização o corrigiu automaticamente, então não precisei fazer mais nada.
usar o seguinte comando
3

Engraçado, eu também tive o mesmo problema há uma hora!

Enfim, foi o que eu fiz.

  1. Carregar ubuntu:

    set root=(hd0,6)
    set prefix=(hd0,6)/boot/grub
    insmod normal
    normal
    

    desde que o seu ubuntu está instalado em 6 certo?

  2. executar terminal:

    sudo -i *to access root*
    grub-install --root-directory=/mnt/ /dev/sda
    sudo update-grub
    sudo grub-install /dev/sda
    
Francis
fonte
Obrigado pela sua resposta, mas o meu grub foi corrigido usando a ferramenta de reparo de inicialização antes de você postar a resposta. Atualizei este post com a minha solução. Eu gostaria de poder ter tentado seu método também.
user53817
2

Instale o Reparo de Inicialização no Ubuntu

  1. Inicialize seu computador em um live-CD ou live-USB do Ubuntu.

  2. Escolha "Experimente o Ubuntu"

  3. Conectar a internet

  4. Abra um novo terminal ( Ctrl+ Alt+ T) e digite:

    sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
    
  5. Pressione Enter.

  6. Então digite:

    sudo apt-get install -y boot-repair && boot-repair
    
  7. Pressione Enter.

Usando o reparo de inicialização

insira a descrição da imagem aqui

Reparação recomendada

  1. Inicie o Boot-Repair a partir de:

    uma. The Dash (o logotipo do Ubuntu na parte superior esquerda da tela)

    b. Ou no menu Sistema-> Administração-> Reparo de Inicialização (apenas Ubuntu 10.04)

    c. Ou digitando 'boot-repair' em um terminal

  2. Em seguida, clique no botão "Reparação recomendada". Quando o reparo estiver concluído, observe o URL (paste.ubuntu.com/XXXXX) que apareceu em um documento, reinicie e verifique se você recuperou o acesso aos seus sistemas operacionais.

  3. Se o reparo não tiver sido bem-sucedido, indique o URL para as pessoas que o ajudarem por email ou fórum.

penreturns
fonte
@penreturn Muito obrigado, isso funcionou maravilhosamente. : D
Jeel Shah
0

Outra causa do problema é que o sistema de arquivos na unidade de inicialização pode falhar em casos raros. Conforme mencionado em outras respostas, inicialmente uso o lscomando para listar todas as unidades / partições no prompt de resgate do GRUB, mas todas relatam erro desconhecido no sistema de arquivos . Finalmente resolvi o problema no Ubuntu 16.04 (Xenial Xerus) recuperando o sistema de arquivos da seguinte maneira:

  1. Inicialize a partir de um pendrive (tente o Ubuntu sem instalar)

  2. Encontre a unidade de inicialização (verifique a capacidade da unidade ou faça isso fsckem cada partição):

    sudo fdisk -l
    
  3. Recupere o sistema de arquivos:

    sudo fsck /dev/sdb1
    
  4. Depois que o sistema de arquivos estiver corrigido e limpo, reinicie a máquina a partir da unidade de inicialização.

user84246
fonte