Grub 2 os prober para o windows 8

4

Estou tentando fazer o boot duplo com o fedora 20 e o windows 8. Eu instalo as primeiras janelas e depois o fedora. E o grub detecta as janelas automaticamente.

Portanto, o padrão \etc\grub.d_os-prober para windows é este:

case ${BOOT} in chain)

onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
cat << EOF
  menuentry '$(echo "${LONGNAME} $onstr" | grub_quote)' --class windows --class os \$menuentry_id_option 'osprober-chain-$(grub_get_device_id "${DEVICE}")' {
EOF
  save_default_entry | grub_add_tab
  prepare_grub_to_access_device ${DEVICE} | grub_add_tab

  case ${LONGNAME} in
    Windows\ Vista*|Windows\ 7*|Windows\ Server\ 2008*)
    ;;
    *)
    cat << EOF
      drivemap -s (hd0) \${root}
    EOF
    ;;
  esac

  cat <<EOF
  chainloader +1
}

Isso cria esse menuentry que não inicializa o Windows:

O que eu tentei

Eu criei no meu /etc/grub.d/40_custom manualmente um menuentry que funciona bem

menuentry "Windows" {
  insmod part_gpt
  insmod fat
  insmod search_fs_uuid
  insmod chain
  search --fs-uuid --no-floppy --set=root your_UUID
  chainloader (${root})/efi/Microsoft/Boot/bootmgfw.efi
}

Então, eu tento adaptar isso para o \etc\grub.d_os-prober e adicionar substituir a última parte com isso:

cat <<EOF
  search --fs-uuid --no-floppy --set=root $(grub_get_device_id "${DEVICE}")
  chainloader (${root})/efi/Microsoft/Boot/bootmgfw.efi
}
EOF

mas isso cria:

menuentry 'Windows Boot Manager' {
      chainloader /EFI/Microsoft/Boot/bootmgfw.efi
      boot
}

O que não funciona.

Minha pergunta

Como devo alterar o 30_os-prober para que ele crie um menu de trabalho grub?

    
por Sir l33tname 18.12.2013 / 19:40

2 respostas

0

Eu não sou tão versado com o Fedora e seu Grub2. Mas vou compartilhar uma solução que adotei no meu sistema de inicialização dupla com o Ubuntu e o Windows XP Professional Edite o grub.cfg com o vim ou qualquer outro editor

vim /boot/grub/grub.cfg 

Para:

 121 ### BEGIN /etc/grub.d/30_os-prober ###
    122 menuentry "Microsoft Windows XP Professional (on /dev/sda1)" --class windows --class os {
    123     insmod part_msdos
    124     insmod ntfs
    125     set root='(/dev/sda,msdos1)'
    126     search --no-floppy --fs-uuid --set=root AC60CA8160CA522E
    127     drivemap -s (hd0) ${root}
    128     chainloader +1
    129 }

como o padrão do Ubuntu grub adiciona este Windows como a última entrada. Acabei de adicionar esta entrada na frente de todas as outras entradas do menu.

    
por 11.02.2014 / 07:54
0

Tente isto: -

menuentry "WINDOWS" { set root = '(hd0, msdos1)' carregador de corrente +1 }

Altere o número da partição, onde as janelas estão instaladas. hd0: - significa primeiro disco msdos1: - significa primeira partição.

    
por 01.07.2017 / 09:49