Рейтинг:0

grub «ошибка: сбой команды» после обновления ядра 20.04.03

флаг cz
kdo

Я бегу 20.04.03. Я обновился до linux-image-5.11.0-27-generic. Перед перезагрузкой я сказал «apt autoremove». Теперь, когда я включаю свою машину, она не загружается. Я получаю экран меню grub со значением по умолчанию «Ubuntu». По истечении тайм-аута 5 раз пишет "ошибка: сбой команды", а затем "ошибка: сначала нужно загрузить ядро".

Если я нажимаю ESC, я получаю приглашение grub>. Если я сейчас наберу exit, он вернется к экрану меню и на этот раз загрузится правильно.

Пробовал grub-install, не помогло. Я попытался создать новый grub.cfg с помощью grub-mkconfig, но он ничем не отличался от того, что у меня было.

Вот мой grub.cfg:

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

### НАЧАЛО /etc/grub.d/00_header ###
если [ -s $prefix/grubenv ]; тогда
  установить have_grubenv=true
  load_env
фи
если [ "${initrdfail}" = 2 ]; тогда
   установить initrdfail=
Элиф ["${initrdfail}" = 1 ]; тогда
   установить next_entry="${prev_entry}"
   установить пред_запись =
   save_env предыдущая запись
   если [ "${next_entry}" ]; тогда
      установить initrdfail=2
   фи
фи
если [ "${next_entry}" ] ; тогда
   установить по умолчанию = "$ {next_entry}"
   установить следующую_запись =
   save_env следующая_запись
   установить boot_once = истина
еще
   установить по умолчанию = "0"
фи

если [x"${feature_menuentry_id}" = xy]; тогда
  menuentry_id_option="--id"
еще
  menuentry_id_option=""
фи

экспортировать menuentry_id_option

если [ "${prev_saved_entry}" ]; тогда
  установить save_entry="${prev_saved_entry}"
  save_env сохраненная_запись
  установить prev_saved_entry =
  save_env prev_saved_entry
  установить boot_once = истина
фи

функция сохранения по умолчанию {
  если [-z "${boot_once}"]; тогда
    save_entry="${выбрано}"
    save_env сохраненная_запись
  фи
}
функция initrdfail {
    если [-n "${have_grubenv}"]; тогда если [ -n "${partuuid}" ]; тогда
      если [-z "${initrdfail}" ]; тогда
        установить initrdfail=1
        если [-n "${boot_once}" ]; тогда
          установить prev_entry="${по умолчанию}"
          save_env предыдущая запись
        фи
      фи
      save_env initrdfail
    фи; фи
}
функция записисбой {
  установить сбой записи = 1
  если [-n "${have_grubenv}"]; тогда если [-z "${boot_once}" ]; затем save_env RecordFail; фи; фи
}
функция load_video {
  если [x$feature_all_video_module = xy]; тогда
    insmod all_video
  еще
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    инсмод vbe
    инсмод вга
    insmod video_bochs
    insmod video_cirrus
  фи
}

если [x$feature_default_font_path = xy]; тогда
   шрифт = юникод
еще
insmod part_gpt
insmod ext2
установить корень = 'hd0, gpt7'
если [x$feature_platform_search_hint = xy]; тогда
  поиск --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt7 --hint-efi=hd0,gpt7 --hint-baremetal=ahci0,gpt7 df44052a-ea84-4ed1-8682 -c77db1981c09
еще
  поиск --no-floppy --fs-uuid --set=root df44052a-ea84-4ed1-8682-c77db1981c09
фи
    шрифт = "/usr/share/grub/unicode.pf2"
фи

если загрузить шрифт $font ; тогда
  установить gfxmode=авто
  load_video
  insmod gfxterm
  установить locale_dir=$prefix/locale
  установить язык = en_US
  инсмод gettext
фи
terminal_output gfxterm
если [ "${recordfail}" = 1 ] ; тогда
  установить время ожидания = 30
еще
  если [x$feature_timeout_style = xy]; тогда
    установить timeout_style = скрытый
    установить время ожидания = 10
  # Резервный код скрытого тайм-аута на случай, если функция timeout_style отключена.
  # недоступен.
  elif sleep --interruptible 10 ; тогда
    установить время ожидания = 0
  фи
фи
### КОНЕЦ /etc/grub.d/00_header ###

### НАЧАЛО /etc/grub.d/05_debian_theme ###
установить menu_color_normal=белый/черный
установить menu_color_highlight=черный/светло-серый
### КОНЕЦ /etc/grub.d/05_debian_theme ###

### НАЧАЛО /etc/grub.d/10_linux ###
функция gfxmode {
    установить gfxpayload="${1}"
    если [ "${1}" = "сохранить" ]; тогда
        установить vt_handoff=vt.handoff=7
    еще
        установить vt_handoff =
    фи
}
если [ "${recordfail}" != 1 ]; тогда
  если [-e ${префикс}/gfxblacklist.txt]; тогда
    если hwmatch ${prefix}/gfxblacklist.txt 3; тогда
      если [ ${match} = 0 ]; тогда
        установить linux_gfx_mode = сохранить
      еще
        установить linux_gfx_mode = текст
      фи
    еще
      установить linux_gfx_mode = текст
    фи
  еще
    установить linux_gfx_mode = сохранить
  фи
еще
  установить linux_gfx_mode = текст
фи
экспортировать linux_gfx_mode
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-df44052a-ea84-4ed1-8682-c77db1981c09' {
    сбой записи
    load_video
    gfxmode $linux_gfx_mode
    insmod gzio
    если [x$grub_platform = xxen]; затем insmod xzio; инсмод изопио; фи
    insmod part_gpt
    insmod ext2
    установить корень = 'hd0, gpt7'
    если [x$feature_platform_search_hint = xy]; тогда
      поиск --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt7 --hint-efi=hd0,gpt7 --hint-baremetal=ahci0,gpt7 df44052a-ea84-4ed1-8682 -c77db1981c09
    еще
      поиск --no-floppy --fs-uuid --set=root df44052a-ea84-4ed1-8682-c77db1981c09
    фи
    linux /boot/vmlinuz-5.11.0-27-generic root=UUID=df44052a-ea84-4ed1-8682-c77db1981c09 ro тихий всплеск $vt_handoff
    initrd /boot/initrd.img-5.11.0-27-общий
}
подменю «Дополнительные параметры для Ubuntu» $menuentry_id_option «gnulinux-advanced-df44052a-ea84-4ed1-8682-c77db1981c09» {
    menuentry 'Ubuntu с Linux 5.11.0-27-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-27-generic-advanced-df44052a-ea84 -4ed1-8682-c77db1981c09 '{
        сбой записи
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        если [x$grub_platform = xxen]; затем insmod xzio; инсмод изопио; фи
        insmod part_gpt
        insmod ext2
        установить корень = 'hd0, gpt7'
        если [x$feature_platform_search_hint = xy]; тогда
          поиск --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt7 --hint-efi=hd0,gpt7 --hint-baremetal=ahci0,gpt7 df44052a-ea84-4ed1-8682 -c77db1981c09
        еще
          поиск --no-floppy --fs-uuid --set=root df44052a-ea84-4ed1-8682-c77db1981c09
        фи
        echo 'Загружается Linux 5.11.0-27-generic...'
        linux /boot/vmlinuz-5.11.0-27-generic root=UUID=df44052a-ea84-4ed1-8682-c77db1981c09 ro тихий всплеск $vt_handoff
        echo 'Загружается начальный виртуальный диск...'
        initrd /boot/initrd.img-5.11.0-27-общий
    }
    menuentry 'Ubuntu, с Linux 5.11.0-27-generic (режим восстановления)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-27-generic-recovery -df44052a-ea84-4ed1-8682-c77db1981c09 '{
        сбой записи
        load_video
        insmod gzio
        если [x$grub_platform = xxen]; затем insmod xzio; инсмод изопио; фи
        insmod part_gpt
        insmod ext2
        установить корень = 'hd0, gpt7'
        если [x$feature_platform_search_hint = xy]; тогда
          поиск --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt7 --hint-efi=hd0,gpt7 --hint-baremetal=ahci0,gpt7 df44052a-ea84-4ed1-8682 -c77db1981c09
        еще
          поиск --no-floppy --fs-uuid --set=root df44052a-ea84-4ed1-8682-c77db1981c09
        фи
        echo 'Загружается Linux 5.11.0-27-generic...'
        linux /boot/vmlinuz-5.11.0-27-generic root=UUID=df44052a-ea84-4ed1-8682-c77db1981c09 ro recovery nomodeset dis_ucode_ldr 
        echo 'Загружается начальный виртуальный диск...'
        initrd /boot/initrd.img-5.11.0-27-общий
    }
    menuentry 'Ubuntu с Linux 5.11.0-25-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-25-generic-advanced-df44052a-ea84 -4ed1-8682-c77db1981c09 '{
        сбой записи
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        если [x$grub_platform = xxen]; затем insmod xzio; инсмод изопио; фи
        insmod part_gpt
        insmod ext2
        установить корень = 'hd0, gpt7'
        если [x$feature_platform_search_hint = xy]; тогда
          поиск --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt7 --hint-efi=hd0,gpt7 --hint-baremetal=ahci0,gpt7 df44052a-ea84-4ed1-8682 -c77db1981c09
        еще
          поиск --no-floppy --fs-uuid --set=root df44052a-ea84-4ed1-8682-c77db1981c09
        фи
        echo 'Загружается Linux 5.11.0-25-generic...'
        linux /boot/vmlinuz-5.11.0-25-generic root=UUID=df44052a-ea84-4ed1-8682-c77db1981c09 ro тихий всплеск $vt_handoff
        echo 'Загружается начальный виртуальный диск...'
        initrd /boot/initrd.img-5.11.0-25-общий
    }
    menuentry 'Ubuntu, с Linux 5.11.0-25-generic (режим восстановления)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-25-generic-recovery -df44052a-ea84-4ed1-8682-c77db1981c09 '{
        сбой записи
        load_video
        insmod gzio
        если [x$grub_platform = xxen]; затем insmod xzio; инсмод изопио; фи
        insmod part_gpt
        insmod ext2
        установить корень = 'hd0, gpt7'
        если [x$feature_platform_search_hint = xy]; тогда
          поиск --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt7 --hint-efi=hd0,gpt7 --hint-baremetal=ahci0,gpt7 df44052a-ea84-4ed1-8682 -c77db1981c09
        еще
          поиск --no-floppy --fs-uuid --set=root df44052a-ea84-4ed1-8682-c77db1981c09
        фи
        echo 'Загружается Linux 5.11.0-25-generic...'
        linux /boot/vmlinuz-5.11.0-25-generic root=UUID=df44052a-ea84-4ed1-8682-c77db1981c09 ro recovery nomodeset dis_ucode_ldr 
        echo 'Загружается начальный виртуальный диск...'
        initrd /boot/initrd.img-5.11.0-25-общий
    }
    menuentry 'Ubuntu с Linux 5.8.0-55-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.8.0-55-generic-advanced-df44052a-ea84 -4ed1-8682-c77db1981c09 '{
        сбой записи
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        если [x$grub_platform = xxen]; затем insmod xzio; инсмод изопио; фи
        insmod part_gpt
        insmod ext2
        установить корень = 'hd0, gpt7'
        если [x$feature_platform_search_hint = xy]; тогда
          поиск --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt7 --hint-efi=hd0,gpt7 --hint-baremetal=ahci0,gpt7 df44052a-ea84-4ed1-8682 -c77db1981c09
        еще
          поиск --no-floppy --fs-uuid --set=root df44052a-ea84-4ed1-8682-c77db1981c09
        фи
        echo 'Загружается Linux 5.8.0-55-generic...'
        linux /boot/vmlinuz-5.8.0-55-generic root=UUID=df44052a-ea84-4ed1-8682-c77db1981c09 ro тихий всплеск $vt_handoff
        echo 'Загружается начальный виртуальный диск...'
        initrd /boot/initrd.img-5.8.0-55-общий
    }
    menuentry 'Ubuntu, с Linux 5.8.0-55-generic (режим восстановления)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.8.0-55-generic-recovery -df44052a-ea84-4ed1-8682-c77db1981c09 '{
        сбой записи
        load_video
        insmod gzio
        если [x$grub_platform = xxen]; затем insmod xzio; инсмод изопио; фи
        insmod part_gpt
        insmod ext2
        установить корень = 'hd0, gpt7'
        если [x$feature_platform_search_hint = xy]; тогда
          поиск --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt7 --hint-efi=hd0,gpt7 --hint-baremetal=ahci0,gpt7 df44052a-ea84-4ed1-8682 -c77db1981c09
        еще
          поиск --no-floppy --fs-uuid --set=root df44052a-ea84-4ed1-8682-c77db1981c09
        фи
        echo 'Загружается Linux 5.8.0-55-generic...'
        linux /boot/vmlinuz-5.8.0-55-generic root=UUID=df44052a-ea84-4ed1-8682-c77db1981c09 ro recovery nomodeset dis_ucode_ldr 
        echo 'Загружается начальный виртуальный диск...'
        initrd /boot/initrd.img-5.8.0-55-общий
    }
}

### КОНЕЦ /etc/grub.d/10_linux ###

### НАЧАЛО /etc/grub.d/10_linux_zfs ###
### КОНЕЦ /etc/grub.d/10_linux_zfs ###

### НАЧАЛО /etc/grub.d/20_linux_xen ###

### КОНЕЦ /etc/grub.d/20_linux_xen ###

### НАЧАЛО /etc/grub.d/20_memtest86+ ###
### КОНЕЦ /etc/grub.d/20_memtest86+ ###

### НАЧАЛО /etc/grub.d/30_os-prober ###
menuentry 'Диспетчер загрузки Windows (в /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-efi-744C-6FD3' {
    insmod part_gpt
    инсмод жир
    установить корень = 'hd0, gpt1'
    если [x$feature_platform_search_hint = xy]; тогда
      поиск --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 744C-6FD3
    еще
      поиск --no-floppy --fs-uuid --set=root 744C-6FD3
    фи
    цепной загрузчик /EFI/Microsoft/Boot/bootmgfw.efi
}
установить timeout_style = меню
если [ "${timeout}" = 0 ]; тогда
  установить время ожидания = 10
фи
### КОНЕЦ /etc/grub.d/30_os-prober ###

### НАЧАЛО /etc/grub.d/30_uefi-firmware ###
menuentry 'Настройки прошивки UEFI' $menuentry_id_option 'uefi-firmware' {
    fwsetup
}
### КОНЕЦ /etc/grub.d/30_uefi-firmware ###

### НАЧАЛО /etc/grub.d/40_custom ###
# Этот файл обеспечивает простой способ добавления пользовательских пунктов меню. Просто введите
# пунктов меню, которые вы хотите добавить после этого комментария. Будьте осторожны, чтобы не изменить
# строка 'exec tail' выше.
### КОНЕЦ /etc/grub.d/40_custom ###

### НАЧАЛО /etc/grub.d/41_custom ###
если [ -f ${config_directory}/custom.cfg ]; тогда
  источник ${config_directory}/custom.cfg
elif [-z "${config_directory}" -a -f $prefix/custom.cfg]; тогда
  источник $prefix/custom.cfg;
фи
### КОНЕЦ /etc/grub.d/41_custom ###

Вот lsblk | цикл grep -v:

sda 8:0 0 931.5G 0 диск 
ââsda1 8:1 0 250M 0 часть /boot/efi
ââsda2 8:2 0 128M 0 часть 
ââsda3 8:3 0 93.3G 0 часть 
ââsda4 8:4 0 990M 0 часть 
ââsda5 8:5 0 14.7G 0 часть 
ââsda6 8:6 0 1.7G 0 часть 
ââsda7 8:7 0 820.5G 0 часть /

а вот /dev/disk/by-partuuid/:

lrwxrwxrwx 1 root root 10 22 августа 16:21 1cb28ae7-e24e-4b8b-be07-8ac6eeab32e9 -> ../../sda5
lrwxrwxrwx 1 root root 10 22 августа 16:21 31b6e96f-789c-4ab6-875d-e344a2bf799b -> ../../sda2
lrwxrwxrwx 1 root root 10 22 августа 16:21 44e8e646-5e5e-4ba5-9ca9-4d69413c10a2 -> ../../sda7
lrwxrwxrwx 1 root root 10 22 августа 16:21 458fe370-0dda-49d2-a7b0-60524c58b7b7 -> ../../sda6
lrwxrwxrwx 1 root root 10 22 августа 16:21 9105e79c-abd3-463b-953e-590f1aa4273e -> ../../sda4
lrwxrwxrwx 1 root root 10 22 августа 16:21 97f90ab9-dfa8-4cd6-858b-bca666bce453 -> ../../sda1
lrwxrwxrwx 1 root root 10 22 августа 16:21 fcadf246-a9f2-4fbb-a85c-a85b4e3e9f67 -> ../../sda3
jpbrain avatar
флаг ca
Привет. Вы пробовали обновить-grub? Я имею в виду: sudo update-grub
kdo avatar
флаг cz
kdo
Да. То есть то же самое я проделал вручную с помощью grub-mkconfig.
jpbrain avatar
флаг ca
У вас есть какое-либо другое устройство, помеченное как загрузочное, или подключена SD-карта?
kdo avatar
флаг cz
kdo
У меня есть один встроенный жесткий диск и нет SD-накопителей. Жесткий диск имеет двойную загрузку.
kdo avatar
флаг cz
kdo
Первая команда в разделе «Ubuntu» файла grub.cfg (см. выше) — «recordfail». Действительно, если я просто наберу эту команду в командной строке grub>, она выдаст «команда не удалась». Эта команда, по-видимому, определена ранее в grub.cfg, поэтому я не знаю, что не так.
jpbrain avatar
флаг ca
Давайте попробуем что-нибудь другое. две вещи: можете ли вы установить grub-customizer? Также отредактируйте /etc/default/grub и измените GRUB_DEFAULT="saved" и GRUB_TIMEOUT="10". Затем обновите-grub. Grub-customizer дает вам возможность графического интерфейса для внесения изменений.
jpbrain avatar
флаг ca
Также предоставьте вывод: «lsblk | grep -v loop» и «ls -l /dev/disk/by-partuuid/». Спасибо.
kdo avatar
флаг cz
kdo
Я установил grub-customizer, который кажется полезным, но я не знаю, что вы хотите, чтобы я с ним делал. Время ожидания уже указано в /etc/default/grub. Я мог бы изменить запись по умолчанию, но я не думаю, что это имеет значение. Я могу оставить его по умолчанию, я могу выбрать «Ubuntu» или выбрать что-то еще, и поведение «ошибка: сбой команды» всегда будет одинаковым.
jpbrain avatar
флаг ca
если вы посмотрите на файл grub.cfg, «установить корневую строку», он не указывает на gpt7 uuid. в grub-customizer измените параметр на последнюю загрузку. сохранить и перезагрузить дважды.
Рейтинг:0
флаг pf
sdt

Надеюсь, ваш sda7 является установочным разделом, а sda1 — efi. загрузите live cd/флешку откройте терминал и введите эти команды *построчно.

sudo mount /dev/sda7 /mnt
sudo mount /dev/sda1 /mnt/boot/efi
sudo rm -r /mnt/boot/efi/*
для i в /dev/dev/pts/proc/sys; выполнить sudo mount -B $i /mnt$i; сделано
судо chroot/mnt
grub-установить /dev/sda
обновление-личность
выход
перезагрузка

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.