Меню выбора ОС не отображается (черный экран), но активно.

Вопрос или проблема

После установки двойной загрузки Windows 10 и Ubuntu 24.04 LTS на 9-летний ноутбук LENOVO экран выбора ОС не виден при загрузке – я вижу только черный экран – но меню активно, так как, перемещаясь вверх и вниз с помощью клавиш со стрелками, можно выбрать Windows или Ubuntu.

Просматривая различные посты, я уже пробовал разные настройки GRUB_CMDLINE_LINUX_DEFAULT, но без успеха. Ниже представлен последний вариант.

Не мог бы кто-нибудь помочь мне решить эту проблему?

Ниже я показываю детали /etc/default/grub, аппаратные компоненты и grub.cfg

С уважением,
ян

Ниже не закомментированные строки /etc/default/grub

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`( . /etc/os-release; echo ${NAME:-Ubuntu} ) 2>/dev/null || echo Ubuntu`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.modeset=1"
GRUB_CMDLINE_LINUX=""

Ниже характеристики аппаратного обеспечения

ЦП:

  Информация: двухъядерный, модель: Intel Core i7-5500U, разрядность: 64, тип: MT MCP
    smt: включено, архитектура: Broadwell, ревизия: 4, кэш: L1: 128 KiB, L2: 512 KiB, L3: 4 MiB

Скорость (МГц): в среднем: 1048, максимум: 2397, минимум/максимум: 500/3000, ядра: 1: 2397, 2: 798
    3: 500, 4: 500 bogomips: 19155

Флаги: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3

Графика:

  Устройство-1: Intel HD Graphics 5500, производитель: Lenovo, драйвер: i915, версия: kernel
    архитектура: Gen-8, порты: активные: HDMI-A-1,eDP-1 пустые: нет, bus-ID: 00:02.0
    chip-ID: 8086:1616 class-ID: 0300

  Устройство-2: Syntek Lenovo EasyCamera, драйвер: uvcvideo, тип: USB, ревизия: 2.0
    скорость: 480 Мбит/с, линии: 1, bus-ID: 2-4:3, chip-ID: 174f:14e6, class-ID: 0e02
    серийный номер: <filter>

  Дисплей: wayland-сервер: X.org, версия: 1.21.1.11, с: Xwayland, версия: 23.2.6
    композитный: gnome-shell, драйвер: X: загружен: modesetting, выгружен: fbdev, vesa
    dri: iris, gpu: i915, display-ID: 0

  Монитор-1: HDMI-A-1, модель: Philips 244E, серийный номер: <filter>, разрешение: 1920x1080
    dpi: 92, размер: 531x299mm (20.91x11.77"), диагональ: 609mm (24"), режимы:
    максимум: 1920x1080, минимум: 720x400

  Монитор-2: eDP-1, модель: ChiMei InnoLux 0x1490, разрешение: 1366x768, dpi: 112
    размер: 309x173mm (12.17x6.81"), диагональ: 354mm (13.9"), режимы: 1366x768

  API: EGL, версия: 1.5, hw: drv: intel iris, платформы: устройство: 0 drv: iris
    устройство: 1 drv: swrast, без поверхности: drv: iris, wayland: drv: iris, x11:
    drv: iris, неактивен: gbm

  API: OpenGL, версия: 4.6, совместимость-версия: 4.5, производитель: intel mesa, версия: 24.0.9-0ubuntu0.2
    glx-версия: 1.4, прямой рендеринг: да, рендер: Mesa Intel HD Graphics 5500 (BDW
    GT2), device-ID: 8086:1616, display-ID: :0.0

Ниже файл Grub.cfg

#
# НЕ РЕДАКТИРУЙТЕ ЭТОТ ФАЙЛ
#
# Он автоматически генерируется grub-mkconfig с использованием шаблонов
# из /etc/grub.d и настроек из /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
if [ "${initrdfail}" = 2 ]; then
   set initrdfail=
elif [ "${initrdfail}" = 1 ]; then
   set next_entry="${prev_entry}"
   set prev_entry=
   save_env prev_entry
   if [ "${next_entry}" ]; then
      set initrdfail=2
   fi
fi
if [ "${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 initrdfail {
    if [ -n "${have_grubenv}" ]; then if [ -n "${partuuid}" ]; then
      if [ -z "${initrdfail}" ]; then
        set initrdfail=1
        if [ -n "${boot_once}" ]; then
          set prev_entry="${default}"
          save_env prev_entry
        fi
      fi
      save_env initrdfail
    fi; 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,gpt5"
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5  08d2dae6-1362-4061-b76b-2703197238c5
else
  search --no-floppy --fs-uuid --set=root 08d2dae6-1362-4061-b76b-2703197238c5
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=es_ES
  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
  # Резервный код скрытого времени ожидания на случай, если функция timeout_style недоступна.
  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
### 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 [ ${grub_platform} != pc ]; then
      set linux_gfx_mode=keep
    elif 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-08d2dae6-1362-4061-b76b-2703197238c5' {
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,gpt5"
if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5  08d2dae6-1362-4061-b76b-2703197238c5
else
 search --no-floppy --fs-uuid --set=root 08d2dae6-1362-4061-b76b-2703197238c5
fi
linux /boot/vmlinuz-6.8.0-49-generic root=UUID=08d2dae6-1362-4061-b76b-2703197238c5 ro  quiet splash i915.modeset=1 $vt_handoff
initrd /boot/initrd.img-6.8.0-49-generic
}
submenu 'Расширенные параметры для Ubuntu' $menuentry_id_option 'gnulinux-advanced-08d2dae6-1362-4061-b76b-2703197238c5' {
menuentry 'Ubuntu, с Linux 6.8.0-49-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.8.0-49-generic-advanced-08d2dae6-1362-4061-b76b-2703197238c5' {
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,gpt5"
if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5  08d2dae6-1362-4061-b76b-2703197238c5
else
 search --no-floppy --fs-uuid --set=root 08d2dae6-1362-4061-b76b-2703197238c5
fi
echo 'Загрузка Linux 6.8.0-49-generic ...'
linux /boot/vmlinuz-6.8.0-49-generic root=UUID=08d2dae6-1362-4061-b76b-2703197238c5 ro  quiet splash i915.modeset=1 $vt_handoff
echo 'Загрузка начального ramdisk ...'
initrd /boot/initrd.img-6.8.0-49-generic
}
menuentry 'Ubuntu, с Linux 6.8.0-49-generic (режим восстановления)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.8.0-49-generic-recovery-08d2dae6-1362-4061-b76b-2703197238c5' {
recordfail
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
set root="hd0,gpt5"
if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5  08d2dae6-1362-4061-b76b-2703197238c5
else
 search --no-floppy --fs-uuid --set=root 08d2dae6-1362-4061-b76b-2703197238c5
fi
echo 'Загрузка Linux 6.8.0-49-generic ...'
linux /boot/vmlinuz-6.8.0-49-generic root=UUID=08d2dae6-1362-4061-b76b-2703197238c5 ro recovery nomodeset dis_ucode_ldr
echo 'Загрузка начального ramdisk ...'
initrd /boot/initrd.img-6.8.0-49-generic
}
menuentry 'Ubuntu, с Linux 6.8.0-48-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.8.0-48-generic-advanced-08d2dae6-1362-4061-b76b-2703197238c5' {
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,gpt5"
if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5  08d2dae6-1362-4061-b76b-2703197238c5
else
 search --no-floppy --fs-uuid --set=root 08d2dae6-1362-4061-b76b-2703197238c5
fi
echo 'Загрузка Linux 6.8.0-48-generic ...'
linux /boot/vmlinuz-6.8.0-48-generic root=UUID=08d2dae6-1362-4061-b76b-2703197238c5 ro  quiet splash i915.modeset=1 $vt_handoff
echo 'Загрузка начального ramdisk ...'
initrd /boot/initrd.img-6.8.0-48-generic
}
menuentry 'Ubuntu, с Linux 6.8.0-48-generic (режим восстановления)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.8.0-48-generic-recovery-08d2dae6-1362-4061-b76b-2703197238c5' {
recordfail
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
set root="hd0,gpt5"
if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5  08d2dae6-1362-4061-b76b-2703197238c5
else
 search --no-floppy --fs-uuid --set=root 08d2dae6-1362-4061-b76b-2703197238c5
fi
echo 'Загрузка Linux 6.8.0-48-generic ...'
linux /boot/vmlinuz-6.8.0-48-generic root=UUID=08d2dae6-1362-4061-b76b-2703197238c5 ro recovery nomodeset dis_ucode_ldr
echo 'Загрузка начального ramdisk ...'
initrd /boot/initrd.img-6.8.0-48-generic
}
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/10_linux_zfs ###
### END /etc/grub.d/10_linux_zfs ###

### BEGIN /etc/grub.d/20_linux_xen ###

### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Тест памяти (memtest86+x64.efi)" --class memtest $menuentry_id_option 'memtest86+' {
insmod part_gpt
insmod ext2
set root="hd0,gpt5"
if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5  08d2dae6-1362-4061-b76b-2703197238c5
else
 search --no-floppy --fs-uuid --set=root 08d2dae6-1362-4061-b76b-2703197238c5
fi
        linux    /boot/memtest86+x64.efi
}
menuentry 'Тест памяти (memtest86+x64.efi, последовательный консоль)' --class memtest $menuentry_id_option 'memtest86+-serial' {
insmod part_gpt
insmod ext2
set root="hd0,gpt5"
if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5  08d2dae6-1362-4061-b76b-2703197238c5
else
 search --no-floppy --fs-uuid --set=root 08d2dae6-1362-4061-b76b-2703197238c5
fi
        linux   /boot/memtest86+x64.efi console=ttyS0,115200
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/25_bli ###
if [ "$grub_platform" = "efi" ]; then
  insmod bli
fi
### END /etc/grub.d/25_bli ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Диспетчер загрузки Windows (на /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-efi-0695-10CF' {
insmod part_gpt
insmod fat
set root="hd0,gpt1"
if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  0695-10CF
else
 search --no-floppy --fs-uuid --set=root 0695-10CF
fi
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
  set timeout=10
fi
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
if [ "$grub_platform" = "efi" ]; then
fwsetup --is-supported
if [ "$?" = 0 ]; then
menuentry 'Настройки микропрограммы UEFI' $menuentry_id_option 'uefi-firmware' {
fwsetup
}
fi
fi
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/35_fwupd ###
### END /etc/grub.d/35_fwupd ###

### BEGIN /etc/grub.d/40_custom ###
# Этот файл предоставляет простой способ добавить пользовательские записи в меню. Просто введите
# записи меню, которые вы хотите добавить, после этого комментария. Будьте осторожны, чтобы не изменить
# строку 'exec tail' выше.
### 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
### END /etc/grub.d/41_custom ###

.

Ответ или решение

Исчезновение меню выбора ОС при загрузке (черный экран)

Проблема, с которой вы столкнулись, является достаточно распространенной при установке системы двойной загрузки Windows и Ubuntu, особенно на старых машинах. В вашем случае, несмотря на то, что меню загрузки GRUB активно (можно перемещаться по пунктам с помощью стрелок), экраны не отображаются. Это может быть связано с неправильными настройками графической среды или конфигурации GRUB.

Анализ текущих настроек GRUB

Давайте рассмотрим ключевые параметры вашего конфигурационного файла /etc/default/grub:

  1. GRUB_TIMEOUT_STYLE=hidden: Это означает, что таймер загрузки не будет отображаться. При установке на 0, меню не будет видно, если не будет сгенерировано событие, например, нажатие клавиши.

  2. GRUB_TIMEOUT=0: Отсутствие времени для выбора ОС может привести к тому, что система сразу загрузит по умолчанию Ubuntu без отображения меню.

  3. GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.modeset=1": Параметр quiet splash может скрывать информацию о загрузке, поэтому вместо логов, вы можете видеть лишь черный экран.

Рекомендации по исправлению проблемы

  1. Изменение конфигурации GRUB:
    Измените настройки вашего /etc/default/grub для того, чтобы временно устранить параметры, вызывающие скрытие меню. Рекомендуется подправить его следующим образом:

    GRUB_TIMEOUT_STYLE=menu
    GRUB_TIMEOUT=10
    GRUB_CMDLINE_LINUX_DEFAULT="i915.modeset=1"
    • Установите GRUB_TIMEOUT_STYLE=menu, чтобы меню отображалось.
    • Установите GRUB_TIMEOUT=10, чтобы у вас было достаточно времени для выбора операционной системы.
  2. Обновление конфигурации GRUB: После внесения изменений в файл конфигурации, выполните команду:

    sudo update-grub
  3. Перезагрузка системы: После обновления конфигурации, перезагрузите ваш компьютер для проверки изменений.

Дополнительные шаги

Если проблема не исчезла, можно рассмотреть следующие действия:

  • Проверка параметров графического драйвера: Вы можете попробовать изменить i915.modeset=1 на nomodeset, если у вас возникли проблемы с графикой. Это может помочь в случае несовместимости вашего графического процессора с загружаемой графикой.

  • Проверка подключения монитора: Если вы используете внешний монитор, убедитесь, что он подключен и настроен правильно. Иногда проблема может быть связана с определением основного дисплея.

  • Использование Live CD/USB для восстановления GRUB: Если никаких изменений не будет видно, используйте Live CD/USB позицию Ubuntu для запустки и восстановления GRUB, следуя тем же шагам обновления GRUB, после монтирования нужного раздела.

Заключение

Устранение черного экрана на этапе выбора ОС — это решение, которое может потребовать тестирования нескольких подходов. Правильная настройка конфигурации GRUB и проверка параметров вашего оборудования могут привести к желаемому результату. Если ни один из предложенных методов не сработал, возможно, стоит обратиться за помощью к специалистам или на форумах сообщества.

Оцените материал
Добавить комментарий

Капча загружается...