grub2 não carrega o Ubuntu em dual boot

3

Há um problema com uma configuração de inicialização dupla que está sendo executada no gerenciador de inicialização do Windows. Eu posso carregar com sucesso no grub2 a partir do gerenciador de boot do Windows, no entanto, parece que o grub2 não pode localizar para o Kernel ou algo assim, já que está me soltando em um shell com a seguinte saída:

[ Minimal BASH-like line editing is suported. For the First word, TAB
list the posible command completion. Anywhere else tab list the posible
completions of a device/filename,]

grub>

Eu usei o Easybcd no passado e carreguei com êxito um grub do Linux através do bootloader do Windows, mas foi quando os dois sistemas operacionais estavam na mesma partição, mas como o meu sistema operacional está agora em partições separadas, parece que o EasyBcd não funciona .

Um incentivo é que eu consegui fazer com que o Easybcd carregasse um Grub funcional se eu usasse o carregador de boot do Neo grub e editasse o confg com:

title Ubuntu 14.04
find --set-root /boot/vmlinuz-3.19.0-61-generic
kernel /boot/vmlinuz-3.19.0-61-generic ro root=/dev/sdc
initrd /boot/initrd.img-3.19.0-61-generic

no entanto isso carrega no Grub4DOS que é muito lento, e a partir de hoje esse método parou de funcionar See ESTE POST para detalhes).

Aqui está a saída do EasyBcd Settings para todos os diferentes métodos que eu tentei para a instalação do Ubuntu 14.04:

Default: Windows 7
Timeout: 30 seconds
Boot Drive: C:\

Entry #1
Name: Windows 7
BCD ID: {current}
Drive: C:\
Bootloader Path: \Windows\system32\winload.exe

Entry #2
Name: Ubuntu 14.04 Legacy
BCD ID: {a4f127cf-3150-11e6-8aaf-408d5cb9e442}
Drive: C:\
Bootloader Path: \NST\nst_linux.mbr

Entry #3
Name: Ubuntu 14.04 Grub2
BCD ID: {a4f127d0-3150-11e6-8aaf-408d5cb9e442}
Drive: C:\
Bootloader Path: \NST\AutoNeoGrub0.mbr

Entry #4
Name: Ubuntu Neo Grub
BCD ID: {a4f127d1-3150-11e6-8aaf-408d5cb9e442}
Drive: C:\
Bootloader Path: \NST\NeoGrub.mbr

* Parece que nenhum dos caminhos vistos acima estão apontando para minha partição dev / sdc2 / que seria considerada DISK1 no meu gerenciador de volume do Windows.

EDIT - Na confusão de tentar obter um gerenciador de inicialização funcional para o Ubuntu / Windows, você verá que o grub e o gerenciador de inicialização do Windows foram instalados em vários locais. Abaixo estão os locais e conteúdos atuais de todos os bootmanager & amp; Instalações do Grub:

dev / sdb unidade do Windows7

/ dev / sdb1 - 512 MB de partições fat32 que estão atualmente vazias

/ dev / sdb2 - partição de 110 GB ntfs contendo a instalação do Windows7. Esta partição contém uma pasta 'Boot' que contém arquivos BCD e um monte de pastas langauage. ESTA É A PASTA QUE O WINDOWS BOOTLOADER usa.

/ dev / sdb4 - 121.53 partição ntfs contendo armazenamento para mídia

dev / sdd - Ubuntu Drive

dev / sdd1 - 512 MB de partição contendo uma pasta 'EFI', dentro da qual existem duas pastas 'grub' e 'Ubuntu', ambas contendo exatamente os mesmos arquivos (grub.cfg , grubx64.efi, MokManager.efi, shium64.efi)

dev / sdd2 - 48,83 GB de partição ext4 que contém a pasta '/' e a instalação do Ubuntu.

dev / sdd3 - 69,91 GB de partição ntfs contendo armazenamento para mídia

O que eu preciso fazer para que o shell do Grub no qual estou sendo colocado carregue o Ubuntu? Como posso obter essa máquina para inicialização dupla do Grub?

    
por Kalamalka Kid 12.06.2016 / 11:39

2 respostas

1

Eu finalmente consegui que o grub2 carregasse na inicialização com uma entrada do Windows 7, mas foi preciso muita tentativa e erro.

O que fiz foi remover todas as entradas do Grub de todos os locais diferentes que haviam sido instalados nas diversas unidades e, em seguida, remover todas as entradas do EasyBcd Grub.

Depois disso, inicializei o Boot Repair Disk e restaurei o MBR para permitir que o Windows inicializasse normalmente, reiniciei o Boot Disk Repair e reinstalei o Grub2 (em todas as unidades). Então entrei no meu BIOS, mudei o disco de inicialização e inicializei no Ubuntu e digitei sudo update-grub

foi somente depois de executar este comando que o Windows foi reconhecido no bootloader do Grub2. Ele não terminou aqui porque o Windows Bootloader ainda estava surgindo depois de escolher o Windows no menu Grub2 (essencialmente adicionando outra etapa), então usei o EasyBCD para desabilitar o menu do gerenciador de inicialização do Windows para que o Grub fosse carregado diretamente no Windows sem esperar o bootloader do Windows.

Eu consegui alterar a ordem de inicialização no Grub2 com o grub-customizer

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

Eu recompensarei a recompensa pela primeira resposta, já que foi a única resposta, e também estou feliz que o autor tenha tido tempo para ser minucioso em suas explicações.

    
por Kalamalka Kid 16.06.2016 / 10:26
2

Você tem duas opções - usando o carregador de inicialização GRUB (o que eu recomendo) ou o carregador do Windows. Primeiro, remova todas as entradas do Ubuntu ou do GRUB criadas anteriormente no armazenamento BCD do Windows. Para listar todos os identificadores, abra o prompt de comando como administrador, execute: bcdedit /enum all /v

Para deletar as entradas do Ubuntu execute: bcdedit /delete {*} para cada entrada do Ubuntu que você possui. Substitua * pelo identificador do Ubuntu para excluir - tenha cuidado e não exclua a entrada do Windows. Além disso, recomendo desinstalar o EasyBCD para evitar mais problemas com as operações do BCD.

Método 1: carregador de boot do GRUB

Inicialize a partir da mídia de instalação do Ubuntu e selecione Experimente o Ubuntu sem instalar, uma vez na área de trabalho ao vivo, abra o GParted para identificar o disco e as partições onde os sistemas operacionais estão instalados. Na maioria dos casos, o disco é sda , a partição do Windows na msdos tabela de partições sda1 .

Agora instale o carregador de inicialização GRUB a partir do qual você pode inicializar o Ubuntu e o Windows no disco no modo Legacy BIOS ( msdos partition table) - então abra um terminal e execute estes comandos:

sudo mount /dev/sd** /mnt  
sudo grub-install --boot-directory=/mnt/boot /dev/sd*

Substitua sd* (disco) e sd** (partição do Ubuntu) pelas letras e números que você identificou.

Caso os sistemas estejam instalados no modo UEFI BIOS ... instale o carregador de inicialização GRUB no modo EFI.

sudo mount /dev/sd*** /mnt
sudo mount /dev/sd** /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install /dev/sd*
update-grub  

Substitua sd* (disco), sd** (partição efi), sd*** (partição Ubuntu) pelo que você identificou.

Inicialize no BIOS e altere a ordem de inicialização nas configurações de UEFI - selecione o Ubuntu como o SO padrão.

Método 2: carregador de inicialização do Windows

Inicialize a partir da mídia de instalação do Ubuntu e selecione Experimente o Ubuntu sem instalar, uma vez na área de trabalho ao vivo, abra o GParted para identificar o disco e as partições onde os sistemas operacionais estão instalados. Na maioria dos casos, o disco é sda , a partição do Windows na msdos tabela de partições sda1 .

Primeiro, monte a partição do Windows, abra um terminal e execute: sudo mount /dev/sd*** /mnt
Substitua sd*** (partição do Windows) pelas letras e pelo número que você identificou antes.

Copie os primeiros 512 bytes do Ubuntu: dd if=/dev/sd** of=/mnt/linux.bin bs=512 count=1
Substitua sd** (partição do Ubuntu) pelas letras e números que você identificou antes.

Inicialize no Windows, abra o prompt de comando como administrador e execute estes comandos:

bcdedit /create /d Ubuntu /application bootsector
bcdedit /set {identifier} device partition=c:
bcdedit /set {identifier} path \linux.bin
bcdedit /displayorder {identifier} /addlast  
bcdedit /timeout X  

Substitua "identificador" pelos caracteres, letras e números retornados ao executar o primeiro comando e substitua "X" pelo número de segundos (por exemplo 10) que você deseja ver no menu do carregador de inicialização do Windows - antes dele automaticamente irá inicializar o sistema operacional padrão.

    
por cl-netbox 15.06.2016 / 16:35