Recuperação rápida do bootloader Grub no Ubuntu. Restaurando grub e MBR.

Apesar do sistema operacional Linux ocupar uma pequena participação de mercado, suas várias versões estão ganhando popularidade com sua operação oficial gratuita e bastante estável, além de considerável flexibilidade nas configurações. Sim, algumas coisas não funcionam da mesma forma que no Windows ou Mac OS, e a maioria delas Programas criado principalmente para esses dois produtos. Mas isso não impede todos.

Recuperação necessária para que o sistema operacional Linux funcione Gerenciador de inicialização Grub se ocorrer uma falha.

Embora quase todas as compilações do Linux funcionem sem problemas, às vezes pode ocorrer um erro de bootloader, impossibilitando a inicialização do sistema operacional. Por quais motivos isso pode acontecer? Como reparar o bootloader Grub no Linux? Que métodos de trabalho existem? Falaremos sobre tudo isso e ainda um pouco mais no artigo de hoje.

Depois de instalar o Linux no disco rígido do seu computador, todos os arquivos são copiados para pastas separadas. Alguns diretórios armazenam arquivos de software comum que podem ser removidos com segurança. Em outros, os arquivos são gravados, sem os quais o sistema operacional não funcionará. Isso inclui o kernel do Linux, o shell gráfico e o gerenciador de inicialização Grub. É o último que é usado para executar o sistema operacional instalado. Como isso acontece?


Em uma partição de inicialização especial, o sistema cria um registro mestre de inicialização. Sua abreviação em inglês se parece com MBR e significa Master Boot Record. No início BIOS do computador acessa esta entrada, e então o Grub entra em ação e, quando tudo está em ordem, o Linux inicia. E se o bootloader estiver danificado, ocorrerá um erro na inicialização e o sistema não iniciará.

Por quais motivos isso pode acontecer? A grande maioria dos casos é resultado de Instalações Linux como o primeiro sistema, você instala o Windows como um sistema secundário. A Microsoft tradicionalmente não gosta do Linux, então o instalador do Windows remove o Grub Linux. O mesmo problema pode ocorrer quando o próprio Linux é instalado incorretamente, ao alternar para outra distribuição ou devido ao reparticionamento do disco.

A coisa mais importante a considerar é que você não precisa pensar imediatamente em reinstalar todo o sistema. Basta restaurar o Grub e tudo funcionará como antes. Vamos dar uma olhada no mais maneiras eficazes acessível até mesmo para usuários inexperientes.

Via terminal da mídia inicializável

Para isso você vai precisar unidade flash inicializável ou um disco com uma distribuição Linux gravada. Idealmente, deve ser semelhante ao sistema instalado no disco rígido. Mas se o kit de distribuição não for o ponto mais importante, a profundidade de bits deve corresponder em qualquer caso. Caso contrário, isso está repleto de consequências ainda maiores, pelas quais você definitivamente terá que reinstalar tudo.

  1. Insira uma unidade flash USB ou disco no conector do computador e, em seguida, como prioridade de inicialização. A configuração necessária está localizada na seção Boot Device Priority ou First Boot Device. Para iniciar o BIOS, ao ligá-lo, pressione o botão desejado ou uma combinação deles no teclado. As opções mais populares são F2, Del, Shift + F2, F10. Para não lidar com o BIOS, você pode simplesmente pressionar F11 ou F12 e selecionar a mídia na lista fornecida.
  2. Em seguida, você precisa descobrir em qual partição do disco rígido o sistema está instalado e qual está especificada como carregador de inicialização. Para fazer isso, você precisa iniciar o terminal (analógico linha de comando Windows) encontrando-o no menu do aplicativo ou pressionando a combinação de teclas Ctrl + Alt + T ou Alt + F2. Na janela que se abre, você precisará digitar o comando sudo fdisk -l. Imediatamente, o utilitário verificará todas as partições do disco e exibirá informações sobre cada uma delas. Até mesmo informações sobre outros instalados no computador serão mostradas. sistemas operacionais Oh. Você pode descobrir o nome da partição, sua localização, tamanho e o tipo de seu sistema de arquivos. Desde que em instalando o Ubuntu Se você fez a marcação manualmente, entenderá facilmente qual partição é inicializável e qual é a raiz. Para particionamento automático, guie-se pelo nome do Linux. É ele quem será a raiz do seu sistema. O nome da partição geralmente consiste na abreviatura sdc ou sda e um número com um número de série.
  3. Em seguida, você precisa montar o sistema de arquivos raiz na pasta /mnt. O comando sudo mount /dev/sda1 /mnt irá ajudá-lo com isso, onde você precisa escrever o nome da sua partição em vez de sda.


A partir deste estágio, existem dois métodos para restaurar o Grub no Linux.

Método 1

  1. Digite o comando de reparo do carregador de inicialização: sudo Grub-install -root-directory=/mnt /dev/sda.
  2. Reinicie o computador com o comando sudo reboot. Como resultado, o menu de seleção do SO deve aparecer.
  3. Se este menu exibir informações desatualizadas, atualize sua inicialização entrada MBR. Para fazer isso, inicie o Linux normalmente, abra um terminal e use o comando sudo update-grub. Se isso não ajudar, use sudo update-Grub --output=/mnt/boot/Grub/Grub.cfg e repita o anterior.
  4. Reinicie o computador novamente.

Método 2.

  1. Depois de montar a raiz do sistema de arquivos na partição /mnt, você precisa montar adicionalmente a pasta com arquivos de inicialização, bem como outros componentes de interação com o núcleo. Para fazer isso, execute os seguintes comandos um por um:

sudo mount /dev/sdc2 /mnt/boot

sudo mount --bind /dev /mnt/dev

sudo mount --bind /sys /mnt/sys

sudo mount --bind /proc /mnt/proc

  1. Em seguida, você precisará executar um shell chroot. Para fazer isso, adicione chroot /mnt /bin/bash no terminal. O primeiro parâmetro presta atenção ao diretório raiz e o segundo - a um shell especial para converter comandos do usuário.
  2. Em seguida, você precisa aplicar comandos para entrar no Ubuntu e usar quase todos os seus aplicativos, exceto serviços e uma interface gráfica:

fonte /etc/profile.

  1. Agora você pode prosseguir diretamente para a restauração do Grub. Para fazer isso, você precisa usar vários comandos:
    • Para reinstalar o bootloader no disco rígido: sudo Grub2-install /dev/sdc (o último parâmetro é o nome da sua partição).
    • Para criar um novo arquivo de configuração: sudo Grub2-mkconfig -o /boot/Grub/Grub.cfg.
    • Para atualizar o menu de inicialização: sudo Grub-update.
  2. Para concluir o procedimento, saia do shell chroot usando o comando exit e também desmonte as partições do sistema de arquivos montadas anteriormente:

sudo umount /mnt/dev

sudo umount /mnt/proc

sudo umount /mnt/sys

sudo umount /mnt

sudo umount /mnt/boot.

  1. Reinicie por meio de reinicialização.

Através do utilitário de reparo do bootloader

Como o método anterior pode não ser possível para todos, usaremos o recurso do Ubuntu que pode funcionar totalmente quando iniciado a partir de uma unidade flash USB. Para fazer isso, usaremos o utilitário especial de reparo de inicialização. O que deveria ser feito?

  1. Inicie o Ubuntu a partir de uma unidade flash e certifique-se de ter uma conexão ativa com a Internet.
  2. Encontre um terminal e execute os seguintes comandos nele, um por um:

sudo add-apt-repository ppa:yannubuntu/boot-repair

sudo apt-get update

sudo apt-get install boot-repair.

  1. No menu do aplicativo, encontre "Recovery bootloader" e ative o utilitário.
  2. Clique no botão "Método de recuperação recomendado" e aguarde a conclusão do procedimento.
  3. Na maioria das situações, essas ações são suficientes para a operação normal do bootloader Grub Linux.


Através da linha de comando com acesso parcial ao sistema de arquivos

Às vezes, o carregador de inicialização Grub não está tão danificado que todo o sistema não pode inicializar. Por exemplo, partição de inicialização permanece intacto, mas o próprio utilitário não tem acesso a ele. Nesse caso, um shell de programa é aberto, um pouco semelhante à linha de comando, e a seguinte mensagem é exibida: A edição de linha Mínima BASH é suportada. Aqui, usando esta linha de comando, você pode tentar inicializar o Ubuntu.

Espera-se que você tenha certeza e saiba exatamente em qual dos discos rígidos o sistema e o kernel estão colocados. Existem apenas quatro comandos disponíveis, eles devem ser aplicados sequencialmente:

  1. Para que o sistema verifique discos e partições, emita o comando ls. Como resposta, você receberá uma lista de discos rígidos (por exemplo, hd1, hd2), bem como o tipo de sistema de arquivos neles (por exemplo, msdos1, msdos2). Por exemplo, vamos supor que a partição de inicialização esteja localizada em /dev/sda1.
  2. Em seguida, você precisa selecionar a seção com a qual deseja trabalhar. No nosso caso, o comando será escrito da seguinte forma: set root=(hd1,1).
  3. Carregue o shell Grub normal: insmod ext2, insmod normal, normal.
  4. Inicie o kernel do Linux: linux /boot/vmlinuz.
  5. Inicialize o sistema: boot.
  6. Depois de iniciar o Ubuntu no modo normal, abra um terminal e conclua o procedimento de reparo do bootloader com os seguintes comandos:

sudo Grub2-install /dev/sda

sudo Grub2-mkconfig -o /boot/Grub/Grub.cfg.

  1. Reinicie e aproveite a operação normal.


Conclusão

Embora à primeira vista, restaurar o bootloader Grub no Ubuntu possa parecer algo muito complicado, e muitos usuários do Linux, quando problema semelhante comece imediatamente a reinstalar o sistema operacional, se disponível instrução normal tudo é feito de forma muito simples e sem complicações. Esperamos poder ajudá-lo a evitar a perda informação importante. Marque esta página e compartilhe esta informação com seus amigos e conhecidos. Deixe suas dúvidas nos comentários.

Grub é o gerenciador de inicialização usado para inicializar o sistema na maioria das distribuições Linux, incluindo Linux Mint. A corrupção do bootloader pode ser causada por vários motivos, como a instalação do Windows, outro distribuição Linux ou reparticionar o disco, alterar o tamanho e a posição das partições no disco e assim por diante.

No caso de instalar outro sistema, para restaurar o bootloader linux mint, precisamos de um LiveCD com qualquer distribuição Linux. A tarefa mais comum nesta categoria é restaurar o Grub após o Windows. Se o erro surgiu devido ao trabalho com partições ou danos ao sistema de arquivos e o bootloader inicializa com a mensagem Minimal BASH like line edition is supported, isso significa que podemos lidar sem um LiveCD por conta própria. Claro, restaurar o grub no linux mint usando o sistema LiveCD é muito mais fácil, mas você nem sempre tem o disco certo à mão.

Neste artigo, veremos como a recuperação do Grub2 é feita das duas maneiras. Vamos começar com mais jeito fácil- usando o LiveCD. Embora o artigo seja focado no Linux Mint, na verdade ele é adequado para absolutamente qualquer distribuição, porque em todas as distribuições o bootloader é o mesmo e os comandos são os mesmos, apenas as versões podem diferir um pouco.

Reparando Grub2 com LiveCD

Para começar, você precisa de um sistema LiveCD que tenha a mesma profundidade de bits do seu sistema Linux Mint no qual o Grub foi instalado. E não importa se há GUI ou não. Normalmente, todas as ferramentas necessárias são suportadas por todas as distribuições. E só precisamos dos utilitários fdisk, mount e chroot. Para restaurar o bootloader grub2, basta seguir as etapas abaixo.

Primeiro, insira a mídia com o sistema LiveCD na unidade ou porta USB se for um pendrive. Para inicializar a partir da mídia, talvez seja necessário primeiro entrar no menu do BIOS e definir a prioridade de inicialização de um dispositivo externo.

Pressione Del, F2, F8 ou Shift + F2 para iniciar o BIOS. No menu que se abre, vá para a guia Boot e no item Prioridade do dispositivo de boot ou 1º dispositivo de inicialização selecione o dispositivo desejado:


Etapa 2. Definir partições

Antes de restaurar o Grub2, precisamos entender em qual partição o sistema está instalado e em qual partição os arquivos do bootloader estavam ou deveriam estar. A maneira mais fácil de fazer isso é usar o utilitário fdisk.

Disco /dev/sdc: 14,5 GiB, 15514730496 bytes, 30302208 setores
Unidades: setores de 1 * 512 = 512 bytes
Tamanho do setor (lógico/físico): 512 bytes / 512 bytes
Tamanho de E/S (mínimo/ideal): 512 bytes / 512 bytes
Tipo de etiqueta de disco: dos
Identificador de disco: 0x38972eb0

inicialização do dispositivo inicio fim Tipo de ID de tamanho de setores
/dev/sdc1 * 23949312 29882367 5933056 2.8G 7 HPFS/NTFS/exFAT
/dev/sdc2 29882368 30302207 419840 205M b W95 FAT32
/dev/sdc3 13551616 23949311 10397696 5G 83 Linux
/dev/sdc4 2048 12621823 12619776 6G b W95 FAT32

Na saída do programa, você pode ver - todas as partições conectadas ao computador, seu tamanho e o sistema de arquivos. Com base nesses dados, você terá que entender qual partição é usada como raiz em seu sistema. Se você fez a marcação manualmente, não será difícil entender onde você precisa dela. Por exemplo, meu bootloader está instalado na partição /dev/sdc2 com um tamanho de 205 MB com o sistema de arquivos Fat32, e a raiz - /dev/sdc3 - tem 5 GB de tamanho.

Etapa 3. Montando o sistema de arquivos

Agora você precisa montar seu sistema de arquivos raiz no diretório /mnt:

monte /dev/sdc3 /mnt

Monte a pasta com os arquivos do bootloader:

monte /dev/sdc2 /mnt/boot

Etapa 4: Preparando-se para fazer login

Para restaurar o bootloader linux mint, usaremos seu sistema Linux principal rodando no kernel do LiveCD. Esta opção é fornecida pelo comando chroot. Mas antes de usá-lo, você precisa conectar manualmente ao seu FS raiz montado em /mnt todo o necessário sistemas de arquivos interações com o kernel - /dev, /sys, /proc:

sudo mount --bind /dev /mnt/dev

$ sudo mount --bind /sys /mnt/sys

$ sudo mount --bind /proc /mnt/proc

Etapa 5. Entrando no ambiente do sistema

Para entrar no ambiente do seu sistema, use o comando:

chroot /mnt /bin/bash

O primeiro parâmetro especifica a pasta onde o sistema de arquivos raiz foi montado e o segundo parâmetro especifica o shell usado para interpretar os comandos do usuário.

Em seguida, execute estes comandos para carregar e atualizar as variáveis ​​de perfil:

$source /etc/profile

Agora você está no Linux Mint e pode executar quase todos os seus programas, é claro que os serviços não estão disponíveis, porque o sistema de inicialização não foi usado durante a inicialização e, como resultado, o ambiente gráfico não está disponível.

Etapa 6Restaurar o Grub2

Agora restaurando o Grub no Linux Mint. Basta executar os seguintes comandos. Primeiro, para reinstalar o bootloader no HD:

sudo grub2-install /dev/sdc

Aqui /dev/sdc é o nome do seu disco rígido.

Agora vamos criar um novo arquivo de configuração:

sudo grub2-mkconfig -o /boot/grub/grub.cfg

O caminho para o arquivo de configuração pode ser um pouco diferente, portanto, tenha cuidado.

Você também pode usar o comando:

sudo grub-update

Mas só funciona no Ubuntu e em distribuições baseadas nele.

Etapa 7. Concluído

Saia do ambiente chroot com o comando:

E reinicie o computador:

Agora tudo funciona.

Restaurando o Grub2 sem LiveCD

Em alguns casos, a corrupção do Grub não causa uma incapacidade completa de inicializar. Por exemplo, quando o código de inicialização no MBR está intacto, mas o programa não pode acessar os arquivos no disco. Em seguida, o carregador abre uma espécie de terminal em vez de um menu com a mensagem: Minimal BASH como a edição de linha é suportada. Com este terminal podemos tentar inicializar o sistema. Restaurar o grub2 sem livecd não é tão difícil, embora seja mais difícil que o primeiro método.

Tudo que você precisa é saber em qual dispositivo o sistema está localizado e o próprio kernel do Linux. A sintaxe e os comandos são muito semelhantes aos comandos bash regulares, mas um pouco diferentes no propósito. No modo de recuperação inicial, apenas alguns comandos estão disponíveis, são ls, insmod, set e unset.

Para visualizar uma lista de unidades conectadas ao seu computador, basta executar:

(hd2,msdos1,hd2,msdos2,hd2,msdos3,hd2,msdos4)

É importante notar que no grub, discos e partições são nomeados de forma um pouco diferente. Aqui, cada disco rígido tem um nome hd e um número de disco, como hd0 ou hd1. As seções são nomeadas começando com um.

Você só pode trabalhar com uma seção de cada vez. Para definir a partição com a qual trabalhar, você precisa especificá-la na variável raiz. O comando set é usado para definir variáveis ​​de ambiente. Por exemplo, meus arquivos de bootloader grub estão localizados em /dev/sdc2, ou seja, hd2,2:

definir raiz=(hd2,2)

Carregue um shell grub normal:

insmod ext2
$ insmod normal
$ normal

Depois disso, você pode encontrar e executar o kernel. Para fazer isso, use o comando linux. O kernel geralmente está localizado na pasta /boot:

linux /boot/vmlinuz

E finalmente carregamos:

Agora que o sistema inicializou, tudo o que você precisa fazer é abrir um terminal e executar os seguintes comandos para concluir o reparo do carregador de inicialização linux mint:

sudo grub2-install /dev/sda

$ sudo grub2-mkconfig -o /boot/grub/grub.cfg

Isso é tudo.

conclusões

Agora, restaurar o bootloader linux mint não causará nenhum problema em nenhuma circunstância, independentemente de você ter um disco com outra distribuição ou não. Se tiver alguma dúvida, escreva nos comentários!

O GRUB2 é um carregador de kernel de sistema operacional multi-plataforma e multi-sistema. Usado principalmente para inicializar kernels Linux. Permite que você tenha vários sistemas operacionais instalados em uma máquina e, ao ligar o computador, selecione o boot do SO desejado.

O GRUB2 é um branch novo e radicalmente diferente do GRUB Legacy, baseado em PUPA e possui uma estrutura modular. Suporta muitos sistemas de arquivos, funciona com BIOS e EFI.

Instalando o GRUB2:

Não vou escrever muito sobre a instalação, pode diferir em diferentes distribuições, geralmente fica assim:

# grub-install /dev/sda

/dev/sda é um dispositivo, não uma partição.

#instalação do grub

Há também uma série de opções, para cada caso, versões do GRUB2 e kit de distribuição, eles podem diferir, não faz sentido descrever. A reinstalação não é diferente da instalação e é feita com o comando grub-install.

Após a instalação, o bootloader está pronto para funcionar em modo console, para corrigir isso, você precisa gerar um arquivo de configuração, mais sobre isso abaixo.

Costumização:

por padrão, o arquivo de configuração está localizado aqui - /boot/grub/grub.cfg . Se o arquivo foi gerado com grub-mkconfig , ele não pode ser editado e será substituído na próxima atualização. E se você ainda decidir configurar o arquivo bootloader por conta própria, exclua a versão gerada e crie uma nova, você mesmo ou com base em exemplos.

Configuração automática:

Vamos começar com o mais simples, a geração automática é realizada pelo comando:

# grub-mkconfig

Este comando gera um arquivo grub.cfg. O pacote os-prober é necessário para detectar automaticamente sistemas operacionais externos. Basicamente, a configuração do grub-mkconfig é feita no arquivo /etc/default/grub, bem como nos arquivos do diretório /etc/grub.d/. Você pode adicionar seus próprios itens de menu no arquivo /etc/grub.d/40_custom ou /boot/grub/custom.cfg. Para que as alterações entrem em vigor, você deve executar o comando:

# grub-mkconfig -o /boot/grub/grub.cfg

O comando criará o arquivo /boot/grub/grub.cfg e verificará se há erros nos arquivos de configuração. O arquivo de configuração /etc/default/grub contém opções padrão, cada opção tem um comentário (breve descrição) sobre língua Inglesa. Abaixo está uma descrição de alguns parâmetros do arquivo de configuração:

  • GRUB_DEFAULT - Selecione para carregar o item de menu padrão. Pode ser selecionado por número ou nome.
  • GRUB_TIMEOUT - Indica o tempo de atraso antes de carregar o item padrão.
  • GRUB_HIDDEN_TIMEOUT - Tempo de espera antes de exibir uma lista de carregamento de itens de menu.
  • GRUB_DISABLE_OS_PROBER - Remove a verificação de sistemas operacionais instalados.
  • GRUB_GFXMODE - Responsável pela resolução da tela. O comando vbeinfo pode listar as opções de permissão disponíveis na linha de comando do GRUB2.
  • GRUB_BACKGROUND - Caminho para a imagem de fundo.
  • GRUB_THEME - Caminho para temas.

Configuração manual:

A linguagem de script de configuração do GRUB2 é um shell UNIX simplificado. O script pode ser simples e muito complexo, a complexidade do script não é limitada por nada. O script gerado pelo grub-mkconfig é inicializável na maioria dos casos, mas é complicado.

A configuração manual do GRUB2 oferece acesso a todos os recursos e, simplificando e removendo o código redundante, você pode obter maior estabilidade, confiabilidade e velocidade.

Você pode ler mais sobre a configuração do GRUB2 com exemplos de código de configuração e outras informações em

Cada vez mais surgem dúvidas nos fóruns:

Como desinstalar o Ubuntu e restaurar o bootloader para Windows?
Como substituir o grub por carregador de inicialização do Windows?
Instalação Ubuntu nas proximidades com o Windows 8?
Ubuntu ao lado do Win 8, o bootloader do Windows não vê o Ubuntu.
A esse respeito, decidi escrever uma nota sobre como restaurar o carregador de inicialização grub, sobre como remover corretamente o linux, restaurar o carregador de inicialização do Windows e o MBR.


1 caminho. Temos um live-cd/usb com uma distribuição Linux.

1. Gravamos live-cd, live-usb de quase qualquer distribuição Linux, seja Ubuntu, Mint ou qualquer outra.

2. Inicialize a partir do live-cd/usb, abra o terminal (Ctrl + T) e veja a tabela de partições do disco:
$ sudo fdisk -l


Além do fdisk, existem muitos utilitários diferentes para visualizar e editar a tabela de partições: cfdisk, por exemplo.

A tabela mostra que o linux está instalado na partição /dev/sda1, há um asterisco ao lado, isso é um sinal de que a partição é inicializável.

3. Agora esta partição precisa ser montada:
$ sudo mount /dev/sda1 /mnt

4. A partição está montada, então temos acesso a ela.

Para fazer isso, você precisa instalar o grub no disco rígido (MAS NÃO NA PARTIÇÃO DO DISCO RÍGIDO!), pois estamos restaurando o MBR:
$ sudo grub-install --diretório-raiz=/mnt /dev/sda
onde /mnt é o diretório raiz que montamos, /dev/sda é o nome do disco rígido.
Depois que o MBR é restaurado, o grub é instalado.

Situação:

Você tem três sistemas em sua máquina, por exemplo: Windows 7 Ultimate, Windows XP Professional e Linux Mint 14.
Você está cansado do Windows, você o demoliu e, por algum motivo, as partições do Windows permaneceram na lista de grub.

Se essa situação aconteceu, você precisará gerar um novo arquivo de configuração do carregador de inicialização. Ele fará uma nova varredura do sistema, determinará os sistemas operacionais instalados no computador e gerará uma configuração com novas opções de menu do carregador de inicialização.

1. No console escrevemos:
$ sudo update-grub --output=/mnt/boot/grub/grub.cfg
onde update-grub - atualiza a configuração do bootloader, o parâmetro --output aponta para o arquivo de configuração do grub.

2. Após as operações realizadas, você pode reiniciar e inicializar a partir do disco rígido (naturalmente, vá para o BIOS).
Bom, isso é tudo.
Aqui está um exemplo da aparência do meu menu grub, apenas o Debian está instalado:


1. Novamente, inicialize a partir do live-cd/usb, veja as seções:
$ sudo fdisk -l

2. Monte a partição na qual o linux está instalado e algumas outras partições importantes para o trabalho:
$ sudo mount /dev/sda1 /mnt
$ sudo mount --bind /dev /mnt/dev
$ sudo mount --bind /proc /mnt/proc
$ sudo mount --bind /sys /mnt/sys

Se a partição /boot estiver em uma partição de disco separada, ela também deverá ser montada, por exemplo:
$ sudo mount --bind /boot /mnt/boot

3. Copie o arquivo grub padrão "a (você pode pular esta etapa):
$ sudo cp /etc/resolv.conf /mnt/etc/resolv.conf

4. Agora você precisa ir para o ambiente chroot:
$ sudo chroot /mnt

5. Instale o grub:
# grub-install /dev/sda

Se ocorrer um erro, o comando ajudará:
# grub-install --recheck /dev/sda

6. Saímos do chroot, desmontamos as partições e reinicializamos:
#saída
$ sudo umount /mnt /dev
$ sudo umount /mnt/proc
$ sudo umount /mnt
$ sudo umount /mnt/boot #se necessário
$ sudo reboot

Situação:

Você não tem um segundo computador para gravar live-cd / usb, então você precisa de alguma forma desaparafusá-lo (eu mesmo tive essa situação após o experimento instalação do windows 8).

Tudo o que vejo é uma tela preta e:
grub>

Esta recuperação é a mais difícil (Rescue Mode), mas se for feita de acordo com as instruções, tudo deve correr bem.
Apenas quatro comandos estão disponíveis no modo de recuperação:
ls
definir
desarmar
insmod

1. Precisamos ver quais partições nosso grub vê:
>ls
aparecerá algo assim:
(hd0) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos2) (hd1,msdos1)

2. Um pouco torto Rescue Grub nos mostrou partições de disco, supostamente com o sistema de arquivos msdos.
Mas não é importante.
A contagem de discos do Grub começa em zero e sua contagem de partições começa em um.
Com base em nossa saída, podemos determinar que temos duas partições no primeiro disco e duas no segundo.
Experimentalmente, por adivinhação, determinaremos onde nosso linux instalado está localizado.

3. Digamos que a partição (hd0,1) seja exatamente o que precisamos (o prefixo msdos pode ser omitido).
Nós escrevemos:
> set prefix=(hd0,1) /boot/grub
> definir raiz=(hd0,1)

Assim, temos acesso ao disco.

4. Escreva um comando:
> ls /boot/grub
se houver alguma saída de arquivo, tudo deu certo, mas se não houver nada, perdemos a seção, precisamos ver outras, por exemplo (hd1,0) .

5. Agora escrevemos:
> insmod ext2
>mod normal
> normal

6. Depois disso, o grub carrega, detecta os sistemas operacionais e a recuperação está quase completa.

7. Carregamos o linux, no terminal escrevemos:
$ sudo instalação do grub/dev/sda

Tudo. O grub é gravado no MBR e não deve haver mais problemas.

Original: GRUB 2: Cure seu bootloader
Autor: Mayank Sharma
Data de publicação: 10 de setembro de 2015
Tradução: A. Panin
Data da transferência: 16 de dezembro de 2015

Não há muitas coisas que podem ser tão irritantes quanto a incapacidade do bootloader de ser irritante. É por isso que aprenderemos a usar todos os recursos do bootloader GRUB 2 ao máximo, mantendo-o em condições de funcionamento.

Para que serve?

    O GRUB 2 é o bootloader mais popular usado em quase todas as distribuições Linux.

    O bootloader é um componente de software importante, que, no entanto, pode não funcionar corretamente em alguns casos.

    O GRUB 2 é um bootloader extensível e flexível que suporta muitas opções de configuração.


Sistêmico carregador de inicialização do Linux chamado GRUB 2 é um componente de software flexível e de qualidade. Embora este carregador de inicialização não seja o único carregador de inicialização compatível com Linux, é o mais popular e é usado por quase todas as distribuições conhecidas. O processo de funcionamento do bootloader GRUB 2 pode ser dividido em duas fases. Primeiro, ele abre um menu com os nomes de todos os sistemas operacionais instalados no computador e permite que você selecione um deles. Em segundo lugar, ele carrega o kernel Linux se você selecionar um sistema operacional baseado no kernel correspondente usando o menu de inicialização.

Obviamente, ao usar um sistema operacional baseado no kernel Linux, você simplesmente não pode ficar sem um bootloader. Ao mesmo tempo, o bootloader é talvez o componente mais misterioso da distribuição Linux. Como parte deste guia, apresentaremos alguns dos recursos deste gerenciador de inicialização e ensinaremos como resolver problemas associados ao seu funcionamento incorreto.

O componente mais importante do bootloader GRUB 2 é um conjunto de arquivos de texto, bem como vários scripts de shell. O primeiro componente deste conjunto, que vale a pena conhecer, está localizado no diretório /etc/default/grub. isto arquivo de texto, com o qual você pode definir os valores das variáveis ​​de configuração e outros parâmetros menu GRUB 2 (consulte "Opções do menu de inicialização personalizado").

Outro diretório importante associado ao GRUB 2 é o diretório /etc/grub.d. Este diretório contém todos os scripts que formam a descrição de cada um dos itens do menu. Esses nomes de script devem ser prefixados com dois dígitos. Esses prefixos têm como objetivo estabelecer a ordem em que os scripts serão executados, bem como a ordem em que os itens correspondentes aparecem no menu do GRUB 2. O arquivo 00_header é lido primeiro, seguido pela análise do arquivo /etc/default /grub arquivo de configuração. Depois disso, os itens de menu para os kernels Linux do sistema atual são gerados usando o script 10_linux. Este script cria um item de menu de inicialização normal para o kernel do Linux e um item de menu de recuperação do sistema para o mesmo kernel do Linux a partir da partição /boot.

Os scripts são então executados para procurar outros sistemas operacionais, como 30_os-prober e 40_custom . o script os-prober cria itens de menu para outros kernels e outros sistemas operacionais encontrados em outras partições Discos rígidos. Ele é capaz de reconhecer sistemas instalados Linux, Windows, BSD e Mac OS X. Se você estiver usando uma configuração de partição em seu disco rígido que é muito exótica para um script os-prober reconhecer como uma distribuição instalada, você pode adicionar um descrição dessa distribuição para o script 40_custom (consulte " Itens do menu de inicialização personalizado").

O GRUB 2 não requer edição manual de arquivos de configuração para alterar as opções de inicialização do sistema: em vez disso, ele permite gerar um arquivo de configuração /boot/grub/grub.cfg usando o utilitário grub2-mkconfig. Este utilitário permite analisar scripts do diretório /etc/grub.d, bem como o arquivo de configuração /etc/default/grub para gerar automaticamente uma descrição dos parâmetros de inicialização do sistema.

Restaurando o carregador de inicialização no modo gráfico

A grande maioria dos problemas relacionados ao bootloader GRUB 2 pode ser resolvido simplesmente pressionando o único botão do aplicativo Boot Repair. Este aplicativo simples e elegante possui uma interface de usuário intuitiva e permite que você digitalize e reconheça tipos diferentes discos e esquemas de partição de disco, podendo também descobrir a localização e identificar corretamente os sistemas operacionais instalados nessas partições. O utilitário pode funcionar como computadores convencionais com registros mestre de inicialização (Master Boot Record, MBR) e em novos computadores com tabelas de partição UEFI e GUID (GUID Tabela de partição, GPT).

A maneira mais fácil de usar o utilitário Boot Repair é instalá-lo como parte de uma sessão ao vivo do Ubuntu. Execute a distribuição ao vivo do Ubuntu na máquina com o bootloader quebrado e instale o aplicativo Boot Repair adicionando primeiro o PPA apropriado com o comando:

Sudo add-apt-repository ppa:yannubuntu/Boot Repair

Depois disso, atualize a lista de repositórios com o comando:

Sudo apt-get update

Finalmente, você pode instalar o aplicativo com o comando:

Sudo apt-get install -y Boot Repair

Após a conclusão do processo de instalação, você poderá iniciar o aplicativo. Ele examinará seu disco rígido antes de exibir uma interface de usuário que consiste em vários botões. Para executar as ações sugeridas pelo aplicativo, basta clicar no botão "Reparo recomendado", que corrigirá a maioria dos problemas relacionados ao bootloader. Depois de restaurar o carregador de inicialização do sistema, o utilitário exibirá um link que você deve lembrar. Ao clicar neste link, você poderá ver informação detalhada sobre suas unidades, incluindo suas partições, bem como o conteúdo de arquivos de configuração importantes do GRUB 2, como aqueles no diretório /etc/default/grub e o arquivo /boot/grub/grub.cfg. Se o aplicativo não restaurar seu bootloader, você pode postar este link no fórum de sua distribuição para que os visitantes possam se familiarizar com o esquema de partição do seu disco rígido e dar dicas úteis.

Restaurando o bootloader

Problemas relacionados ao bootloader GRUB 2 podem levar o sistema a vários estados. O texto exibido na tela em vez do menu do carregador de inicialização indica o estado atual do sistema. Se o sistema não inicializar com o prompt grub>, pode-se concluir que os módulos GRUB 2 foram carregados, mas o arquivo de configuração grub.cfg não pôde ser carregado. Este prompt é exibido em um shell de bootloader totalmente funcional, com o qual você pode executar muitas ações destinadas a inicializar o sistema. Se você vir o prompt grub rescue>, é fácil concluir que o bootloader não pode encontrar seus módulos, bem como os arquivos que descrevem as opções de inicialização do sistema. No entanto, no caso de apenas a palavra "GRUB" ser exibida na tela do seu computador, você pode tirar uma conclusão decepcionante de que o bootloader não conseguiu detectar nem mesmo as informações básicas que geralmente são armazenadas no arquivo principal. registro de inicialização.

Você pode corrigir esses problemas do GRUB 2 usando o Live CD de qualquer distribuição ou o shell do GRUB 2. Se você tiver sorte e seu carregador de inicialização exibir a saudação grub>, você pode usar todo o poder do shell integrado do GRUB 2 para corrigir quaisquer erros.

Os comandos a seguir funcionarão tanto para o prompt grub> quanto para o prompt grub rescue>. O comando set pager=1 permite que você use o mecanismo de rolagem de texto para evitar a rolagem automática. Você também pode usar o comando ls, que permite listar todas as partições visíveis do disco rígido do GRUB 2 de maneira semelhante:

Grub> ls (hd0) (hd0,msdos5) (hd0,msdos6) (hd1,msdos1)

Como você pode ver, este comando permite exibir informações sobre o layout da tabela de partições do disco rígido junto com informações sobre as próprias partições.

Alternativamente, você pode usar o comando ls em cada partição do disco rígido para encontrar a partição com seu sistema de arquivos raiz:

Grub> ls (hd0,5)/ lost+found/ var/ etc/ media/ bin/ initrd.gz boot/ dev/ home/ selinux/ srv/ tmp/ vmlinuz

Você pode descartar o identificador do tipo de partição msdos ao escrever o nome da partição. Além disso, se você omitir a barra no final do nome da partição e executar um comando como ls (hd0,5), por exemplo, obterá informações sobre a partição, incluindo informações sobre o tipo de sistema de arquivos, seu tamanho total e a hora em que foi modificado pela última vez. Se você tiver várias partições raiz em seu disco rígido, poderá ler o conteúdo do arquivo /etc/issue com o comando cat para identificar a distribuição da mesma maneira: cat (hd0,5)/etc/issue .

Supondo que você tenha encontrado o sistema de arquivos raiz correto na partição (hd0,5), você deve certificar-se de que este sistema de arquivos contém o diretório /boot/grub e uma imagem do kernel Linux chamada vmlinuz-3.13.0-24- generic que você deseja baixar. Agora, para inicializar o sistema, você só precisa digitar os seguintes comandos:

grub> set root=(hd0,5) grub> linux /boot/vmlinuz-3.13.0-24-generic root=/dev/sda5 grub> initrd /boot/initrd.img-3.13.0-24-generic

O primeiro comando informa ao carregador de inicialização do GRUB 2 sobre a partição do disco rígido na qual os arquivos de distribuição estão localizados para inicialização. O segundo comando passa para ele informações sobre a localização do arquivo de imagem do kernel dentro do partição dura disco, bem como informações sobre a localização do sistema de arquivos raiz. A última linha permite especificar a localização do arquivo de imagem de disco inicial, cujo conteúdo é armazenado na memória e usado durante o processo de inicialização do kernel. Você pode usar o recurso de preenchimento automático, que economizará muito tempo e esforço ao inserir os nomes de arquivos do kernel e a imagem inicial do disco.

A inserção dessas linhas deve terminar com um comando de inicialização após a próxima saudação grub>, que faz com que o GRUB 2 inicialize o sistema operacional especificado.

Suas etapas devem ser ligeiramente diferentes se você encontrar a saudação grub rescue>. Como o carregador do sistema não conseguiu detectar e carregar nenhum dos módulos necessários, você terá que carregá-los manualmente:

grub rescue> set root=(hd0,5) grub rescue> insmod (hd0,5)/boot/grub/normal.mod grub rescue> normal grub> insmod linux

Obviamente, como antes, depois de usar com sucesso o comando ls para encontrar a partição raiz do Linux, você terá que marcar essa partição com o comando set. Em seguida, você precisa carregar o módulo normal, após o qual ele retornará ao modo padrão com uma saudação grub> . O comando a seguir permite carregar o módulo linux caso ele não tenha sido carregado automaticamente. Após carregar este módulo, você pode continuar a informar ao carregador do sistema a localização dos arquivos de imagem do kernel e a imagem inicial do disco e iniciar a inicialização da distribuição usando o comando boot.

Depois de baixar a distribuição com sucesso, não esqueça da necessidade de gerar novamente o arquivo de configuração do GRUB 2 usando o comando:

Grub-mkconfig -o /boot/grub/grub.cfg

Você também terá que instalar uma cópia do bootloader no MBR com o comando:

GRUB 2 e UEFI

Máquinas com firmware UEFI (ou seja, praticamente todas as máquinas vendidas nos últimos anos) adicionaram um novo nível de complexidade ao processo de diagnóstico de problemas com o bootloader GRUB 2. com firmware UEFI não difere significativamente do procedimento para restaurar o mesmo bootloader em uma máquina sem firmware UEFI, novas versões de firmware introduzem várias alterações que causam resultados diferentes do processo de restauração do bootloader.

Em sistemas baseados em UEFI, você não precisará instalar nada no MBR. Em vez disso, você precisará instalar um carregador de inicialização Linux habilitado para EFI na partição do sistema EFI (ESP) e selecionar esse carregador de inicialização como padrão usando uma ferramenta como efibootmgr no Linux ou bcdedit no Windows.

No momento, o bootloader GRUB 2 deve ser instalado corretamente durante o processo de instalação de qualquer uma das distribuições Linux populares, o que permite que este último coexista com sucesso com o Windows 8. No entanto, no caso de você obter um bootloader inoperante como resultado, você pode restaurar o sistema para a capacidade de trabalho usando uma imagem ao vivo de uma distribuição Linux. Ao inicializar uma imagem de distribuição ao vivo, verifique se está inicializando no modo UEFI. O menu de inicialização do computador deve conter dois itens para cada mídia removível - para inicialização no modo normal e no modo UEFI. Use o último modo para acessar variáveis ​​EFI por meio de arquivos no diretório /sys/firmware/efi/.

No ambiente ativo, monte o sistema de arquivos raiz da distribuição com falha conforme descrito neste guia. Você também terá que montar a partição do sistema EFI (ESP). Supondo que a partição especificada corresponda ao arquivo de dispositivo /dev/sda1 , você pode montar essa partição com o seguinte comando:

sudo mount /dev/sda1 /mnt/boot/efi

O módulo do kernel efivars deve então ser carregado usando o comando modprobe efivars antes de criar um ambiente chroot com o sistema de arquivos raiz da distribuição com falha, conforme descrito neste guia.

Agora, se você estiver usando uma distribuição do Fedora, você pode reinstalar o bootloader com o seguinte comando:

Yum reinstale o grub2-efi shim

Após isso, você deve executar o comando para gerar um novo arquivo de configuração do bootloader:

Grub2-mkconfig -o /boot/grub2/grub.cfg

Os usuários da distribuição Ubuntu podem realizar a mesma operação com o comando:

apt-get install --reinstall grub-efi-amd64

Após restaurar o bootloader, você deve sair do ambiente chroot, desmontar todas as partições do disco rígido montadas e reiniciar o computador acessando o menu GRUB 2.

Para desativar um script do diretório /etc/grub.d, basta remover o bit de execução, usando um comando semelhante ao comando chmod -x /etc/grub.d/20_memtest86+, que permite remover o "Memory Test" do menu de inicialização

Amigo, onde está meu GRUB?

Um recurso positivo do carregador de inicialização GRUB 2 é a capacidade de reinstalá-lo sempre que necessário. Assim, no caso de você perder o carregador de inicialização GRUB 2, por exemplo, após o Windows substituí-lo por seu próprio carregador de inicialização, você pode restaurar o GRUB 2 executando algumas operações no ambiente ao vivo. Supondo que você tenha instalado a distribuição na partição do disco rígido representada pelo arquivo de dispositivo /dev/sda5, você pode reinstalar o carregador de inicialização GRUB 2 criando primeiro um diretório para montar o sistema de arquivos raiz da distribuição com o comando:

sudo mkdir -p /mnt/distro

Depois disso, você deve montar o sistema de arquivos desta partição usando o comando:

Monte /dev/sda5 /mnt/distro

Depois disso, você pode reinstalar o bootloader GRUB 2 com o comando:

Grub2-install --diretório-raiz=/mnt/distro /dev/sda

Este comando substituirá as informações na área de registro mestre de inicialização do dispositivo /dev/sda, que contém o sistema de arquivos da distribuição Linux instalada, bem como os arquivos do carregador de inicialização GRUB 2, como grubenv e device.map .

Há outro problema que geralmente ocorre ao operar computadores com várias distribuições instaladas. Ao instalar uma nova distribuição Linux, seu bootloader deve recuperar informações sobre as distribuições já instaladas. Caso ele não extraia tal informação, você pode simplesmente baixar a distribuição instalada mais recente e executar o comando:

Grub2-mkconfig

Antes de executar este comando, você deve certificar-se de que as partições com os sistemas de arquivos raiz das distribuições instaladas, que não são apresentadas no menu de inicialização, estão montadas. Se a distribuição que você deseja adicionar ao menu de inicialização funciona com os sistemas de arquivos /root e /home localizados em partições de disco rígido separadas, somente o sistema de arquivos /root deve ser montado antes de executar o comando grub2-mkconfig.

Embora o carregador de inicialização GRUB 2 possa detectar a maioria das distribuições, tentar adicionar uma entrada para a distribuição do Fedora ao menu do carregador de inicialização ao executar uma distribuição do Ubuntu requer uma etapa extra. Se você usou configurações padrão Durante a instalação de uma distribuição do Fedora, o instalador do Fedora criará partições LVM. Nesse caso, antes de chamar o script os-prober fornecido com o carregador de inicialização GRUB 2 para adicionar a distribuição Fedora ao menu de inicialização, você primeiro precisa instalar o driver lvm2 usando o sistema de gerenciamento de pacotes de software da distribuição usando um comando semelhante:

sudo apt-get install lvm2

Conserto rápido

Se a execução do comando grub2-install não resultar em nenhuma mudança positiva e você não puder inicializar a distribuição Linux, você terá que reinstalar e reconfigurar completamente o carregador de inicialização. Para realizar esta tarefa, você pode usar o útil utilitário chroot, que permite alterar temporariamente o diretório raiz do ambiente ao vivo para o diretório raiz sistema instalado Linux que precisa ser restaurado. Você pode usar o Live CD de qualquer distribuição Linux que tenha o utilitário chroot para essa finalidade. No entanto, você deve certificar-se de que está usando um Live CD para a mesma arquitetura. CPU, que é o kit de distribuição instalado no disco rígido. Assim, se você deseja usar o utilitário chroot para recuperar um sistema instalado de 64 bits, precisará de um Live CD para sistemas de 64 bits.

Depois de inicializar o ambiente Live, a primeira coisa a verificar são as partições do disco rígido da máquina. Use o comando fdisk -l para listar todas as partições no disco rígido e descobrir o número da partição na qual o carregador de inicialização GRUB 2 está instalado e qual você deseja restaurar.

Vamos supor que você precise restaurar o carregador de inicialização de uma distribuição instalada em uma partição do disco rígido representada pelo arquivo de dispositivo /dev/sda5 . Abra um emulador de terminal e monte esta partição:

sudo mount /dev/sda5 /mnt

Agora você terá que montar os diretórios que devem estar disponíveis para o bootloader GRUB 2 para detectar corretamente outros sistemas operacionais instalados no computador:

$ sudo mount --bind /dev /mnt/dev $ sudo mount --bind /dev/pts /mnt/dev/pts $ sudo mount --bind /proc /mnt/proc $ sudo mount --bind /sys /mnt /sys

Agora você pode sair do ambiente live e mudar para o ambiente da distribuição instalada na partição representada pelo arquivo de dispositivo /dev/sda5 usando o utilitário chroot:

$ sudo chroot /mnt /bin/bash

Está tudo pronto para instalar, verificar e atualizar o bootloader GRUB 2. Como antes, para reinstalar o bootloader, use o comando:

sudo grub2-install /dev/sda

Como o comando grub2-install não afeta o arquivo de configuração grub.cfg, você terá que criá-lo manualmente com o seguinte comando:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Esta sequência de comandos deve ajudar a corrigir problemas de bootloader. Sua máquina agora terá uma nova cópia do carregador de inicialização GRUB 2 com uma lista de todos os sistemas operacionais e distribuições instaladas nela. Antes de reinicializar o computador, você deve sair do ambiente chroot e desmontar todos os sistemas de arquivos usados ​​na seguinte ordem:

$ exit $ sudo umount /mnt/sys $ sudo umount /mnt/proc $ sudo umount /mnt/dev/pts $ sudo umount /mnt/dev $ sudo umount /mnt

Depois disso, você pode reiniciar a máquina com segurança, que deve estar novamente sob o controle do carregador de inicialização GRUB 2, que está sob seu controle total!

Opções personalizadas do menu de inicialização

O bootloader GRUB 2 usa um grande número de variáveis ​​de configuração. Esta seção descreve algumas dessas variáveis ​​que você provavelmente desejará modificar ao revisar o conteúdo do arquivo de configuração /etc/default/grub. A variável GRUB_DEFAULT permite especificar o item do menu de inicialização que será selecionado por padrão. seus valores podem ser números, como o número 0, correspondente ao primeiro item de menu, bem como a string "saved", que seleciona automaticamente o item de menu que foi utilizado durante a última inicialização do computador. A variável GRUB_TIMEOUT permite definir o tempo de espera antes de inicializar usando o item de menu padrão, e a variável GRUB_CMDLINE_LINUX permite definir uma lista de opções que serão passadas para cada um dos kernels do Linux ao usar os itens de menu de inicialização correspondentes .

Se a variável GRUB_DISABLE_RECOVERY for definida como true , os itens do menu de inicialização para recuperação do sistema não serão gerados. Esses itens permitem inicializar distribuições no modo de usuário único, no qual você pode usar qualquer ferramenta de interface de linha de comando disponível para restaurar seu sistema. Outra variável útil é a variável GRUB_GFXMODE, que permite definir a resolução da tela que será definida quando o menu de inicialização for exibido. Esta variável pode ser definida para qualquer descrição da resolução suportada pela sua placa gráfica.

Itens de menu de inicialização personalizados

Se você deseja adicionar um item ao menu do bootloader, deve adicionar a estrofe apropriada ao script chamado 40_custom . Você pode usar este item de menu de inicialização, por exemplo, para inicializar uma distribuição Linux instalada em disco removível Com Interface USB. Supondo que a partição de distribuição em sua unidade USB removível seja /dev/sdb1 , e o arquivo de imagem do kernel vmlinuz e o arquivo initrd estejam em um subdiretório do diretório raiz (/), você teria que adicionar a seguinte sub-rotina ao arquivo de script 40_custom:

Entrada de menu "Linux on USB" ( set root=(hd1,1) linux /vmlinuz root=/dev/sdb1 ro quiet in splashitrd /initrd.img )

Para melhor compatibilidade, você pode usar o UUID da partição do disco rígido em vez dos IDs do dispositivo e da partição da seguinte maneira:

Definir root=UUID=54f22dd7-eabe

Use o comando sudo blkid para obter todos os UUIDs de discos rígidos e partições conectados ao sistema. Da mesma forma, você pode adicionar entradas ao menu de inicialização correspondentes a qualquer script os-prober identificado, mas as distribuições instaladas no disco rígido, é claro, se você souber em qual unidade cada uma das distribuições está instalada e em que caminho seus arquivos de imagem do kernel estão localizados e uma imagem do sistema de arquivos inicial.

gastroguru 2017