Você tentou adicionar um "custom" menuentry
para inicializar o Ubuntu editando grub.cfg
?
Decidi sugerir isso também, pois, mesmo que não funcione, talvez resulte em uma mensagem de erro mais útil.
-
Inicialize seu sistema usando seu LiveCD 12.04.
-
Monte a partição
sda5
em que o Ubuntu está instalado. Neste exemplo, assumirei quesda5
foi montado em/mnt
usando, por exemplo,sudo mount -t ext4 /dev/sda5 /mnt
. -
Determine quais os kernel (s) que você instalou listando o conteúdo do diretório
/mnt/boot
. Você precisará dessas informações para concluir a etapa (5) abaixo.
Observação: O comando abaixo é uma maneira de fazer isso.ls /mnt/boot/{initrd*,vmlinuz*}
-
Use
sudo
para editar o arquivo/mnt/boot/grub/grub.cfg
(ou seja, o arquivogrub.cfg
na sua partiçãosda5
Ubuntu). -
Encontre as linhas abaixo no arquivo. Eles devem ter ~ 10 linhas antes do final do arquivo.
### BEGIN /etc/grub.d/40_custom ### # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. ### END /etc/grub.d/40_custom ###
Substitua o acima pelos comandos do GRUB para o
menuentry
abaixo.
Importante: No exemplo abaixo, você deve substituir?.?.?-??
nolinux
einitrd
linhas com o número da versão (do passo (3)) do kernel que você deseja inicializar.### BEGIN /etc/grub.d/40_custom ### menuentry 'Ubuntu on sda5' --class ubuntu --class gnu-linux --class gnu --class os { recordfail insmod gzio insmod part_msdos insmod ext2 set root='(hd0,msdos5)' search --no-floppy --fs-uuid --set=root c35e7a0a-408c-4586-8a18-b3faa368ef3f linux /boot/vmlinuz-?.?.?-??-generic root=UUID=c35e7a0a-408c-4586-8a18-b3faa368ef3f ro quiet splash initrd /boot/initrd.img-?.?.?-??-generic } ### END /etc/grub.d/40_custom ###
-
Reinicialize e veja se essa entrada personalizada permite que você inicialize o Ubuntu em
/dev/sda5
.
Se a sugestão acima funcionasse, sugiro tentar o seguinte.
-
Use
sudo
para editar o arquivo/etc/grub.d/40_cutom
e anexe o comandos menuentry do passo (5) para o final do arquivo. Desta forma, o a entrada do menu não será perdida se você executarupdate-grub
.
Aviso: Não exclua as duas linhas abaixo! Eles precisam estar no início do arquivo40_custom
paraupdate-grub
para funcionar corretamente.#!/bin/sh exec tail -n +3 $0
-
Tente reinstalar o GRUB ainda mais uma vez usando o comando abaixo. (Por quê não?)
sudo grub-install --recheck /dev/sda
Atualize a resposta para comentar se os arquivos do kernel estão faltando em /boot
Eu nunca encontrei uma situação em que os arquivos do kernel estivessem faltando em /boot
. Minha primeira preocupação seria que se seus arquivos de kernel estivessem faltando, então algo mais poderia estar seriamente errado com o Ubuntu instalado em sda5
.
Sugiro que você atualize sua pergunta e seu título para refletir que não há arquivos de kernel em /boot
. Isso aumenta suas chances de obter uma resposta melhor de outra pessoa.
Eu procurei no AskUnbuntu por uma pergunta semelhante, mas tudo que encontrei foi o link abaixo.
Como restaurar um sistema após remover acidentalmente todos os kernels?
A melhor resposta para essa pergunta foi chroot
e tente reinstalar o kernel que você diz que já tentou. A única mudança que eu poderia sugerir é que você tente novamente usando esses comandos. (Nota: sudo
não foi usado abaixo porque se você chroot
já é root
.)
apt-get update apt-get --reinstall install linux-generic linux-image-generic linux-headers-generic
-
Nota: Se o acima parecer funcionar, é provavelmente mais seguro executar também%
grub-install --recheck /dev/sda
A manpage para update-initramfs também pode ajudar a fornecer algum contexto sobre o que acontece quando um kernel é" instalado ".
Em retrospectiva, eu deveria ter percebido que algo estava errado ao ler seu resumo do BootInfo. Termina com o trecho abaixo.
=================== sda5: Location of files loaded by Grub: ====================
GiB - GB File Fragment(s)
= boot/grub/core.img 1
= boot/grub/grub.cfg 1
========= Devices which don't seem to have a corresponding hard drive: =========
sdb
=============================== StdErr Messages: ===============================
xz: (stdin): Compressed data is corrupt
xz: (stdin): Compressed data is corrupt
awk: cmd. line:36: Math support is not compiled in
awk: cmd. line:36: Math support is not compiled in
Mas ao invés dos erros acima eu deveria ter esperado ver algo como o trecho abaixo de um Resumo do BootInfo que criei como exemplo .
=================== sda5: Location of files loaded by Grub: ====================
GiB - GB File Fragment(s)
23.440826416 = 25.169395712 boot/grub/core.img 1
23.440864563 = 25.169436672 boot/grub/grub.cfg 1
18.791522980 = 20.177244160 boot/initrd.img-3.2.0-23-generic 1
25.439197540 = 27.315130368 boot/vmlinuz-3.2.0-23-generic 1
18.791522980 = 20.177244160 initrd.img 1
25.439197540 = 27.315130368 vmlinuz 1
ADDITIONAL INFORMATION :
=================== log of boot-repair 2012-06-13__16h58 ===================
boot-repair version : 3.18-0ppa25~precise
boot-sav version : 3.19-0ppa14~precise
glade2script version : 0.3.2.1-0ppa7~precise
boot-repair is executed in live-session (Ubuntu 12.04 LTS , precise , Ubuntu , x86_64)
=================== OSPROBER:
/dev/sda1:Windows 7 (loader):Windows:chain
/dev/sda5:Ubuntu 12.04 LTS (12.04):Ubuntu:linux
... et cetera ....