Como instalar o Grub2 no Macbook Pro com o comando grub-install sem avisar sobre “blocklists” que requerem o uso de --force?

2

Eu tenho um MacBook Pro 5,2 e tive um problema esporádico de ter que reinstalar o GRUB após uma atualização do sistema. Isso aconteceu com várias versões recentes do Ubuntu, embora eu não tenha um registro exato de quais.

De vez em quando, depois de uma atualização do sistema com o gerenciador de atualização, eu não consigo mais inicializar no Ubuntu a menos que eu repare a instalação do GRUB manualmente. Para fazer isso, sigo este procedimento:

link

seguindo as instruções em ChRoot. Isso sempre funciona para reinstalar as coisas, mas, como você pode imaginar, não é o que eu mais gosto de fazer e leva cerca de meia hora de cada vez.

Um problema que eu me deparo ao tentar seguir essas instruções é que quando chego à etapa 11, onde devo executar grub-install /dev/sda , sempre me diz que não posso executar esse comando porque ele teria que usar " listas de bloqueio "que são inerentemente instáveis, e a única maneira de proceder é usar a opção --force no grub-install. Então eu uso a opção --force e ela instala, mas o fato de ela não ir de acordo com as instruções me preocupa que talvez essa seja a fonte da instabilidade que o aviso está me informando. Mas não vai me deixar reinstalar de outra maneira.

Como informação de fundo eu poderia mencionar como fundo que eu tenho o Reequipamento instalado no lado do Mac, caso isso seja uma fonte do problema porque está em conflito ou lutando com o Grub no setor de inicialização ou algo parecido. Eu também não consegui inicializar no OS / X a partir do Grub, embora esteja no menu de inicialização do Grub. Apenas trava e não faz nada se eu selecionar isso. Para inicializar no OS / X eu tenho que usar o suporte de hardware no Mac pressionando a tecla de opção enquanto está inicializando e então selecionando a partição do OS / X, que então inicializa via Reajuste. Por outro lado, não consigo inicializar o Ubuntu via Reequipamento, embora essa partição apareça no menu Reequilibrar (como uma partição do Windows, porque acho que o Refit assume que qualquer coisa que não seja OS / X é "Windows"). Finalmente aqui está a saída de sudo fdisk -l para o meu sistema:

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util 
fdisk doesn't support GPT. Use GNU Parted.

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000001

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          26      204819+  ee  GPT
/dev/sda2   *          26       12972   103986412   af  HFS / HFS+
/dev/sda3           12972       25767   102782192   83  Linux
/dev/sda4           25768       59272   269128912   83  Linux

O OSX está instalado no sda2. A raiz do linux está instalada em sda3 e minha pasta / home está em sda4. Todo o processo de inicialização dupla do Macbook Pro é um mistério para mim, então estou incluindo tanta informação quanto possível, no caso de algumas delas serem úteis. Agradecemos antecipadamente por qualquer ajuda.

    
por Mmmm 05.12.2011 / 21:09

1 resposta

3

Minha primeira reação é observar que você está usando um MBR híbrido híbrido , que é feio e perigoso hack que a Apple usa para simplificar dual-boots com o OS X. Sua saída do fdisk mostra apenas o lado do MBR do MBR híbrido, mas ambos OS X e Linux ignoram isso, favorecendo o lado da GPT. Para mostrar as partições GPT, você precisará usar o parted, o gdisk ou algum outro utilitário que reconhece a GPT.

Em segundo lugar, o erro "blocklists" sugere que você inicializou no modo BIOS (usando o sistema de compatibilidade criado pela Apple para ser usado pelo Windows), mas seu GPT não inclui um Partição de inicialização do BIOS, que o GRUB 2 usa em discos GPT para armazenar parte de seu carregador de inicialização no modo BIOS. Uma maneira de contornar esse erro é ajustar suas partições para que você tenha uma partição de inicialização do BIOS. Isso provavelmente pode ser feito de forma relativamente indolor, mas pode haver consequências não intencionais para essa mudança. Em particular, se você precisar redimensionar quaisquer partições com GParted, é provável que acabe com o MBR híbrido, o que impedirá o sistema de inicializar o Linux em sua configuração atual porque o MBR híbrido é o que ativa o modo de compatibilidade do BIOS do Mac. Esse problema pode ser corrigido com a criação de um novo MBR híbrido.

Já que você não parece ter o Windows, você pode querer dar uma olhada na inicialização do Linux no modo EFI, o que eliminará a necessidade da camada de compatibilidade do BIOS e do MBR híbrido. Eu tenho uma página da Web sobre como fazer isso: link . Em resumo, o procedimento de uma instalação do Ubuntu em funcionamento é desinstalar o grub-pc e instalar e configurar o grub-efi ou algum outro carregador de inicialização compatível com EFI. Este método tem suas desvantagens, no entanto. Em particular, em alguns sistemas, alguns hardwares (possivelmente incluindo hardware de vídeo) podem não ser ativados, o que, em casos extremos, pode tornar o sistema inutilizável.

A propósito, o rEFIt provavelmente não é um problema; é um gerenciador de inicialização no modo EFI que não entra em conflito com os programas de inicialização no modo BIOS. O rEFIt parece ter sido abandonado, no entanto. Meu fork, rEFInd, pega o desenvolvimento, adiciona recursos e corrige bugs. Ele tem algumas opções que são particularmente úteis para inicializar o Linux, mas algumas delas se aplicam somente se você tiver um kernel 3.3.0 ou posterior, que nenhuma versão do Ubuntu ainda oferece.

    
por Rod Smith 27.05.2012 / 02:22