Problema do GRUB 2 após a atualização do Mac OS X

0

Eu tenho um MacBook Pro no Mac OS X / Ubuntu 12.04 (Precise Pangolin). Quando eu inicializo, tenho um menu rEFIt , e posso escolher entre Mac OS X e Linux. Há alguns dias atualizei o Mac OS X de 10.7 (Lion) para 10.8 (Mountain Lion) usando uma imagem .dmg fornecida pela minha empresa. Desde então, quando eu seleciono o Linux no rEFIt, ele diz:

Não há dispositivo inicializável - insira o disco de inicialização e pressione qualquer tecla

  1. Eu tentei ir para a ferramenta de particionamento rEFIt. Isto é o que eu tenho:

Comosugeridoem a atualização do Mac OSX interrompeu o boot do Ubuntu Eu queria corrigir o problema da mesma forma que o AndrewM, mas não tenho a opção "A tabela do MBR deve ser atualizada".

  1. Então eu iniciei no Ubuntu 12.04 CD, escolhi reparar o sistema quebrado, escolhi root patition /dev/sda6 , pois é onde está meu sistema de arquivos do Ubuntu. Eu tenho um shell, mas eu realmente não sei como consertar o poblem desde se foi apenas o Windows dual boot. Uma atualização do GRUB resolveria o problema, mas aqui não sei onde o GRUB 2 está instalado.

Aqui estão os resultados de Parted , e isso é um pouco confuso para mim, já que a partição do Mac é aquela com boot :

Comovocêpodever,aentrada1éumapartiçãodosistema EFI e é a partição de inicialização, por isso gostaria de saber se deve instalar o GRUB lá ou no sda6, que é o sistema de arquivos do Ubuntu.

Não tenho certeza se devo trabalhar em shell rEFIt ou Ubuntu. Infelizmente, não lembro onde o GRUB estava antes da atualização.

ATUALIZAÇÃO: usando o mesmo link acima, eu tentei a resposta do RoundSparrow hilltx e instalei rEFInd , mas o resultado é o mesmo .... ainda não há dispositivo inicializável quando eu seleciono Linux.

UPDATE 2: acabou de usar o CD alternativo novamente, montado em / dev / sda6 e o ran update-grub. Parecia wok e começou listando todos os meus kernels. Mas depois de reiniciar várias vezes ainda não há dispositivo inicializável quando eu seleciono Linux em rEFInd.

UDATE 3: Tentei inicializar a partir do Ubuntu cd e selecione "boot do primeiro sistema de arquivos disponível. Recebi erro e caí no grub rescue shell. Eu até segui as indicações neste link mas não conseguiu arrancar enquanto tentava usar sdb6 mas sem sorte

ATUALIZAÇÃO 4 de acordo com o pedido de Rob Smith aqui é colocado em ls -l $(find /EFI -iname "*.efi")

* MACOSX

-rw-r--r--@ 1 root  admin    55048 29 oct 17:44 /EFI/refind/drivers_x64/btrfs_x64.efi
-rw-r--r--@ 1 root  admin    38888 29 oct 17:44 /EFI/refind/drivers_x64/ext2_x64.efi
-rw-r--r--@ 1 root  admin    39304 29 oct 17:44 /EFI/refind/drivers_x64/ext4_x64.efi
-rw-r--r--@ 1 root  admin    43432 29 oct 17:44 /EFI/refind/drivers_x64/hfs_x64.efi
-rw-r--r--@ 1 root  admin    38984 29 oct 17:44 /EFI/refind/drivers_x64/iso9660_x64.efi
-rw-r--r--@ 1 root  admin    43656 29 oct 17:44 /EFI/refind/drivers_x64/reiserfs_x64.efi
-rw-r--r--@ 1 root  admin   175016 29 oct 17:44 /EFI/refind/refind_x64.efi
-rw-rw-r--  1 root  admin    73232  7 mar  2010 /EFI/tools/dbounce.efi
-rw-rw-r--  1 root  admin   763248  7 mar  2010 /EFI/tools/dhclient.efi
-rw-rw-r--  1 root  admin    67024  7 mar  2010 /EFI/tools/drawbox.efi
-rw-rw-r--  1 root  admin    71312  7 mar  2010 /EFI/tools/dumpfv.efi
-rw-rw-r--  1 root  admin    84848  7 mar  2010 /EFI/tools/dumpprot.efi
-rw-rw-r--  1 root  admin   472912  7 mar  2010 /EFI/tools/ed.efi
-rw-rw-r--  1 root  admin   143856  7 mar  2010 /EFI/tools/edit.efi
-rw-rw-r--  1 root  admin  1801008  7 mar  2010 /EFI/tools/ftp.efi
-rw-r--r--@ 1 root  admin    47848 29 oct 17:44 /EFI/tools/gptsync_x64.efi
-rw-rw-r--  1 root  admin   320560  7 mar  2010 /EFI/tools/hexdump.efi
-rw-rw-r--  1 root  admin   286384  7 mar  2010 /EFI/tools/hostname.efi
-rw-rw-r--  1 root  admin   534416  7 mar  2010 /EFI/tools/ifconfig.efi
-rw-rw-r--  1 root  admin   395344  7 mar  2010 /EFI/tools/loadarg.efi
-rw-rw-r--  1 root  admin   587408  7 mar  2010 /EFI/tools/ping.efi
-rw-rw-r--  1 root  admin   730416  7 mar  2010 /EFI/tools/pppd.efi
-rw-rw-r--  1 root  admin   561360  7 mar  2010 /EFI/tools/route.efi
-rw-rw-r--  1 root  admin  1961712  7 mar  2010 /EFI/tools/shell.efi 
-rw-rw-r--  1 root  admin   750224  7 mar  2010 /EFI/tools/tcpipv4.efi
-rw-rw-r--  1 root  admin     4048  7 mar  2010 /EFI/tools/textmode.efi
-rw-rw-r--  1 root  admin   320656  7 mar  2010 /EFI/tools/which.efi

* LINUX

Como a partição do Ubuntu 12.04 não é inicializável, tive que inicializar em um CD ao vivo, então, no início, seu comando não funcionou:

$ ls -l /boot/vmlinuz*
$ ls: cannot access /boot/vmlinuz*: No such file or directory

então decidi montar meu sistema de arquivos:

sudo mkdir /media/sda6
sudo mount -t ext4 -r /dev/sda6 /media/sda6
cd /media/sda6/
sudo ls -l boot/vmlinuz*

-rw-r--r-- 1 root root 4965840 Apr 25  2012 boot/vmlinuz-3.2.0-23-generic
-rw------- 1 root root 4965968 May 21  2012 boot/vmlinuz-3.2.0-24-generic
-rw------- 1 root root 4974672 Mar 25  2013 boot/vmlinuz-3.2.0-40-generic
-rw------- 1 root root 4978416 Jun  6 20:24 boot/vmlinuz-3.2.0-48-generic
-rw------- 1 root root 4978416 Jun 18 18:20 boot/vmlinuz-3.2.0-49-generic
-rw------- 1 root root 4978960 Jul 24 20:59 boot/vmlinuz-3.2.0-51-generic
-rw------- 1 root root 4980336 Aug 22 21:41 boot/vmlinuz-3.2.0-53-generic
    
por vallllll 28.10.2013 / 12:32

1 resposta

2

Se você seguiu as instruções do RoundSparrow hilltx com precisão, incluindo o uso da opção --alldrivers para install.sh , você deverá ver uma ou mais novas opções em rEFInd, com descrições que incluem a string vmlinuz . Essas novas entradas devem inicializar o Linux. Se isso acontecer, você pode remover a entrada não funcional do Linux editando /EFI/refind/refind.conf , removendo o comentário da linha scanfor e garantindo que hdbios não seja

Se você fez não usar a opção --alldrivers , ou se você não vir as entradas vmlinuz / entradas, deverá instalar o driver ext4fs que vem com o rEFInd. Supondo que você usou as opções de instalação rEFInd padrão, é necessário criar o diretório /EFI/refind/drivers no OS X e, em seguida, copiar o driver ext4fs para sua arquitetura (X64 ou IA32) para esse diretório. Quando você reiniciar, você deverá ver uma nova opção do Linux, com um nome que inclua vmlinuz . Isso deve inicializar corretamente.

EDIT: Você poderia, por favor, fazer o seguinte e postar os resultados (edite sua postagem original para fazer isso):

  1. No OS X, digite ls -l $(find /EFI -iname "*.efi") e poste os resultados aqui. (Isso pressupõe que você instalou o rEFInd no OS X usando as opções padrão; se você o instalou no ESP, monte-o e ajuste o caminho de /EFI para o ponto de montagem do seu ESP).
  2. No Linux, digite ls -l /boot/vmlinuz* e poste os resultados aqui.
  3. Verifique no arquivo refind.conf a presença de uma linha lendo scan_all_linux_kernels . Certifique-se de que esteja presente e que não seja comentada (por um caractere # inicial).

Você também pode tentar fazer com que o boot no modo BIOS volte a funcionar corrigindo o MBR híbrido e / ou reinstalar o GRUB; no entanto, MBRs híbridos são feios e perigosos, então essa não é a abordagem que eu recomendo. Se você seguir esse caminho, tente usar o programa gptsync de rEFInd, em vez daquele de rEFIt. O último falhou para você, mas o de rEFInd provavelmente funcionará; ou você pode usar gdisk para este trabalho, conforme descrito na página à qual eu vinculei anteriormente neste parágrafo.

EDIT 2: Seus kernels são todos versões 3.2.x, anteriores à EFI stub loader. Isso significa que eles não funcionarão diretamente com o rEFInd. De um modo geral, existem duas maneiras de contornar este problema:

  • Adicione outro carregador de inicialização EFI, como o ELILO ou a versão EFI do GRUB 2, para inicializar seus kernel 3.2.x existentes. Isso é bastante fácil de fazer se você souber, mas é um processo desconhecido para a maioria dos usuários. Veja minha página sobre o tema para informações gerais e gerais. Note que estas instruções supõem que você tenha uma instalação Linux em funcionamento; você provavelmente terá que usar um CD ao vivo para instalar as coisas. Além disso, você precisa não executar efibootmgr para registrar um carregador de boot com o firmware; basta copiar seus arquivos no lugar e configurar seu arquivo de configuração. Depois disso, o rEFInd deve detectar o que você instalar e permitir que você o inicie.
  • Atualize seu kernel para algo da série 3.3.x ou posterior. Isso é feito facilmente se você puder inicializar seu sistema atual, conforme descrito aqui , mas é claro que isso cria uma situação de catch-22. Você deve ser capaz de superar esse obstáculo usando chroot de um disco de emergência, como descrito em aqui.

Outra opção é atualizar sua versão do Ubuntu. Eu percebo que o 3.04 é um lançamento do LTS, mas houve versões 3.04.1 e 3.04.2 desde então, e tenho certeza que elas incluem os novos kernels. Eu não tenho certeza se você poderia instalar o 3.04.2 sobre o 3.04 para fazer tudo funcionar, mas você pode olhar para essa possibilidade.

    
por Rod Smith 29.10.2013 / 00:58