Pânico do GRUB2: “Não existe tal partição”

0

Consegui instalar o 10.04 em um sistema que já possui 8.04 (partições separadas, é claro). Também instalou o GRUB2 no MBR.

Depois de descobrir que não há menu.lst mais, eu editei /etc/grub.d/40_custom para apontar para onde minhas outras partições de SO são:

menuentry "Ubuntu 8.04" {
set root=(hd0,0)
linux /boot/vmlinuz-2.6.24-28-generic
initrd /boot/initrd.img-2.6.24-28-generic
}

menuentry "Windows 7 Ultimate 64-bit" {
set root=(hd0,2)
chainloader (hd0,2)+1
}

O GRUB2 exibe o menu com essas entradas, mas quando eu seleciono qualquer uma delas, ele se recusa a carregá-las, dizendo "Nenhuma partição desse tipo".

Eu sei que as partições estão lá, como o "Disk Utility" do 10.04 as vê sem nenhum problema.

Como obtenho o GRUB2 para reconhecê-los?

    
por Android Eve 31.12.2010 / 18:51

2 respostas

1

Problema resolvido: a resposta é ... Ao contrário do GRUB legado, o GRUB2 começa a contar partições de 1, não de 0 .

A chave eram as seguintes instruções de como "converter" entradas menu.lst para 40 entradas personalizadas, tiradas do seguinte link

link

The following entries from the GRUB menu listing must be changed for them to work:

    * title is changed to menuentry. The line must end with {
    * root is changed to set root=
    * kernel must be changed to linux
    * Any partition designation (sda4, sdb6) must be changed, as GRUB and GRUB 2 count the partitions differently. The first partition for GRUB 2 is 1, not 0. Devices still start the count at 0. 
    
por Android Eve 31.12.2010 / 19:44
1

Você fez o arquivo 40_custom editado ser executado usando um comando no formulário:

sudo chmod + x /etc/grub.d/filename

Veja os tutoriais:

link

link

E, claro, há uma série de etapas além de simplesmente editar o arquivo 40_custom, da seguinte forma:

  • Execute sudo update-grub para obter os kernels disponíveis atualmente.
  • Copie as listagens "menuentry" desejadas de /boot/grub/grub.cfg para /etc/grub.d/40_custom A entrada começa com a linha que começa com "menuentry" e termina com uma linha contendo "}". / li>
  • Adicione outros itens "menuentry" que você deseja ver no menu de inicialização.
  • Edite os títulos da linha "menuentry", se desejar (entre os símbolos de cotação). Não altere as linhas seguindo a linha "menuentry". Cada entrada deve começar com uma linha "menuentry" e terminar com um "}" na última linha.
  • Remova o bit executável de /etc/grub.d/10_linux, /etc/grub.d/20_memtest86+ e /etc/grub.d/30_os-prober Remover o bit executável de qualquer arquivo em /etc/grub.d excluirá a inclusão do arquivo nas atualizações do grub. Código: sudo chmod -x /etc/grub.d/10_linux /etc/grub.d/20_memtest86+ /etc/grub.d/30_os-prober
  • Execute "sudo update-grub"
por CentaurusA 31.12.2010 / 19:35