O GRUB congela após o carregamento do initrd, a menos que as etapas exatas sejam tomadas

1

Eu tenho um HP Notebook 15-f004wm, que eu uso como meu driver diário.
No entanto, há um problema estranho em que o GRUB "congela" (não é possível passar de "Loading initrd ...") sempre que tento inicializar.
A única maneira de fazer isso é seguir estas etapas exatas :

1: Turn off the computer. (Shutdown, restarting won't work.)
2: When the computer turns on, hit F9. (You can't let it boot normally into GRUB.)
3: From the EFI boot menu, select GRUB.
4: Select the entry for the OS.
5: Do this every time you need to boot into GRUB.

Posso confirmar que isso acontece em:

  • Arch Linux
  • Ubuntu (14.10, 15.10, 16.04)
  • Fedora
  • OpenSUSE Tumbleweed (20161219, 20161222)

Esta é a saída de df (NOTA: eu corri no meu sistema OpenSUSE Tumbleweed, que é meu principal e atualmente único sistema)

Filesystem     1K-blocks     Used Available Use% Mounted on
devtmpfs         1960468        8   1960460   1% /dev
tmpfs            1967532    39856   1927676   3% /dev/shm
tmpfs            1967532     1664   1965868   1% /run
tmpfs            1967532        0   1967532   0% /sys/fs/cgroup
/dev/sdb3      372305920  9853856 360835712   3% /
/dev/sdb3      372305920  9853856 360835712   3% /var/lib/named
/dev/sdb3      372305920  9853856 360835712   3% /var/lib/mariadb
/dev/sdb3      372305920  9853856 360835712   3% /var/tmp
/dev/sdb3      372305920  9853856 360835712   3% /.snapshots
/dev/sdb3      372305920  9853856 360835712   3% /var/opt
/dev/sdb3      372305920  9853856 360835712   3% /var/crash
/dev/sdb3      372305920  9853856 360835712   3% /var/lib/machines
/dev/sdb3      372305920  9853856 360835712   3% /var/lib/pgsql
/dev/sdb3      372305920  9853856 360835712   3% /var/lib/mysql
/dev/sdb3      372305920  9853856 360835712   3% /var/lib/mailman
/dev/sdb3      372305920  9853856 360835712   3% /var/lib/libvirt/images
/dev/sdb3      372305920  9853856 360835712   3% /var/log
/dev/sdb3      372305920  9853856 360835712   3% /usr/local
/dev/sdb3      372305920  9853856 360835712   3% /var/cache
/dev/sdb3      372305920  9853856 360835712   3% /boot/grub2/x86_64-efi
/dev/sdb3      372305920  9853856 360835712   3% /tmp
/dev/sdb3      372305920  9853856 360835712   3% /var/spool
/dev/sdb3      372305920  9853856 360835712   3% /srv
/dev/sdb3      372305920  9853856 360835712   3% /boot/grub2/i386-pc
/dev/sdb1         487472     4656    482816   1% /boot/efi
/dev/sdb3      372305920  9853856 360835712   3% /opt
/dev/sdb5      307050000  2319044 304730956   1% /home
tmpfs             393508        0    393508   0% /run/user/483
tmpfs             393508       12    393496   1% /run/user/1000
/dev/sdb2      292671484 38865508 253805976  14% /run/media/myusername/The Mountpoint

Meu grub.cfg é assim:

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
set btrfs_relative_path="y"
export btrfs_relative_path
if [ -f ${config_directory}/grubenv ]; then
  load_env -f ${config_directory}/grubenv
elif [ -s $prefix/grubenv ]; then
  load_env
fi

if [ "${env_block}" ] ; then
  load_env -f "${env_block}"
fi

if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   if [ "${env_block}" ] ; then
     save_env -f "${env_block}" next_entry
   fi
   set boot_once=true
else
   set default="${saved_entry}"
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 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 btrfs
set root='hd1,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt3 --hint-efi=hd1,gpt3 --hint-baremetal=ahci1,gpt3  b7b576c5-366e-4a44-bf79-0eb87357b09d
else
  search --no-floppy --fs-uuid --set=root b7b576c5-366e-4a44-bf79-0eb87357b09d
fi
    font="/usr/share/grub2/unicode.pf2"
fi

if loadfont $font ; then
echo "Please press t to show the boot menu on this console"
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_US
  insmod gettext
fi
terminal_output gfxterm
insmod part_gpt
insmod btrfs
set root='hd1,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt3 --hint-efi=hd1,gpt3 --hint-baremetal=ahci1,gpt3  b7b576c5-366e-4a44-bf79-0eb87357b09d
else
  search --no-floppy --fs-uuid --set=root b7b576c5-366e-4a44-bf79-0eb87357b09d
fi
insmod gfxmenu
loadfont ($root)/boot/grub2/themes/openSUSE/ascii.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans10.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans12.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans-Bold14.pf2
insmod png
set theme=($root)/boot/grub2/themes/openSUSE/theme.txt
export theme
if [ x${boot_once} = xtrue ]; then
  set timeout=0
elif [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=8
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=8
fi
if [ -n "$extra_cmdline" ]; then
  submenu "Bootable snapshot #$snapshot_num" {
    menuentry "If OK, run 'snapper rollback' and reboot." { true; }
  }
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/00_tuned ###
set tuned_params=""
### END /etc/grub.d/00_tuned ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'openSUSE Tumbleweed'  --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-b7b576c5-366e-4a44-bf79-0eb87357b09d' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod btrfs
        set root='hd1,gpt3'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt3 --hint-efi=hd1,gpt3 --hint-baremetal=ahci1,gpt3  b7b576c5-366e-4a44-bf79-0eb87357b09d
        else
          search --no-floppy --fs-uuid --set=root b7b576c5-366e-4a44-bf79-0eb87357b09d
        fi
        echo    'Loading Linux 4.8.14-1-default ...'
        linuxefi /boot/vmlinuz-4.8.14-1-default root=UUID=b7b576c5-366e-4a44-bf79-0eb87357b09d  ${extra_cmdline} resume=/dev/sdb4 splash quiet showopts
        echo    'Loading initial ramdisk ...'
        initrdefi /boot/initrd-4.8.14-1-default
}
submenu 'Advanced options for openSUSE Tumbleweed' --hotkey=1 $menuentry_id_option 'gnulinux-advanced-b7b576c5-366e-4a44-bf79-0eb87357b09d' {
        menuentry 'openSUSE Tumbleweed, with Linux 4.8.14-1-default' --hotkey=2 --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.8.14-1-default-advanced-b7b576c5-366e-4a44-bf79-0eb87357b09d' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_gpt
                insmod btrfs
                set root='hd1,gpt3'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt3 --hint-efi=hd1,gpt3 --hint-baremetal=ahci1,gpt3  b7b576c5-366e-4a44-bf79-0eb87357b09d
                else
                  search --no-floppy --fs-uuid --set=root b7b576c5-366e-4a44-bf79-0eb87357b09d
                fi
                echo    'Loading Linux 4.8.14-1-default ...'
                linuxefi /boot/vmlinuz-4.8.14-1-default root=UUID=b7b576c5-366e-4a44-bf79-0eb87357b09d  ${extra_cmdline} resume=/dev/sdb4 splash quiet showopts
                echo    'Loading initial ramdisk ...'
                initrdefi /boot/initrd-4.8.14-1-default
        }
        menuentry 'openSUSE Tumbleweed, with Linux 4.8.14-1-default (recovery mode)' --hotkey=3 --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.8.14-1-default-recovery-b7b576c5-366e-4a44-bf79-0eb87357b09d' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_gpt
                insmod btrfs
                set root='hd1,gpt3'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt3 --hint-efi=hd1,gpt3 --hint-baremetal=ahci1,gpt3  b7b576c5-366e-4a44-bf79-0eb87357b09d
                else
                  search --no-floppy --fs-uuid --set=root b7b576c5-366e-4a44-bf79-0eb87357b09d
                fi
                echo    'Loading Linux 4.8.14-1-default ...'
                linuxefi /boot/vmlinuz-4.8.14-1-default root=UUID=b7b576c5-366e-4a44-bf79-0eb87357b09d  ${extra_cmdline} 
                echo    'Loading initial ramdisk ...'
                initrdefi /boot/initrd-4.8.14-1-default
        }
}

### 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/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 ###

### BEGIN /etc/grub.d/80_suse_btrfs_snapshot ###
if [ -f "/.snapshots/grub-snapshot.cfg" ]; then
  source "/.snapshots/grub-snapshot.cfg"
fi
### END /etc/grub.d/80_suse_btrfs_snapshot ###

### BEGIN /etc/grub.d/90_persistent ###
### END /etc/grub.d/90_persistent ###

### BEGIN /etc/grub.d/95_textmode ###

    # On EFI systems we can only have graphics *or* serial, so allow the user
    # to switch between the two
    hiddenentry 'Text mode' --hotkey 't' {
        set textmode=true
        terminal_output console
    }
### END /etc/grub.d/95_textmode ###

Como posso impedir que o GRUB congele?

    
por InitializeSahib 26.12.2016 / 09:40

1 resposta

-1

Você pode por favor postar a saída de df também descrevendo sobre a configuração do grub. também expalain o que exatamente significava por "GRUB do congelamento"? vai ajudar na depuração.

    
por 27.12.2016 / 06:31