Я установил LMDE (с grub в MBR) после того, как установил Windows 8.1. Затем я установил пакет grub-efi и добавил пользовательские параметры Windows:

#!/bin/sh
exec tail -n +3 $0

menuentry "Windows" {
    search --fs-uuid --no-floppy --set=root A89A-7F4C
    chainloader (${root})/EFI/Boot/bkpbootx64.efi
}
menuentry "Windows (backup bootloader)" {
    search --fs-uuid --no-floppy --set=root A89A-7F4C
    chainloader (${root})/EFI/Microsoft/Boot/bkpbootmgfw.efi
}

В основном это остатки моей старой версии Ubuntu. Однако grub отказывается их загружать, жалуясь на неверную подпись. Что мне теперь делать?

1 ответ1

2

Жалоба "неверная подпись" звучит как ошибка безопасной загрузки. Я не уверен, где Ubuntu находится с этим, но некоторые версии GRUB отказываются загружать Windows по цепочке, когда активна Secure Boot, что требует либо отключения Secure Boot, либо использования другого менеджера загрузки (такого как встроенный в большинство EFI, gummiboot, или REFInd вместо GRUB или в дополнение к нему. Наиболее простым решением, вероятно, является отключение безопасной загрузки. Если вы хотите сохранить активную безопасную загрузку, простейшим решением, вероятно, будет установка rEFInd; тем не менее, вы должны прочитать документацию rEFInd по безопасной загрузке, так как вам нужно перепрыгнуть через некоторые дополнительные обручи, чтобы заставить его работать.


РЕДАКТИРОВАТЬ: Во-первых, перечитывая ваше описание, вы упоминаете как GRUB в MBR (что подразумевает установку GRUB в режиме BIOS), так и пакет grub-efi (который является версией GRUB для EFI). Ваши разделы Windows GRUB явно предназначены для GRUB в режиме EFI. Если вы оба установили, то вполне возможно, что вы запускаете версию GRUB в BIOS-режиме случайно, что может привести к сбою при запуске записей Windows в режиме EFI. Если это основная причина, вам нужно найти способ заставить EFI версию GRUB запускаться. Вы можете использовать встроенный менеджер загрузки вашего компьютера или настройки загрузки прошивки для этого; или вам может потребоваться стереть GRUB в MBR, набрав sudo dd if=/dev/zero of=/dev/sda bs=440 count=1 в окне терминала. Будьте очень осторожны с этой командой, хотя; пропуск или неправильный ввод параметра может привести к серьезному повреждению вашего жесткого диска. Опции bs= и count= особенно важны.

Если вы запускаете EFI-версию GRUB и у вас все еще есть проблемы, попробуйте следующую запись в /etc/grub.d/40_custom (и запустите sudo update-grub после внесения изменений):

menuentry "Windows" {
    insmod part_gpt
    insmod chain
    set root='(hd0,gpt1)'
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

Измените (hd0,gpt1) на любой идентификатор GRUB для вашего системного раздела EFI (ESP). Кроме того, если вы запустили Boot Repair в прошлом (как показывают примеры из ваших примеров), вам может потребоваться изменить bootmgfw.efi на bkpbootmgfw.efi . Вполне возможно, что код файловой системы FAT в ваших существующих записях неверен или что есть какая-то другая деталь, которая неправильна, поэтому я предлагаю использовать эту запись, которая работала для меня в прошлом, в качестве модели. (Эти записи загрузчика цепочки GRUB общеизвестно привередливы.)

Если это не помогло, попробуйте использовать флэш-накопитель USB или версию CD-R моего менеджера загрузки rEFInd. Если это может загрузить Windows, вы можете установить версию Debian rEFInd на свой жесткий диск. Затем он заменит GRUB, который вам больше не нужен. rEFInd гораздо проще в обслуживании, чем GRUB; GRUB прост только из-за большого количества скриптов конфигурации, которые выполняют большую часть настроек, необходимых для большинства установок.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .