GRUB2 em USB com Ubuntu e Windows 8 Recovery

0

Eu tenho um Surface Pro. Eu movi minha partição de recuperação do Surface Pro para uma unidade flash USB. Eu também instalei o GRUB2 na unidade flash com o Ubuntu Live / Persistente (eu fiz o backup das coisas de recuperação do Surface Pro primeiro !!). Eu estou tentando obter uma configuração GRUB2 que vai me deixar arrancar a partir do disco rígido, arrancar o Windows 8 Recuperação para o Surface Pro e todas as coisas do Ubuntu.

Eu tenho todas as coisas do Linux em funcionamento, estou apenas tendo problemas para fazer o trabalho do Windows 8 funcionar. Eu tentei usar chainloader, mas não sei exatamente como. Parece que a EFI mudou tudo o que eu achava que sabia sobre o Grub. Além disso, não sei como obter nomes próprios do USB e Surface SSD para o grub.

Aqui é um screencap da estrutura de arquivos na USB

Aqui é um screencap da saída de 'ls' na linha de comando do grub (desculpe, tirada com meu telefone) .

Aqui está minha configuração do GRUB2 até agora:

if loadfont /boot/grub/font.pf2 ; then
    set gfxmode=auto
    insmod efi_gop
    insmod efi_uga
insmod gfxterm
    terminal_output gfxterm
fi

set menu_color_normal=white/black
set menu_color_highlight=black/light-gray

menuentry "Boot from Harddrive" { // this one does not work
  set root=(hd0,1)
  chainloader (hd0,1)
}
menuentry "Ubuntu 13.04 Persistent" {
  set gfxpayload=keep
  linux /casper/vmlinuz.efi  persistent file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --
  initrd    /casper/initrd.lz
}
menuentry "Ubuntu 13.04 Live" {
  set gfxpayload=keep
  linux /casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --
  initrd    /casper/initrd.lz
}
menuentry "Install Ubuntu 13.04" {
  set gfxpayload=keep
  linux /casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity quiet splash --
  initrd    /casper/initrd.lz
}
menuentry "File Integrity Check" {
  set gfxpayload=keep
  linux /casper/vmlinuz.efi  boot=casper integrity-check quiet splash --
  initrd    /casper/initrd.lz
}
menuentry "Memory Test" {
  set gfxpayload=keep
  linux /casper/mt86plus
}

Agora, se você perguntar por que diabos eu estou fazendo isso, principalmente por tentar aprender mais sobre GRUB e entendê-lo, mas também, se eu funcionar, eu terei um USB que eu posso usar para o Ubuntu sempre Eu quero e ainda funciona como minha recuperação para o meu Surface. Se tudo correr bem, estou pensando em instalar o Ubuntu no meu Surface para uma inicialização dupla.

    
por angellusmortis 18.09.2013 / 18:35

1 resposta

1

A ferramenta Reparo de inicialização pode corrigir o problema. Se você quiser fazer isso manualmente, você precisará criar uma entrada em /etc/grub.d/40_custom para inicializar o Windows. Algo como o seguinte geralmente funciona, mas você precisará ajustar detalhes como o número da partição:

menuentry "Windows" {
    insmod part_gpt
    insmod chain
    set root='(hd0,gpt1)'
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

Além disso, esteja ciente de que o GRUB é muito para ser configurado; o que funciona bem em um computador geralmente falha miseravelmente em outro. Assim, não posso prometer que a entrada acima funcionará para você.

Outra opção é mudar do GRUB para o outro gerenciador de inicialização EFI. Para dual-boot com Linux e Windows, rEFInd e gummiboot são os mais fáceis de configurar. Note que se você está inicializando com o Secure Boot habilitado, o gummiboot não pode trabalhar com o shim, e a versão do shim que o Ubuntu usa não funcionará com nenhum desses gerenciadores de inicialização, então você precisará atualizar para shim 0.2 ou mais tarde, ou substituir o shim pelo PreLoader.

    
por 07.10.2013 / 18:31