Page 1 of 2 12 LastLast
Results 1 to 10 of 14

Thread: Grub error message on MacBook Pro

  1. #1
    Join Date
    Apr 2023
    Beans
    8

    Question Grub error message on MacBook Pro

    Hello,

    I'm running Ubuntu 22.04 as the only OS on my 2009 MacBook Pro (model MBP5,2) and I followed this guide to get rid of an annoying 40 second white-screen delay during boot that is caused by Apple's firmware.

    As a TL;DR the guide involves deleting Ubuntu's /boot/efi partition and then recreating it as a "HFS+" partition and installing grub into that because that's what the Apple firmware wants.

    It fixed my original problem, but now after turning on the computer I get a black screen with the following two grub error messages:

    Code:
    error: no server specified.
    error: no suitable video mode found.
    This screen with these error messages remains stuck for about 10 seconds and then Grub continues to boot the system normally. I didn't have these error message before. What do they mean and how can I get rid of them?

    I have never touched the /etc/default/grub config and it only contains these lines (comments omitted):

    Code:
    GRUB_DEFAULT=0
    GRUB_TIMEOUT_STYLE=hidden
    GRUB_TIMEOUT=0
    GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    GRUB_CMDLINE_LINUX=""
    I already did a sudo update-grub and it completed normally but the error messages still remain.
    Last edited by abt8102; April 13th, 2023 at 01:39 PM.

  2. #2
    Join Date
    Mar 2010
    Location
    USA
    Beans
    Hidden!
    Distro
    Ubuntu Development Release

    Re: Grub error message on boot

    I see that you also asked this question at: https://askubuntu.com/questions/1463...essage-on-boot

    "Concurrent coexistence of Windows, Linux and UNIX..." || Ubuntu user # 33563, Linux user # 533637
    Sticky: Graphics Resolution | UbuntuForums 'system-info' Script | Posting Guidelines | Code Tags

  3. #3
    Join Date
    Jun 2014
    Beans
    7,703

    Re: Grub error message on boot

    Have you tried the suggestion at the link below for the video error? Not sure about the server error. A 10 second delay seems like a minor problem using a new Ubuntu on such an old Mac. Also, I would have mentioned the fact that you are having this problem on a Mac in the title so that it would get the attention of those members here who are familiar with them.

    https://ubuntuforums.org/showthread.php?t=2409853


    Last edited by yancek; April 13th, 2023 at 12:10 PM.

  4. #4
    Join Date
    Apr 2023
    Beans
    8

    Re: Grub error message on boot

    Quote Originally Posted by yancek View Post
    Have you tried the suggestion at the link below for the video error? Not sure about the server error. A 10 second delay seems like a minor problem using a new Ubuntu on such an old Mac. Also, I would have mentioned the fact that you are having this problem on a Mac in the title so that it would get the attention of those members here who are familiar with them.

    https://ubuntuforums.org/showthread.php?t=2409853


    Thank you, I will give them a try now. I just thought it was strange because my /etc/default/grub is exactly the same as before I followed the guide, so nothing about the grub configuration has changed really.

    I should mention that when following the guide, while installing the grub-efi-amd64 package a blue terminal popped up asking me whether I wanted to reinstall or reconfigure grub and I selected no because I figured that grub was going to be reinstalled to the new HFS+ partition later anyway. I don't know much about grub or why the grub-efi-amd64 package was needed in the first place.

  5. #5
    Join Date
    Mar 2010
    Location
    USA
    Beans
    Hidden!
    Distro
    Ubuntu Development Release

    Re: Grub error message on MacBook Pro

    Actually, while editing the /etc/default/grub menu, instead change this line:
    Code:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    To this
    Code:
    GRUB_CMDLINE_LINUX_DEFAULT="-- splash video=uvesafb:1920x1080-32@60,mtrr:3,ywrap,noblank"
    Then change this line
    Code:
    #GRUB_GFXMODE=640x480
    To this
    Code:
    GRUB_GFXMODE=1920x1080x24
    Save and exit. Then do
    Code:
    sudo update-grub
    That Mac Book Pro has nVidia GeForce 9600M GT and Intel i915 graphics.

    "Concurrent coexistence of Windows, Linux and UNIX..." || Ubuntu user # 33563, Linux user # 533637
    Sticky: Graphics Resolution | UbuntuForums 'system-info' Script | Posting Guidelines | Code Tags

  6. #6
    Join Date
    Apr 2023
    Beans
    8

    Re: Grub error message on MacBook Pro

    OK I just tried the suggestion mentioned in that thread and added
    Code:
    GRUB_TERMINAL=console
    to /etc/default/grub and ran a sudo update-grub after that.

    Curiously I now again have a roughly 30 to 40 second long white-screen on boot!! Makes me wonder if my original problem wasn't caused by Apple firmware but by grub all along. I have really no idea what's going on anymore.

    Commenting out the GRUB_TERMINAL=console restores the previous error message screen.

    Addendum:

    After doing some more researach and finding this article on help.ubuntu.com about UEFI Booting, I followed their advice and added these two commands to the top of my /boot/grub/grub.cfg

    Code:
    set debug=video
    insmod efi_gop
    I now get the following messages displayed on screen for about 10 seconds:

    Code:
    video/efi_gop.c:87: GOP: found usable mode
    error: no server is specified.
    video/efi_gop.c:388: GOP: beeping mode 0
    video/efi_gop.c:439: GOP: initialising FB @ 0xc0010000 1920x1200x32
    video/efi_gop.c:516: GOP: Success
    Normally I wouldn't care too much as the system is working otherwise, but this error screen slows down the boot process by a good 10 seconds and it won't even go away when pressing ENTER or ESCAPE.

    I'm posting my /boot/grub/grub.cfg below, I think the culprit must be in there somewhere and something in there must also be causing the error: no server is specified. message.

    Code:
    #
    # DO NOT EDIT THIS FILE
    #
    # It is automatically generated by grub-mkconfig using templates
    # from /etc/grub.d and settings from /etc/default/grub
    #
    
    
    set debug=video
    insmod efi_gop
    
    
    ### 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,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  761584f6-29e7-446a-8a8f-ea421eeacc28
    else
      search --no-floppy --fs-uuid --set=root 761584f6-29e7-446a-8a8f-ea421eeacc28
    fi
        font="/usr/share/grub/unicode.pf2"
    fi
    
    
    if loadfont $font ; then
      set gfxmode=640x480
      load_video
      insmod gfxterm
      set locale_dir=$prefix/locale
      set lang=de_DE
      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
    ### 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-761584f6-29e7-446a-8a8f-ea421eeacc28' {
        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  761584f6-29e7-446a-8a8f-ea421eeacc28
        else
          search --no-floppy --fs-uuid --set=root 761584f6-29e7-446a-8a8f-ea421eeacc28
        fi
        linux    /boot/vmlinuz-5.19.0-32-generic root=UUID=761584f6-29e7-446a-8a8f-ea421eeacc28 ro  quiet splash $vt_handoff
        initrd    /boot/initrd.img-5.19.0-32-generic
    }
    submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-761584f6-29e7-446a-8a8f-ea421eeacc28' {
        menuentry 'Ubuntu, with Linux 5.19.0-32-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.19.0-32-generic-advanced-761584f6-29e7-446a-8a8f-ea421eeacc28' {
            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  761584f6-29e7-446a-8a8f-ea421eeacc28
            else
              search --no-floppy --fs-uuid --set=root 761584f6-29e7-446a-8a8f-ea421eeacc28
            fi
            echo    'Loading Linux 5.19.0-32-generic ...'
            linux    /boot/vmlinuz-5.19.0-32-generic root=UUID=761584f6-29e7-446a-8a8f-ea421eeacc28 ro  quiet splash $vt_handoff
            echo    'Loading initial ramdisk ...'
            initrd    /boot/initrd.img-5.19.0-32-generic
        }
        menuentry 'Ubuntu, with Linux 5.19.0-32-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.19.0-32-generic-recovery-761584f6-29e7-446a-8a8f-ea421eeacc28' {
            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  761584f6-29e7-446a-8a8f-ea421eeacc28
            else
              search --no-floppy --fs-uuid --set=root 761584f6-29e7-446a-8a8f-ea421eeacc28
            fi
            echo    'Loading Linux 5.19.0-32-generic ...'
            linux    /boot/vmlinuz-5.19.0-32-generic root=UUID=761584f6-29e7-446a-8a8f-ea421eeacc28 ro recovery nomodeset dis_ucode_ldr 
            echo    'Loading initial ramdisk ...'
            initrd    /boot/initrd.img-5.19.0-32-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+ ###
    ### 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/35_fwupd ###
    ### END /etc/grub.d/35_fwupd ###
    
    
    ### 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
    ### END /etc/grub.d/41_custom ###
    Last edited by abt8102; April 13th, 2023 at 02:39 PM.

  7. #7
    Join Date
    Apr 2023
    Beans
    8

    Re: Grub error message on MacBook Pro

    @MAFoElffen
    Thank you, I just tried it but I still get the same two error messages, only now in reverse order.

  8. #8
    Join Date
    Apr 2023
    Beans
    8

    Re: Grub error message on MacBook Pro

    So adding insmod efi_gop to the top of /boot/grub/grub.cfg gets rid of the error: no suitable video mode found. The other GOP messages were just because I had previously also enabled debugging with set debug=video

    As for the "error: no server specified", it apparently has to do with the font loading of all things.

    Commenting out the if-check for the x$feature_default_font_path and so making grub try to load the font from OS partition gets rid of the error message, however I am then back to a 30 second white screen.

    Both /boot/grub/unicode.pf2 and /boot/grub/fonts/unicode.pf2 files are present in the boot partition so I don't understand what grub is complaining about. And what is the error message even supposed to mean, what kind of server would be involved in loading the font file?
    Last edited by abt8102; April 13th, 2023 at 04:03 PM.

  9. #9
    Join Date
    Apr 2023
    Beans
    8

    Re: Grub error message on MacBook Pro

    The error messages appear no matter what video mode I chose. I can "overwrite" them by displaying the grub menu, then you will only see them flashing on the screen for a split second. So the actual boot delay is caused by something else.

    I did some debugging by adding echo statements after every step in the Ubuntu menu entry in /boot/grub/grub.cfg and everything runs instantly. There is just a VERY long delay after the last grub command initrd /boot/initrd.img-5.19.0-32-generic completes and before the first kernel diagnostic boot messages show up.

    The first boot messages I see on the screen have a timestamp of about 2 seconds so I assume that means the kernel has been running for 2 seconds. I don't know what's going on in the remaining 8 or so seconds where nothing happens and I just get a black screen.

  10. #10
    Join Date
    Mar 2010
    Location
    USA
    Beans
    Hidden!
    Distro
    Ubuntu Development Release

    Re: Grub error message on MacBook Pro

    Do this to try to see:
    Code:
    systemd-analyze blame
    You had said kernel was booting and/or booted already, so, that should show each process and how long they took.

    "Concurrent coexistence of Windows, Linux and UNIX..." || Ubuntu user # 33563, Linux user # 533637
    Sticky: Graphics Resolution | UbuntuForums 'system-info' Script | Posting Guidelines | Code Tags

Page 1 of 2 12 LastLast

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •