Eu tenho uma unidade de sistema UEFI e uma chave UEFI LiveUsb e instalei as versões 16.04 e 17.04 antes de usar essa configuração, portanto, não acho que a configuração ou os drivers de vídeo sejam um problema.
Decidi que precisava ir ao metal e criar um novo volume do sistema UEFI. Eu criei uma nova tabela de partição GPT, uma partição ESP, uma partição raiz e uma partição / home, mas esqueci de definir os sinalizadores ESP e Boot na partição ESP. Eu fui em frente e instalei o 16.04 nesta configuração sem problemas e usei-o por algumas semanas. Hoje, decidi que era hora de fazer o upgrade para o 17.04 e verificar se essa era uma instalação adequada do UEFI, portanto, primeiro defini o ESD e os sinalizadores de inicialização na partição do ESP. Eu então comecei a instalar o 17.04 da minha chave UEFI LiveUsb. A instalação foi OK, mas quando tentei inicializar o novo sistema, recebi uma tela preta antes que o Grub2 pudesse exibir a tela de inicialização, mesmo que eu segurasse a tecla Shift direita durante a inicialização. Só para ter certeza de que não era minha placa de vídeo, tentei com o nomodeset sem sucesso.
ArquivodeconfiguraçãodoGrub2:
##DONOTEDITTHISFILE##Itisautomaticallygeneratedbygrub-mkconfigusingtemplates#from/etc/grub.dandsettingsfrom/etc/default/grub####BEGIN/etc/grub.d/00_header###if[-s$prefix/grubenv];thensethave_grubenv=trueload_envfiif["${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="0"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function recordfail {
set recordfail=1
if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 24989abc-3526-4933-a477-493a0dd822b4
else
search --no-floppy --fs-uuid --set=root 24989abc-3526-4933-a477-493a0dd822b4
fi
font="/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=en_US
insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
set timeout=30
else
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=hidden
set timeout=0
# Fallback hidden-timeout code in case the timeout_style feature is
# unavailable.
elif sleep --interruptible 0 ; then
set timeout=0
fi
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 44,0,30,0; then
clear
fi
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
set gfxpayload="${1}"
if [ "${1}" = "keep" ]; then
set vt_handoff=vt.handoff=7
else
set vt_handoff=
fi
}
if [ "${recordfail}" != 1 ]; then
if [ -e ${prefix}/gfxblacklist.txt ]; then
if hwmatch ${prefix}/gfxblacklist.txt 3; then
if [ ${match} = 0 ]; then
set linux_gfx_mode=keep
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=keep
fi
else
set linux_gfx_mode=text
fi
export linux_gfx_mode
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-24989abc-3526-4933-a477-493a0dd822b4' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 24989abc-3526-4933-a477-493a0dd822b4
else
search --no-floppy --fs-uuid --set=root 24989abc-3526-4933-a477-493a0dd822b4
fi
linux /boot/vmlinuz-4.10.0-19-generic.efi.signed root=UUID=24989abc-3526-4933-a477-493a0dd822b4 ro quiet splash $vt_handoff
initrd /boot/initrd.img-4.10.0-19-generic
}
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-24989abc-3526-4933-a477-493a0dd822b4' {
menuentry 'Ubuntu, with Linux 4.10.0-19-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.10.0-19-generic-advanced-24989abc-3526-4933-a477-493a0dd822b4' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 24989abc-3526-4933-a477-493a0dd822b4
else
search --no-floppy --fs-uuid --set=root 24989abc-3526-4933-a477-493a0dd822b4
fi
echo 'Loading Linux 4.10.0-19-generic ...'
linux /boot/vmlinuz-4.10.0-19-generic.efi.signed root=UUID=24989abc-3526-4933-a477-493a0dd822b4 ro quiet splash $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-4.10.0-19-generic
}
menuentry 'Ubuntu, with Linux 4.10.0-19-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.10.0-19-generic-init-upstart-24989abc-3526-4933-a477-493a0dd822b4' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 24989abc-3526-4933-a477-493a0dd822b4
else
search --no-floppy --fs-uuid --set=root 24989abc-3526-4933-a477-493a0dd822b4
fi
echo 'Loading Linux 4.10.0-19-generic ...'
linux /boot/vmlinuz-4.10.0-19-generic.efi.signed root=UUID=24989abc-3526-4933-a477-493a0dd822b4 ro quiet splash $vt_handoff init=/sbin/upstart
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-4.10.0-19-generic
}
menuentry 'Ubuntu, with Linux 4.10.0-19-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.10.0-19-generic-recovery-24989abc-3526-4933-a477-493a0dd822b4' {
recordfail
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 24989abc-3526-4933-a477-493a0dd822b4
else
search --no-floppy --fs-uuid --set=root 24989abc-3526-4933-a477-493a0dd822b4
fi
echo 'Loading Linux 4.10.0-19-generic ...'
linux /boot/vmlinuz-4.10.0-19-generic.efi.signed root=UUID=24989abc-3526-4933-a477-493a0dd822b4 ro recovery nomodeset
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-4.10.0-19-generic
}
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/20_memtest86+ ###
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/30_uefi-firmware ###
### END /etc/grub.d/30_uefi-firmware ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
Esta é uma atualização tardia relacionada a este problema de inicialização. Tomei as seguintes medidas para tentar obter mais informações sobre o problema:
No início deste processo, o sintoma de inicialização mudou de obter uma tela em branco antes de o Grub aparecer no firmware EFI, tentando cada inicialização terminar com uma tentativa de inicialização de rede sem encontrar uma fonte inicializável.
Se meu LiveUsb stick não estiver presente, ele passará por toda a ordem de inicialização com uma falha na opção de inicialização da rede. Se o meu bastão LivUsb estivesse presente, ele poderia sempre inicializar (é o segundo na ordem de inicialização). Assim, parece que algo está fazendo o firmware pensar que a entrada do Ubuntu não é inicializável, mas nenhuma mensagem aparece para ajudar a entender por que ele não é inicializável. Eu também tentei o reparo recomendado de reparo de inicialização sem sucesso. Eu fiz uma extensa verificação manual e tudo parece estar bem.
Você pode acessar o último relatório de reparo de inicialização em www.pastebin.com/1qvuy647. Alguma sugestão sobre o que devo fazer a seguir?