Mil e uma maneiras de recuperar GRUB 2, GRUB 2 EFI e GRUB .

Iniciado por jomafras, 26 de Dezembro de 2006, 18:04

tópico anterior - próximo tópico

jomafras

Testei essa solução do alternate cd várias vezes e ela funcionou em todas.
O erro pode ser da partição do Ubuntu escolhida para reinstalar.
Se vc tiver um Live CD qualquer use para confirmar a partição do Ubuntu : sudo fdisk -l
Se der para fazer, o CD de boot do Super Grub Disk também foi testado várias vezes.
Ou se conseguir um Live CD do 9.10 use a opção I ou IV.
Caso contrário tem a solução de recuperar o boot do Windows.
Se for o XP, use o CD de instalação e escolha :
Restaurar um sistema usando o console de recuperação.
Escolha a partição do Windows (normalmente 1 (C\Windows) e digite : fixmbr
O Ubuntu sem dúvida é a melhor Distro.
Pesquise primeiro... só depois abra um tópico.
Canal do YouTube - Blog

fatecano

CitarO erro pode ser da partição do Ubuntu escolhida para reinstalar.

sudo fdisk -l pelo Live CD do Ubuntu 9.10:

Citar
Disco /dev/sda: 40.1 GB, 40060403712 bytes (obs.: é aqui que está o meu Windows XP)
255 heads, 63 sectors/track, 4870 cylinders
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador do disco: 0x6c3d98f1

Dispositivo Boot Início Fim Blocos Id Sistema
/dev/sda1   *           1        4869    39110211    7  HPFS ou NTFS

Disco /dev/sdb: 40.1 GB, 40060403712 bytes
255 heads, 63 sectors/track, 4870 cylinders
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador do disco: 0x00000001

Dispositivo Boot Início Fim Blocos Id Sistema
/dev/sdb1               1        4664    37463548+  83  Linux
/dev/sdb2            4665        4870     1654695    5  Estendida
/dev/sdb5            4665        4870     1654663+  82  Linux swap / Solaris

Tentei pelo Super Grub Disk e veja só o que aconteceu:





Ficou nessas duas telas e não saiu mais disso.

Após isso, tentei a dica do Nossile:

Citar
* Lembre-se de qual é a sua instalação, como referencia /dev/sda1 será usado.

Obs.: Usei sdb1.

Citar
* Edite o arquivo /etc/default/grub do seu sistema
$ nano /etc/default/grub (pode-se usar o gedit em vez do nano)

Quando cheguei aqui, abriu uma tela que me deixou bem confuso.
Não entendi o que eu deveria editar ali dentro.
Acabei ficando por aqui mesmo.  :-\

A tela foi essa:



O que será que fiz de errado para ter tanto problema assim?
  :-\

Tenho que resolver logo isso tudo e irei tentar as outras opções assim que possível, pois o tempo está bem corrido e necessito muito desse pc.
Voltarei para dizer o que aconteceu.


Abraçooo e obrigadooo!!  :D


Nossile

Citação de: rcn online 12 de Novembro de 2009, 14:57
Após isso, tentei a dica do Nossile:

Citar
* Lembre-se de qual é a sua instalação, como referencia /dev/sda1 será usado.

Obs.: Usei sdb1.

Citar
* Edite o arquivo /etc/default/grub do seu sistema
$ nano /etc/default/grub (pode-se usar o gedit em vez do nano)

Quando cheguei aqui, abriu uma tela que me deixou bem confuso.
Não entendi o que eu deveria editar ali dentro.
Acabei ficando por aqui mesmo.  :-\

A tela foi essa:



O que será que fiz de errado para ter tanto problema assim?
  :-\

Tenho que resolver logo isso tudo e irei tentar as outras opções assim que possível, pois o tempo está bem corrido e necessito muito desse pc.
Voltarei para dizer o que aconteceu.


Abraçooo e obrigadooo!!  :D



Essa tela é do nano, é um editor de texto em modo texto. Mas eu fui bem claro quando disse que se pode usar o Gedit em vez do Nano.

E nessa tela você tem a opção de alterar alguns parâmetros (como tempo em que vai aparecer a lista de sistemas operacionais), mas se você não reconheceu isso é melhor não alterar nada, pule essa etapa.
sudo aptitude remove terno-e-gravata && sudo aptitude install bermuda chinelo -y

fatecano

CitarE nessa tela você tem a opção de alterar alguns parâmetros (como tempo em que vai aparecer a lista de sistemas operacionais), mas se você não reconheceu isso é melhor não alterar nada, pule essa etapa.

Não reconheci mesmo não.
Pulando essa etapa e fazendo todo o resto (inclusive o grub-install --recheck /dev/sdb), temos:

ubuntu@ubuntu:~$ sudo mount /dev/sdb1 /mnt
mount: /dev/sdb1 já montado ou /mnt ocupado
mount: de acordo com mtab, /dev/sda1 já está montado em /mnt
ubuntu@ubuntu:~$ sudo mount --bind /dev /mnt/dev
ubuntu@ubuntu:~$ sudo chroot /mnt
root@ubuntu:/# update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.31-14-generic
Found initrd image: /boot/initrd.img-2.6.31-14-generic
Found memtest86+ image: /boot/memtest86+.bin
grep: /proc/mounts: Arquivo ou diretório não encontrado
Cannot find list of partitions!
done
root@ubuntu:/# grub-install /dev/sdb
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(fd0)    /dev/fd0
(hd0)    /dev/sda
(hd1)    /dev/sdb
root@ubuntu:/# grub-install --recheck /dev/sdb
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(fd0)    /dev/fd0
(hd0)    /dev/sda
(hd1)    /dev/sdb
root@ubuntu:/# exit
ubuntu@ubuntu:~$ sudo umount /mnt/dev
ubuntu@ubuntu:~$ sudo umount /mnt
ubuntu@ubuntu:~$ exit


Acabei de reiniciar o micro e o resultado foi esse mesmo aqui:



Porém, sem aparecer Windows XP na última linha.


Nossile

Citação de: rcn online 12 de Novembro de 2009, 18:17


Porém, sem aparecer Windows XP na última linha.


A recuperação do Grub então funcionou, agora o problema é outro.

Entre pelo Ubuntu e de um "sudo update-grub".
sudo aptitude remove terno-e-gravata && sudo aptitude install bermuda chinelo -y

alarcon

Quando você faz alterações em alguma partição contendo um sistema operacional com o Ubuntu já instalado, o valor de UUID desta partição se altera, mas tanto no fstab quanto no grub ficam os valores antigos o que causa erro, então eu te pergunto se vc já verificou se não seria isso, ou seja, pelo livecd e no terminal , digite:

sudo blkid

depois compare no fstab da sua partição linux e no grub.cfg da mesma partição se os valores UUID são os mesmos para as respectivas partições.

fatecano

CitarA recuperação do Grub então funcionou, agora o problema é outro.

Ops!! Foi mal, esqueci de falar um detalhe.  ;D
Quando eu reiniciei e tentei entrar pelo Ubuntu, apareceu o mesmo erro que aparecia antes:



CitarEntre pelo Ubuntu e de um "sudo update-grub".

Pelo o que eu entendi, isso seria apenas se eu conseguisse iniciar o pc pelo Ubuntu (não pelo Live CD).
É isso mesmo?

CitarQuando você faz alterações em alguma partição contendo um sistema operacional com o Ubuntu já instalado, o valor de UUID desta partição se altera, mas tanto no fstab quanto no grub ficam os valores antigos o que causa erro, então eu te pergunto se vc já verificou se não seria isso, ou seja, pelo livecd e no terminal , digite:

sudo blkid

depois compare no fstab da sua partição linux e no grub.cfg da mesma partição se os valores UUID são os mesmos para as respectivas partições.

Nem sei o que significa isso, mas irei testar também e colocarei os resultados aqui.  ;D

Aaahh, lembrei de colocar mais uma coisa aqui: consegui consertar o do Windows! :D

CitarCaso contrário tem a solução de recuperar o boot do Windows.
Se for o XP, use o CD de instalação e escolha :
Restaurar um sistema usando o console de recuperação.
Escolha a partição do Windows (normalmente 1 (C\Windows) e digite : fixmbr



O problema disso é que agora o pc inicia diretamente pelo Windows e não aparece mais nada que lembre o Linux. (hehehe)  :D
Refaço tudo de novo?


jomafras

#97
Agora vc ficou sem o Grub de novo.
Tenta recuperar outra vez.
Se não funcionar, o problema realmente é na partição e acho também, como o alarcon, que é na UUID.
Para conferir as UUIDs faça o seguinte :
Entre com o Live CD e abra o Terminal :
sudo blkid
Depois monte a partição do Ubuntu para poder ver o fstab :
sudo mkdir /mnt/sdb1
sudo mount /dev/sdb1 /mnt/sdb1
Entre pelo Nautilus em Sistema de arquivos > etc > fstab e compare as UUIDs com as do blkid.
O Ubuntu sem dúvida é a melhor Distro.
Pesquise primeiro... só depois abra um tópico.
Canal do YouTube - Blog

fatecano

#98
Estou me esforçando bastante, mas não está sendo fácil.
Ainda bem que vocês estão me ajudando.

Novamente, tentando recuperar o Grub 2 pela dica do Nossile:

ubuntu@ubuntu:~$ sudo mount /dev/sdb1 /mnt
mount: /dev/sdb1 já montado ou /mnt ocupado
mount: de acordo com mtab, /dev/sda1 já está montado em /mnt
ubuntu@ubuntu:~$ sudo mount --bind /dev /mnt/dev
ubuntu@ubuntu:~$ sudo chroot /mnt
root@ubuntu:/# update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.31-14-generic
Found initrd image: /boot/initrd.img-2.6.31-14-generic
Found memtest86+ image: /boot/memtest86+.bin
grep: /proc/mounts: Arquivo ou diretório não encontrado
Cannot find list of partitions!
done
root@ubuntu:/# grub-install /dev/sdb
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(fd0)    /dev/fd0
(hd0)    /dev/sda
(hd1)    /dev/sdb
root@ubuntu:/# sudo umount /mnt/dev
sudo: unable to resolve host ubuntu
umount: /mnt/dev: não encontrado
root@ubuntu:/# sudo umount /mnt
sudo: unable to resolve host ubuntu
umount: /mnt: não montado
root@ubuntu:/#


Reiniciando o micro, a tela ficou do mesmo jeito de antes: sem o Windows novamente. Mas isso eu já imaginava. :-\

Tentei iniciar o Ubuntu e retornou o mesmo erro de antes (ou quase, pois notei que o número era outro: 1.508349, em vez desse que está na imagem).



CitarPara conferir as UUIDs faça o seguinte :
Entre com o Live CD e abra o Terminal :
sudo blkid
Depois monte a partição do Ubuntu para poder ver o fstab :
sudo mkdir /mnt/sdb1
sudo mount /dev/sdb1 /mnt/sdb1
Entre pelo Nautilus em Sistema de arquivos > etc > fstab e compare as UUIDs com as do blkid.

fstab:

Citaraufs / aufs rw 0 0
tmpfs /tmp tmpfs nosuid,nodev 0 0
/dev/sdb5 swap swap defaults 0 0

blkid:

Citar# Perform simple UUID and LABEL lookups using udev information first,
# fall back to scanning if not found
EVALUATE=udev,scan

# Send a change uevent if we discover that a symlink is wrong
SEND_UEVENT=yes

# udev-based systems should not store the cache over a reboot, so we
# place it in /dev
CACHE_FILE=/dev/.blkid.tab

Citardepois compare no fstab da sua partição linux e no grub.cfg da mesma partição se os valores UUID são os mesmos para as respectivas partições.

Não entendo nada disso, mas não vi nada que pareça um com o outro.  ;D



jomafras

#99
Vou dar um exemplo prático :

Entrei no meu PC com o Live CD do 9.10.
O comando sudo fdisk -l mostrou :

ubuntu@ubuntu:~$ sudo fdisk -l
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        3835    30804606    7  HPFS ou NTFS
/dev/sda2            3836        5683    14844060   83  Linux
/dev/sda3            5684       19457   110639655    f  Win95 (LBA) Partição Extendida
/dev/sda5            5684        5748      522081   82  Linux swap / Solaris
/dev/sda6            5749       19457   110117511    7  HPFS ou NTFS

Disco /dev/sdb: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador do disco: 0xfc28fc28

Dispositivo Boot Início Fim Blocos Id Sistema
/dev/sdb1               2        4865    39070080    f  Win95 (LBA) Partição Extendida
/dev/sdb5               2        4865    39070048+   7  HPFS ou

Obs.: destaquei a partição onde está instalado o Ubuntu 9.10.

O comando sudo blkid mostrou :

ubuntu@ubuntu:~$ sudo blkid
/dev/loop0: TYPE="squashfs"
/dev/sda1: UUID="54DC7A5ADC7A3678" TYPE="ntfs"
/dev/sda2: UUID="22290d2e-82c9-48d5-92c1-ce138634eedc" TYPE="ext4"
/dev/sda5: TYPE="swap"
/dev/sda6: UUID="7EE897C7E8977BD9" TYPE="ntfs"
/dev/sdb5: UUID="8A40A95040A943B3" TYPE="ntfs"

e o comando sudo gedit /etc/fstab mostrou :

ubuntu@ubuntu:~$ gedit /etc/fstab
aufs / aufs rw 0 0
tmpfs /tmp tmpfs nosuid,nodev 0 0
/dev/sda5 swap swap defaults 0 0

Esse não é o fstab do Ubuntu.
Para ter o do Ubuntu vc precisa montar a partição ;
No meu caso sda2 (destacada no fdisk -l).
Para montar a partição :
sudo mkdir /mnt/sda2
sudo mount /dev/sda2 /mnt/sda2

Depois disso fui em Locais > Computador > Sistema de arquivos > mnt > sda2 > etc > fstab e o que estava lá era :

# /etc/fstab: static file system information.
#
#  -- This file has been automaticly generated by ntfs-config --
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>

proc /proc proc defaults 0 0
# Entry for /dev/sda2 :
UUID=22290d2e-82c9-48d5-92c1-ce138634eedc / ext4 errors=remount-ro 0 1
/dev/sda5 none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0
/dev/sda6 /media/Dados ntfs-3g defaults,locale=pt_BR.UTF-8 0 0
/dev/sda1 /media/XP ntfs-3g defaults,locale=pt_BR.UTF-8 0 0
/dev/sdb5 /media/Dados2 ntfs-3g defaults,locale=pt_BR.UTF-8 0 0

No fstab :
# Entry for /dev/sda2 :
UUID=22290d2e-82c9-48d5-92c1-ce138634eedc / ext4 errors=remount-ro 0 1

No blkid :
/dev/sda2: UUID="22290d2e-82c9-48d5-92c1-ce138634eedc" TYPE="ext4"

Observe que as UUIDs  são iguais.
O problema no seu sistema pode ser esse ( as UUIDs não são as mesmas).
A solução seria corrigir o fstab.
O Ubuntu sem dúvida é a melhor Distro.
Pesquise primeiro... só depois abra um tópico.
Canal do YouTube - Blog

fatecano

O seu exemplo foi fundamental para que eu notasse um detalhe.
Repare como fiz o meu:

Citarsudo mkdir /mnt/sdb1
sudo mount /dev/sdb1 /mnt/sdb1

Comparando com o seu:

Citarsudo mkdir /mnt/sda2
sudo mount /dev/sda2 /mnt/sda2

Estavam iguais!

Comparando o caminho dos arquivos que eram para ser abertos, notei que eram diferentes:

CitarNautilus em Sistema de arquivos > etc > fstab

CitarLocais > Computador > Sistema de arquivos > mnt > sda2 > etc

Agora seguem os resultados que consegui em cada um deles:

sudo blkid

Citarubuntu@ubuntu:~$ sudo blkid
/dev/loop0: TYPE="squashfs"
/dev/sda1: UUID="B038454F384515AE" TYPE="ntfs"
/dev/sdb1: UUID="08268651-2f85-464d-96ff-8b3f7a143490" TYPE="ext4"
/dev/sdb5: UUID="5fdf3f99-6417-4e4b-aad3-d1334953fddd" TYPE="swap"

sudo mkdir /mnt/sdb1
sudo mount /dev/sdb1 /mnt/sdb1


Citar
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# / was on /dev/sdb1 during installation
UUID=08268651-2f85-464d-96ff-8b3f7a143490 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sdb5 during installation
UUID=5fdf3f99-6417-4e4b-aad3-d1334953fddd none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto,exec,utf8 0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0

Ou seja, eles são os mesmos:

08268651-2f85-464d-96ff-8b3f7a143490
08268651-2f85-464d-96ff-8b3f7a143490


CitarO problema no seu sistema pode ser esse ( as UUIDs não são as mesmas).
A solução seria corrigir o fstab.

Agora deu pane na minha cabeça, pois já tentei inúmeras vezes e até agora não deu certo.  :(
Irei reler tudo novamente, desde o ínicio do meu pedido de ajuda, e ver se acho alguma coisa errada.

Não será fácil porque eu nunca tive contato com comandos na minha vida.
Mas enfim, é um desafio.... rsrs


Abraços


fatecano

Pessoal, me perdoem pelo desserviço a comunidade.
Esse tópico poderia ser útil a outras pessoas, mas não deu certo.
Eu acabei reinstalando o Ubuntu novamente, pois estou com muitas coisas atrasadas e está totalmente impraticável tentar resolver isso agora.

Pelo menos até o fim do dia eu sei que já terminei de configurar tudo novamente e usar as minhas cópias de backup que tenho no hd externo.

Obrigado pela ajuda e, outra vez, me perdoem por qualquer coisa.


Abraços

niltonpess

Eu instalei o 9.10 do zero, num HD diferente do XP. Formatei antes o HD e desfragmentei o disco do XP. Parcionei o HD para o 9.10 e a Home. E depois ao dar o restart... Nada! A partição estava lá, o Ubuntu instalado e nada de aparecer o Grub. Já iniciava pelo XP. É como se o Ubuntu não existisse.
Rodei o Live CD e tudo estava lá. Recuperei o Grub pelo DVD Alternate do 9.10 e nada. Simplesmente não aparece o Grub. Só inicializa pelo XP, como se não tivesse instalado o Ubuntu. :'(

jomafras

#103
O Grub 2 precisa ser instalado na MBR (sda - HD principal ou Master).
Se vc não fez isso não vai ter o Grub na inicialização.
O Ubuntu sem dúvida é a melhor Distro.
Pesquise primeiro... só depois abra um tópico.
Canal do YouTube - Blog

diogovm

Pessoal... sou muito novato nisso tudo. Não sou programador nem trabalho na área de informática, usuario comum mesmo. Comprei um laptop desses novos que para ficar mais barato vem com o ubuntu... ate ai tudo bem. Comprei pensando em por o windows.. e tal. O que foi surpresa para mim é adorar o programinha :D :D. Tanto que nao deixo tirarem de jeito nenhum, e agora to querendo aprender mais e mais.

Tive um pro com ele (antes que digam, ja li as pastas todas e nao achei igual ao meu). Quando liguei o comp, o sistema de atualizações dele oferece o upgrade para o 9.04 (tenho o 8.10). Aceitei. Ao terminar o download e instalação minha placa de wireless nao funcionava mais... ai nao cosneguia conectar. Então recoloquei o cd de instalação e voltei para o 8.10. A instalação não me deu muitas opções, só perguntou se eu queria continuar mesmo e cliquei sim... e se fez só.

Desde então sempre que tento atualizar os pacotes, dá o famigerado error:15 file not found. Ja tive que reinstalar 3 vezes, e essa ultima nao pude mais atualizar o programa, sabendo que vai dar o erro.

Alguem tem idéia? Pelo que entendi o erro deve estar no Grub (que nem sei o que é), mas nao sei como corrigir. Pensei até de o erro estar em algum dos 146 pacotes que ele atualiza depois que instalo.

obrigado de antemão e espero aprender aqui.