terça-feira, 21 de dezembro de 2010

Mil e uma maneiras de recuperar GRUB 2 e GRUB .


Informações sobre o GRUB 2 :
Comunidade Ubuntu (inglês).
GRUB 2 - Um help na apresentação e configuração

Nas dicas do GRUB 2 não tem a opção do disquete mas foram incluidas as opções do GRUB 2 Boot em CD e USB (pen drive), o que mostra a funcionalidade do novo gerenciador. Incluida também a solução para o GRUB 2 do Wubi do 9.10 (instalação feita dentro do Windows).
Além do CD do SuperGrub Disk existem duas outras opções em CD feitas diretamente do Ubuntu : GRUB 2 rescue e GRUB 2 rescue-pc (multiboot).
Para o GRUB 2 as opções são : I- Live CD,  II- Alternate CD,  III- Cd de Boot GRUB 2, IV- CD multiboot GRUB 2, V- USB (pen drive) de Boot GRUB 2
VI- CD de Boot SuperGrub Disk e VII- GRUB 2 no Wubi do 9.10.

E, como a recuperação do GRUB está na maioria das vezes relacionada ao Windows e muitos usuários precisam, emergencialmente, recuperar o boot do Windows, adicionei um ítem relacionado, no final das dicas dos GRUBs: Item adicional : Recuperar boot do Windows .
                                          

 Primeira parte : Recuperar GRUB 2

I-  Solução Live CD :

A- Pela partição, sem chroot :


A-1 - Mais simples de todas - Site Ubuntu/community/help

Inicialize pelo Live CD do Ubuntu 9.10.
Se esqueceu ou não sabe qual a partição do seu Ubuntu, entre no Terminal (Aplicativos > Acessórios > Terminal) e digite :
Código:
sudo fdisk -l

ubuntu@ubuntu-desktop:~$ sudo fdisk -l
password for ubuntu:
Disco /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador do disco: 0x7402e25b
Dispositivo Boot Início Fim Blocos Id Sistema
/dev/sda1   *           1        4649    37343061    7  HPFS ou NTFS
/dev/sda2            4650        5683     8305605   83  Linux
/dev/sda3            5684       19457   110639655    f  Win95 (LBA) Partição Extendida
/dev/sda5            5749       19457   110117511    7  HPFS ou NTFS
/dev/sda6            5684        5748      522049+  82  Linux swap / Solares

Monte a partição : (Troque sda2 pela partição do seu Ubuntu).
Código:
sudo mount /dev/sda2 /mnt

Reinstale o GRUB 2 :
Código:
sudo grub-install --root-directory=/mnt /dev/sda 
Reinicie o computador.



A-2 - Alternativamente pode-se usar  - Ubuntu Forum

Monte a partição : (Troque sda2 pela partição do seu Ubuntu).
Código:
sudo mkdir /media/sda2
Código:
sudo mount /dev/sda2 /media/sda2

Reisntale o GRUB 2 :

Código:
sudo grub-install --root-directory=/media/sda2 /dev/sda
Reinicie o computador.



A-3 - Dica do Éderson (única que veio das dicas do GRUB legacy)
  
    Com um LiveCD do Ubuntu 9.10 abra um terminal (Aplicações -> Acessórios -> Terminal) e digite:
    
Código:
sudo fdisk -l
   Você verá com este comando todas as partições disponíveis no seu computador.
    Agora monte a partição que possui o seu Ubuntu.
    
Código:
sudo mount -t ext3 /dev/sda5 /mnt
   NÃO esqueça de trocar ext3 pelo tipo de partição (reiserfs, ext2, ext3, ext4, xfs) e sda5 pela
    partição onde você instalou o Ubuntu!
    Com a partição montada, chega a hora de recuperar o Grub
    
Código:
sudo grub-install --root-directory=/mnt /dev/sda
   Pronto, acabou!



B- Pela UUID - Site Ubuntu/community/help (Modificada)

1- Montagem da partição
Inicialize pelo Live CD do Ubuntu 9.10.
No Terminal (Aplicativos > Acessórios > Terminal) digite :
Código:
sudo fdisk -l
Determine qual a partição do seu Ubuntu e veja o seu tamanho. Exemplo : /dev/sda5           7559        8653     8795556  83  Linux
Entre em Locais > Sistema de arquivo de xx GB. (xx é o tamanho da partição do Ubuntu encontrado : 8795556 = (9,0 GB).
Clicando em Sistema de arquivo de 9,0 GB vc monta a partição em /media.

2- Identificação da UUID
Digite no Terminal :
Código:
sudo blkid

Exemplo : /dev/sda5: UUID="f73de33f-2f72-4eef-b7ff-de357d16b373" TYPE="ext4"

Reinstale o GRUB 2 :
Código:
sudo grub-install --root-directory=/media/disk  /dev/sda
(troque disk pela uuid encontrada no blkid - copiar/colar, sem as aspas).
Reinicie o computador.



C- Usando chroot

 Tópico do nosso colega Nossile aqui do Fórum :  Recuperar Grub 2 (a partir da versão 9.10).



II- Solução Alternate CD :
                                      
1- Inicie com o Alternate CD do 9.10
2- Escolha "Recuperar um sistema defeituoso" (Rescue a broken system)
3- Prossiga escolhendo linguagem, configurando o teclado e vá dando enter até a tela “Entrar em modo de recuperação”.
4- Escolha agora onde está o seu Ubuntu (sda1,ou. sda2,ou,...sda7, etc.) e continue.
5- Agora é só marcar “Reinstalar o carregador de inicialização Grub”e continuar.
6- Digite : (hd0)
7- O Grub 2 será reinstalado e voltará a tela anterior.
8- Escolha Reinicializar o sistema

(As dicas a seguir são de Boot do GRUB 2 através de CD e Pen Drive (USB).
São as mais simples e rápidas. O CD de boot do GRUB2 tem duas opções : boot simples e multiboot.
Para usar essas dicas é preciso fazer o CD ou o Pen Drive antes e guardar para a hora da necessidade).


III- Solução GRUB 2 mkrescue - CD de Boot simples do GRUB 2

Com o Ubuntu funcionando normal abra um Terminal e digite :

Código:
grub-mkrescue grub2.iso 
(para o 9.10)

Código:
grub-mkrescue --output=grub2.iso
 (para 0 10.04)

pode mudar grub2.iso por outro (cdboot.iso, por exemplo).

Se tudo deu certo a imagem iso gerada vai para a sua pasta pessoal (Locais > Pasta pessoal).
Grave a imagem iso em CD.
Quando for recuperar o GRUB 2, inicie pelo CD.
No boot aparece um prompt com :
sh:grub > (9.10) ou grub> (10.04)
É preciso saber a partição do Ubuntu para poder dar o boot.
Se não sabe digite o comando ls.
Aparecerão todas as partições do HD.
Digite agora :
configfile (hd0,x)/boot/grub/grub.cfg        (troque x pela partição do Ubuntu).
(Enter)
Vai abrir o menu do GRUB 2, inclusive com a splash image se tiver.
Inicie o Ubuntu e no Terminal digite :
Código:
sudo grub-install /dev/sda

Alternativamente o boot pode ser conseguido com :
linux (hd0,x)/vmlinuz root=/dev/sdax        (trocar x pela partição do Ubuntu) e (outro Linux que estiver no menu do GRUB 2 tbém pode ser inicializado).
Enter
initrd (hd0,x)/initrd.img
Enter
boot

Para iniciar o Windows :
set root=(hd0,x)   (trocar x pela partição do Windows)
Enter
chainloader +1
Enter
boot
Enter.


IV- Solução grub-rescue-pc  - CD multiboot do GRUB 2

Com o Ubuntu inicializado e funcionando normal entre no Terminal e digite :
Código:
sudo apt-get install grub-rescue-pc
A imagem ISO vai para /usr/lib/grub-rescue .
Gravando a imagem inicie o PC por ela.
Vai aparecer um menu com várias opções de boot mas as que interessam aqui são : GNU LINUX e Microsoft Windows (caso haja muita necessidade).
Se não sabe qual a partição do Ubuntu tecle "C" e digite o comando ls; (aparecerão todas as partições do HD).

Para iniciar pelo Ubuntu (ou outro Linux) :
Escolha a opção GNU LINUX e tecle "e" para editar o menu.
Substitua (hd0,1) e sda1 pelos correspondentes ao seu Ubuntu. Exemplo : (hd0,5) e sda5. (para iniciar por outro Linux substitua pelos números correspondentes).
Agora tecle Ctrl + x para o boot.

Para iniciar pelo Windows escolha a opção Microsoft Windows e tecle ENTER (normalmente o windows é (hd0,1) e sda1).
Caso não esteja aí troque pela partição correspondente.



V- Solução GRUB 2 Boot USB

Com o Ubuntu funcionando normal e o pen drive espetado abra o gparted.
Se ele não estiver instalado :
Código:
sudo apt-get install gparted

Código:
sudo gparted

Identifique o pen drive ( pelo tamanho - 500 mb, 1 GB, 2 GB, etc. e pelo device - /dev/sdb se vc tem só um HD).
Crie uma partição Primária, fat 32 com um Rótulo (Label) - grub2boot, por exemplo).

Entre em Locais > grub2boot. Clique em grub2boot para montar (será montada em /media).
Para instalar o GRUB 2 no pen drive, digite no Terminal  :
Código:
sudo grub-install --root-directory=/media/grub2boot /dev/sdb
Para incluir o grub.cfg digite :
Código:
sudo grub-mkconfig -o /media/grub2boot/boot/grub/grub.cfg

Para recuperar o GRUB 2 inicie com o pen drive espetado e o boot USB habilitado na BIOS.
Aparecerá o menu do GRUB 2.
Abrindo o Ubuntu digite no Terminal :
Código:
sudo grub-install /dev/sda

Obs.: sempre que houver atualização do Kernel do Ubuntu vc deve atualizar também o grub.cfg no pen drive.
         Para isso com o pen drive montado vc executa novamente :
Código:
sudo grub-mkconfig -o /media/grub2boot/boot/grub/grub.cfg


VI- Solução Super Grub Disk

Cd de boot do Super Grub Disk : Imagem Iso Super Grub Disk.
1- Baixe a imagem Iso e grave em CD.
2- Dando boot pelo CD gravado aparecerá uma tela com : First Kernel and Initrd
Enter
3- Iniciando o Ubuntu abra o Terminal e digite :  
Código:
sudo grub-install /dev/sda 

(na tela de login do Ubuntu vc pode ter que esperar alguns segundos para digitar a senha - não é travamento)

VII- GRUB 2 no Wubi do 9.10

Depois de uma atualização do kernel ou mesmo de update-grub pode aparecer um prompt com "grub-rescue", "sh:grub", "file not found", etc.
Solução : Baixar pelo Windows o arquivo wubildr.
              Mover para o drive "C:\" (para substituir o existente) ou, para o drive onde foi instalado o Wubi (trocar C pela letra correspondente).


Links relacionados :   Comunidade Ubuntu
                              Ubuntu Forums
                              GRUB 2 Basics - Ubuntu Foruns
                              Criar um GRUB 2 CDroom
                              Booting a CD without a CD Drive

                                          
Segunda parte : Recuperar GRUB legacy (GRUB comum)

A-Disquete de boot

Com ele vc entra normalmente no Ubuntu e instala de novo o Grub digitando no terminal:
                    
Código:
sudo grub-install /dev/hda 

Como fazer esse disquete:

1-Na instalação do Ubuntu:
Responder não quando perguntado se quer instalar o Grub na MBR e digitar:
/dev/fd0


2-Com o Ubuntu já instalado:
   (Dica do RC2006):
Abrir o terminal e digitar:
Código:
sudo grub-install /dev/fd0


 3-Usar a dica do LedStyle:
 http://www.tuxresources.org/blog/?p=101


4-Dica do piike:
Primeiramente formate o disquete:
Código:
# mke2fs /dev/fd0
Crie um diretório grub na raíz do disquete:
Código:
# mkdir /mnt/floppy/grub
Copie os arquivos stage1 e stage2 e menu.lst
Código:
# cp /boot/grub/stage? /mnt/floppy/grub
Código:
# cp /boot/grub/menu.lst /mnt/floppy/grub
Execute o GRUB
Código:
# /usr/sbin/grub
Quando ele iniciar seu interpretador faça:
Código:
grub> install (fd0)/grub/stage1 (fd0) (fd0)/grub/stage2 0x8000 (fd0)/grub/menu.lst


5- Dica do pintinho :
1-Iniciar com o Alternate CD
2- Escolha Recuperar um sistema defeituoso (Rescue a broken system)
3- Prossiga escolhendo linguagem, configurando o teclado e vá dando enter até a tela “Entrar em modo de recuperação”.
4- Escolha agora onde está o seu Ubuntu (hda1, ou, hda2,ou,...hda7, etc.) e continue.
5- Agora é só marcar “Reinstalar o carregador de inicialização Grub” e continuar.
6- Digite : /dev/fd0
7- Reinicie o computador.



          
        

C-Live CD
 

I- Dica do LaSSarD:
1 - Rode o CD do Dapper no boot.
2 - Abra o terminal (Aplicações -> Acessórios -> Terminal)
3 - Execute:
Código:
sudo su
mkdir root
mount -t ext3 -o rw /dev/hda6 /
mount -t ext3 -o rw /dev/hda6 /home/ubuntu/root
NÃO esqueça de trocar ext3 pelo tipo de partição e hda6 pela partição onde você instalou o Ubuntu!
4 - Agora a partição já está montada. Execute:
Código:
cp -R /home/ubuntu/root/boot/grub /boot
5 - E por fim, instalar o GRUB:
Código:
/home/ubuntu/root/sbin/grub-install /dev/hda


II- Guia do Hardware:
Depois de dar boot pelo Live  CD, você só precisa montar a partição onde o sistema está instalado, como em (substitua reiserfs e hda2 pelas suas):
  
Código:
# sudo mount -t reiserfs /dev/hda2 /mnt/hda2


E usar o chroot para obter o prompt de comando do sistema que está recuperando:
  
Código:
# chroot /mnt/hda2

No prompt, você precisa apenas editar o arquivo "/boot/grub/menu.lst", ou gerá-lo novamente usando o comando
 
Código:
# update-grub

e reinstalar o grub, usando o comando:
  
Código:
# sudo grub-install /dev/hda




   III- Um site gringo:
  Entrar com o Live CD do Ubuntu e digitar no terminal:
  
   1-
  
Código:
sudo grub
 
   2-
  
Código:
find /boot/grub/stage1
 
   3-
  
Código:
root (hd?,?)
 (onde ?,? é o que aparece no 2 - (hd0,1) por exemplo)
  
   4-
  
Código:
setup (hd0)
 
  5-
  
Código:
quit

 
   IV- Dica do Éderson :

    Com um LiveCD do Ubuntu abra um terminal (Aplicações -> Acessórios -> Terminal) e digite:
    1 - sudo fdisk -l
    Você verá com este comando todas as partições disponíveis no seu computador.
    Agora monte a partição que possui o seu Ubuntu.
    2 - sudo mount -t ext3 /dev/sda5 /mnt
    NÃO esqueça de trocar ext3 pelo tipo de partição (reiserfs, ext2, ext3, xfs) e sda5 pela
    partição onde você instalou o Ubuntu!
    Com a partição montada, chega a hora de recuperar o Grub

    3 - sudo grub-install --root-directory=/mnt /dev/sda
    Substituir hda pelo local onde está gravado o MBR no HD. Pronto, acabou!

 V- Dica do daskrs

# sudo su
# mkdir /media/HD
///////// o sda deve ser trocado pelo seu HD, no meu caso estou utilizando um HD SATA /////////
# mount /dev/sda  /media/HD
# mount --bind /dev /media/HD/dev
# chroot /media/HD
# grub-update
# grub-install /dev/sda
# exit
# reboot

  

D-Install CD
 
  Solução Alternate CD

 I- Dica do pintinho :
1-Iniciar com o Alternate CD
2- Escolha "Recuperar um sistema defeituoso" (Rescue a broken system)
3- Prossiga escolhendo linguagem, configurando o teclado e vá dando enter até a tela “Entrar em modo de recuperação”.
4- Escolha agora onde está o seu Ubuntu (sda1,ou. sda2,ou,...sda7, etc.) e continue.
5- Agora é só marcar “Reinstalar o carregador de inicialização Grub”e continuar.
6- Digite : (hd0)
7- O Grub será reinstalado e voltará a tela anterior : escolha Reinicializar o sistema.

 
PROBLEMA ADICIONAL APÓS RECUPERAR O GRUB : Error 17: cannot mount selected partition.

Quando vc dá o boot o Grub tá lá normal mas, o Ubuntu não abre, sendo exibida a mensagem de erro.

Solução :
Usando o Live CD, abra o Terminal e :

Código:
sudo grub
Código:
find /boot/grub/stage1
Anote : (hd0,x) - troque o x pelo número encontrado.

Agora vc tem que montar a partição do Ubuntu :
Código:
sudo mkdir /media/hdax
Código:
sudo mount /dev/hdax /media/hdax

E, alterar o /boot/grub/menu.lst
Código:
sudo nautilus
Abra a pasta boot, depois a pasta grub e, finalmente o arquivo menu.lst

Para alterar o menu.lst :
Exemplo :
title      Ubuntu 8.04.1, kernel 2.6.24-21-generic
root      (hd0,x)
kernel      /boot/vmlinuz-2.6.24-21-generic root=UUID=98cfc2d7-5de3-415c-95cd-a48ccd51b886 ro quiet splash
initrd      /boot/initrd.img-2.6.24-21-generic
quiet

Vc deve alterar o (hd0,x) colocando em seu lugar o que encontrou no find /boot/grub/stage1.
Lembre-se que no Grub o hda6 por exemplo, será (hd0,5).



Item adicional : Recuperar boot do Windows

1- Windows 7/Vista
Inicie com o respectivo DVD de instalação do Windows 7 ou Vista.
Na tela correspondente escolha a linguagem e teclado.
Clique em Avançar e na próxima tela escolha "Reparar o computador".
Na tela seguinte marque o seu Windows e clique em Avançar.
Escolha em seguida "Prompt de Comando".
Agora digite:

bootrec.exe /fixmbr


2- Windows XP

Inicie com o CD de instalação do XP.
Escolha "Para reparar uma instalação do Windows XP usando o console de recuperação, pressione R".
Escolha agora a partição onde está o seu Windows :
normalmente = 1-C\Windows
Digite o número 1
(ENTER)
Agora digite :

fixmbr
(EXIT).

Nenhum comentário:

Postar um comentário