Как мне починить личинку? (Как вернуть Ubuntu после установки Windows?)

344

Я установил Windows 7, которая ела загрузочный файл Ubuntu. При запуске компьютера теперь он идет прямо в Windows, не давая мне возможность загружать Ubuntu.

Как я могу вернуть Ubuntu?

Salahuddin
источник
Я думаю, что это обычная задача, у меня также есть два жестких диска и Ubuntu + Windows. Я надеюсь, что вы можете исправить это правильным способом. Попробуйте следовать этому уроку. Любые вопросы, задавайте мне!
антивиртель
1
Связано (когда GRUB был установлен на MBR не того диска ): проблема спасения Grub после установки Ubuntu
Элия ​​Каган
Да, вы можете, вам просто нужно сделать нормальную загрузку и установить с Windows, а затем он должен появиться в меню загрузки Grub при запуске компьютера.
Rampoo1208
Я знаю, что это старый поток, но я исправил проблему, изменив режим загрузки в BIOS с UEFI на Legacy.
1
ПРИМЕЧАНИЕ: принятый ответ - это общая инструкция по ремонту личинки. Это также применимо к широкому кругу обстоятельств, когда установщик неправильно пишет GRUB (вездесущность).
Данатела

Ответы:

347

Когда вы устанавливаете Windows, Windows предполагает, что это единственная операционная система (ОС) на компьютере, или, по крайней мере, она не учитывает Linux. Таким образом, он заменяет GRUB собственным загрузчиком. Что вам нужно сделать, это заменить загрузчик Windows на GRUB. Я видел различные инструкции по замене GRUB на использование команд GRUB или чего-то подобного, но для меня самый простой способ - просто chrootустановить и запустить update-grub. chrootэто здорово, потому что позволяет вам работать над вашей фактической установкой, вместо того, чтобы пытаться перенаправить вещи тут и там. Это действительно чисто.

Вот как:

  1. Загрузитесь с live CD или live USB в режиме «Try Ubuntu».
  2. Определите номер раздела вашего основного раздела. sudo fdisk -l, sudo blkidИли GParted (которые уже должны быть установлены по умолчанию, на живой сессии) может помочь вам в этом. В этом ответе я предполагаю, что это так /dev/sda2, но убедитесь, что вы используете правильный номер раздела для своей системы!

    Если ваш основной раздел находится в LVM , устройство /dev/mapper/, скорее всего, будет находиться /dev/mapper/{volume}--{os}-rootтам , где , скорее всего, {volume}указано имя тома LVM и {os}находится операционная система. Выполните ls /dev/mapperдля точного имени.

  3. Смонтируйте свой раздел:

    sudo mount /dev/sda2 /mnt  #Replace sda2 with the partition from step 2
    

    Если у вас есть отдельные /boot, /varили /usrразделы , повторите шаги 2 и 3 , чтобы смонтировать эти разделы на /mnt/boot, /mnt/varи /mnt/usrсоответственно. Например,

    sudo mount /dev/sdXW /mnt/boot
    sudo mount /dev/sdXY /mnt/var
    sudo mount /dev/sdXZ /mnt/usr
    

    заменить sdXW, sdXYи sdXZс соответствующими номерами разделов.

  4. Привязать смонтировать некоторые другие необходимые вещи:

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
    
  5. Если Ubuntu установлен в режиме EFI ( см. Этот ответ, если вы не уверены ), используйте sudo fdisk -l | grep -i efiили GParted, чтобы найти раздел EFI. Это будет иметь ярлык EFI. Смонтируйте этот раздел, заменив sdXYего текущим номером раздела:

    sudo mount /dev/sdXY /mnt/boot/efi
    
  6. chroot в вашу установку Ubuntu:

    sudo chroot /mnt
    
  7. На данный момент вы находитесь в вашей установке, а не в сеансе live и работаете от имени пользователя root. Обновление grub:

    update-grub
    

    Если вы получили ошибки или если переход к шагу 7 не помог устранить проблему, перейдите к шагу 8. (В противном случае это необязательно).

  8. В зависимости от вашей ситуации вам может потребоваться переустановить grub:

    grub-install /dev/sda
    update-grub # In order to find and add windows to grub menu.
    
  9. Если Ubuntu установлен в режиме EFI и UUID раздела EFI изменился, вам может потребоваться обновить его /etc/fstab. Сравните это:

    blkid | grep -i efi
    grep -i efi /etc/fstab
    

    Если текущий UUID раздела EFI (из blkid) отличается от текущего /etc/fstab, обновите /etc/fstabтекущим UUID.

  10. Если все работало без ошибок, то все готово:

    exit
    sudo reboot
    
  11. На этом этапе вы сможете нормально загружаться.

Если вы не можете нормально загрузиться и не выполнили шаг 8 из-за отсутствия сообщений об ошибках, попробуйте еще раз с шагом 8.

  • Иногда недостаточно указать правильную конфигурацию GRUB2 для ваших разделов, и вы должны фактически установить ее (или переустановить) в основную загрузочную запись, что делает шаг 8. Опыт оказания помощи пользователям в чате показал, что шаг 8 иногда необходим, даже если сообщения об ошибках не отображаются.
Скотт Северанс
источник
1
Комментарии не для расширенного обсуждения; этот разговор был перенесен в чат .
Томас Уорд
Я все еще хочу, чтобы Windows была моей основной загрузочной ОС. Это все еще правильное решение? Как выбрать ОС для загрузки? F11?
Джефф
1
@ScottSeverance Я видел из вашего профиля, что вы живете в DFW. Вы думали о том, чтобы давать уроки или живые уроки, чтобы углубить людей в Linux?
Мохаммед Джораид
1
Эти проблемы не устаревают: D - Не то чтобы при работе с EFI вам, возможно, понадобилось бы установить, grub-efi-amd64и если вы используете безопасную загрузку, вы захотите использовать grub-install --uefi-secure-boot. Это также подробно описано в superuser.com/a/376471/197980
Раффаэль
1
Это решение применимо также для Windows 10 на компьютере с BIOS (т.е. не UEFI). На вопрос о том, какой у вас есть, можно ответить с помощью этого совета - thewindowsclub.com/check-if-uefi-or-bios .
Окольность
115

Установщик Windows не заботится о других ОС в системе. Таким образом, он записывает собственный код поверх основной загрузочной записи. К счастью, решение тоже простое.

Вам нужно отремонтировать MBR. Сделайте следующее

Загрузитесь с использованием живого usb / cd Ubuntu. Используйте, boot-repairчтобы исправить проблему.

После загрузки с live usb / cd выполните следующую команду в терминале:

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

Используйте Recomended Repair.

введите описание изображения здесь

Дополнительная информация - https://help.ubuntu.com/community/Boot-Repair

Web-E
источник
2
Вы хотите сказать, что это намеренно со стороны людей Microsoft ?? Также двойная загрузка работала с Windows 7, так что это не противоречит вашей первой строке: «Установщик Windows не заботится о других ОС в системе».
Шагун Содхани
Windows ломает grub все время, это действительно распространенная проблема, и мне пришлось иметь дело с самим собой. Ответ все еще хорош и должен решить проблему.
Дэмьен
6
Вы установили Windows 7, а затем Linux. Таким образом, Linux распознает Windows, а не Windows распознал Linux. Попробуйте переустановить windows7, вы поймете, что я имел ввиду.
Web-E
Не делайте этого, если у вас есть зашифрованные разделы (luks), это испортило его. Он также переустанавливает GRUB с помощью apt-get - понятия не имею, зачем он это делает.
Мэн Тянь
1
восстановление загрузчика очень хорошо поддерживает устаревший режим, возможно, вам нужно также загрузить live cd / usb в устаревшем режиме @fuzzyanalysis :)
Web-E
25

Загрузитесь с USB-накопителя Ubuntu в режиме реального времени или с компакт-диска и
установите Boot-Repair на Ubuntu, выполнив следующие действия.

Откройте терминал и выполните следующие команды

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install boot-repair

После завершения установки вы можете запустить его из меню System-> Administration-> Boot-Repair, если вы используете Gnome, или выполнить поиск «boot-repair» в dash, если вы используете Unity. Затем следуйте следующим скриншотам:

Способ 1

  • Нажмите на дополнительные параметры

Начальный экран

  • Отметьте опции, показанные ниже

расширенный вариант

  • Измените вкладку на Grub Location Tab и отметьте опции, показанные на рисунке

введите описание изображения здесь

Нажмите Применить и перезагрузить систему

Способ 2

  • Выберите рекомендуемые варианты восстановления Boot, как показано на первом скриншоте

Документация :

Stormvirux
источник
Web-E уже дал этот ответ . Может быть, вместо этого улучшить? Я оставил комментарий о том, почему это не сработало.
Дан Даскалеску
2
Этот метод работал для меня после особенно неприятного случая, когда обновление Windows 10 перезаписывало GRUB, а затем ломало его собственный загрузчик. После этой процедуры вернулись как Windows, так и Linux. В моем случае это был Linux Mint 18.1, и меню восстановления загрузки выглядело немного иначе, но все работало нормально. Спасибо!
TheBigH
11

Просто установите easyBCDв Windows 7 и сделайте

Добавить новую запись> Linux / BSD> (выбрать) Grub2> (нажать) Добавить запись

Затем вы можете выбрать Ubuntu в загрузчике Windows 7, чтобы перейти к Grub2 (предыдущий загрузчик).

Хамед
источник
3
Одни только эти инструкции не восстанавливают загрузчик Grub - когда я их пробовал, они добавляли в Windows дополнительную опцию загрузки, которая при выборе перезагружала мою машину, а затем приводила меня к приглашению grub>. Таким образом, потребуются дальнейшие шаги относительно того, что делать дальше.
therobyouknow
1
easyBCD позволил мне добавлять и удалять параметры загрузки, которые я мог видеть как в загрузчике Windows, так и в BIOS, но они никогда не работали, потому что easyBCD полагается на какое-то автоматическое волшебство для поиска разделов Linux ... это не работало, когда мой раздел Linux был на отдельном жестком диске.
Нечеткий анализ
7

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

Таким образом, вместо переустановки GRUB в этих случаях я рекомендую по умолчанию сбросить GRUB (или любой другой загрузчик или менеджер загрузки, который вы предпочитаете). Есть несколько способов сделать это, в том числе:

  • EasyUEFI. Самый простой способ настроить порядок загрузки, если система загружается прямо в Windows, - это использовать EasyUEFI, который является бесплатным (для базовой версии) сторонним инструментом графического интерфейса для управления порядком загрузки EFI. Это довольно очевидно - найдите ubuntuзапись в списке параметров загрузки и переместите ее в начало списка. При следующей перезагрузке должен появиться GRUB. (Если вы используете что-то кроме GRUB, вам нужно найти его запись.)
  • bcdedit- Средство Windows bcdeditможно использовать для установки GRUB в порядок загрузки по умолчанию. Команда bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi, введенная в окне командной строки администратора , сделает это; однако, если ваш компьютер загружается с активной загрузкой, bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efiвместо этого потребуется. Фактически, последняя команда обычно будет работать, даже если Secure Boot не используется, поэтому я бы сначала использовал эту команду. Обратите внимание, что есть более продвинутый инструмент оболочки Windows, который требует немного другого синтаксиса, чем я представил, но я не помню подробности.
  • Однократная загрузка в Ubuntu. Большинство EFI предоставляют встроенный менеджер загрузки, доступ к которому осуществляется нажатием функциональной клавиши, Esc или Enter в начале процесса запуска системы. Скорее всего, ubuntuзапись для загрузки Ubuntu будет отображаться в этом меню менеджера загрузки, что позволяет вам загружаться в Ubuntu. В качестве альтернативы, вы можете загрузить аварийную среду Ubuntu, например, загрузчик установщика в режиме «попробуй перед установкой». В любом случае, вы можете использовать efibootmgrдля настройки порядка загрузки:
    1. Введите, sudo efibootmgrчтобы увидеть загрузочные записи.
    2. Обратите внимание на текущую BootOrderстроку.
    3. Найдите запись для ubuntuи запишите ее Boot####номер.
    4. Наберите sudo efibootmgr -o xxxx[,yyyy,zzzz,....]для изменения порядка загрузки, сделав xxxxномер для Ubuntu. То, что происходит после этого, скорее всего, не очень важно, хотя я заметил, что Windows, вероятно, вернется к порядку загрузки, если его нет в списке. Таким образом, вы, вероятно, должны убедиться, что Windows находится в списке, и может быть безопаснее переупорядочить список так, чтобы все исходные записи были там, просто с ubuntuзаписью, перемещенной в верхнюю часть списка.
  • Утилита настройки прошивки - некоторые утилиты настройки EFI позволяют вам настроить порядок загрузки. Детали сильно различаются от одного EFI к другому, поэтому я не буду вдаваться в подробности, но вы можете найти такую ​​опцию в вашей утилите установки.

Существуют и другие варианты этих процедур, такие как использование bcfgв оболочке EFI, использование blessв macOS, использование моего rEFInd для однократной загрузки и т. Д. Однако я бы начал с EasyUEFI; это, вероятно, будет самым простым решением. Иногда Windows настаивает на том, чтобы каждый раз запускаться по умолчанию, и в отчетах указывается, что это bcdeditможет лучше справиться с этой проблемой.

Обратите внимание, что ничего из вышеперечисленного не относится к установкам в режиме BIOS; однако, поскольку большинство компьютеров, поставляемых с Windows 8 или более поздней версией, загружаются в режиме EFI, установки в режиме BIOS становятся все более редкими, поэтому во многих случаях лучше решать проблему способом EFI, а не путем слепой переустановки GRUB.

Род Смит
источник
1
ручная однократная загрузка в linux (в моем случае fedora28) через встроенный менеджер загрузки EFI позволила мне efibootmgrизменить порядок загрузки (как описано в Rod -> спасибо!), который был испорчен win10 Обновить. После этого GRUB-bootmanager появляется так же, как и до обновления, поэтому я могу подтвердить, что предоставленное решение сработало для меня. Я не смог найти базовую версию EasyUEFI, а предложил только пробную версию несвободной про-версии.
антиплекс
5

Теперь есть более простое решение:

  1. Перезагрузитесь и введите параметры BIOS вашего компьютера (F2 или иногда F11).
  2. Зайдите в меню Boot и выберите Boot Device Priority
  3. Проверьте, находится ли диспетчер загрузки Windows над основным загрузочным диском (обычно это жесткий диск SATA… или жесткий диск IDE… ). Если это так, переместите приоритет загрузочного диска выше приоритета диспетчера загрузки Windows.
  4. Сохраните настройки BIOS и выйдите (обычно F10).

Это было проверено на ноутбуках Samsung Series 7 Chronos с двойной загрузкой Windows 8 и Ubuntu 13.10, безопасная загрузка отключена, UEFI и устаревшая загрузка включены.

scruss
источник
Это оказалось самым чистым вариантом для меня. Это еще несколько нажатий клавиш, но эй, это работает. У меня есть смесь Legacy и UEFI загрузочных устройств. Если пользователи загружают одну ОС намного больше, чем ассортимент других, это может быть быстрее (и безопаснее) в долгосрочной перспективе.
Нечеткий анализ
Это сработало и для меня после автоматического обновления Windows 10.
luis_js
Это решение сработало для меня, когда я удалил Ubuntu из Windows 10.
Викас Гупта
3

Boot-Repair работал для меня. Это очень очень простое в использовании графическое приложение, вам не нужно использовать командную строку, вам нужно всего лишь нажать кнопку :)

Все доступные варианты восстановления описаны в документации по Ubuntu, и есть отдельная страница, объясняющая, как запустить Boot-Repair (путем создания загрузочного диска или установки его на существующий живой диск Ubuntu) и как его использовать.

Просто загрузите Ubuntu live CD, установите Boot-Repair и запустите его.

лоренцо-ы
источник
Было бы неплохо, если бы был более простой способ получить Boot Repair. Быстрее просто установить chrootремонт, чем в Google, чтобы установить какой-то другой инструмент.
Скотт Северанс
2

Когда GRUB не работает, пользователь, как правило, не имеет доступа к системам, поэтому восстановление должно выполняться из live-сессии (live-CD или live-USB).

Существует множество возможных причин отказа GRUB: запись Windows на MBR, DRM, препятствующая правильной установке GRUB, ошибка установщика, смена аппаратного обеспечения ... Обновление GRUB, как первоначально было предложено Скоттом, как правило, недостаточно, переустановка GRUB, как предложено Марко, является более эффективный, но все же существуют различные ситуации, требующие других настроек (добавление параметров в ядро, отображение меню GRUB, изменение параметров GRUB, выбор правильной архитектуры хоста ...). Другими трудностями при ремонте GRUB является использование chroot и выбор правильных разделов / дисков.

Все это стало проще с помощью небольшого графического инструмента: Boot-Repair . Он должен быть интегрирован в компакт-диск Ubuntu 12.04 для более легкого использования, но для тех, кто в нем нуждается, уже есть несколько дистрибутивов, интегрирующих его: Ubuntu-Secured-Remix (Ubuntu CD, интегрирующий Boot-Repair), Boot-Repair-Disk (компакт-диск с Boot -Ремонт при запуске), ...

Надеюсь это поможет.

LovinBuntu
источник
1

Ответы Скотта и Web-E достаточно хороши и много раз помогали. Но во многих случаях средство восстановления загрузки не может восстановить grub из-за проблем, связанных с платформой i386 и amd64 или из-за того, что grub не может найти efiкаталог.
То, что решило мою проблему, например, более 10 раз, - это ручная очистка старых установок grub и установка новой.

Итак, сначала выполните первые 6 шагов из ответа Скотта, где вы можете пропустить 5-й шаг, если он дает ошибку:

  1. Загрузитесь с live CD или live USB в режиме «Try Ubuntu».
  2. Определите номер раздела вашего основного раздела. sudo fdisk -l, sudo blkidИли GParted (которые уже должны быть установлены по умолчанию, на живой сессии) может помочь вам в этом. В этом ответе я предполагаю, что это так /dev/sda2, но убедитесь, что вы используете правильный номер раздела для своей системы!

    Если ваш основной раздел находится в LVM , устройство /dev/mapper/, скорее всего, будет находиться /dev/mapper/{volume}--{os}-rootтам , где , скорее всего, {volume}указано имя тома LVM и {os}находится операционная система. Выполните ls /dev/mapperдля точного имени.

  3. Смонтируйте свой раздел:

    sudo mount /dev/sda2 /mnt  #Replace sda2 with the partition from step 2
    

    Если у вас есть отдельные /boot, /varили /usrразделы , повторите шаги 2 и 3 , чтобы смонтировать эти разделы на /mnt/boot, /mnt/varи /mnt/usrсоответственно. Например,

    sudo mount /dev/sdXW /mnt/boot
    sudo mount /dev/sdXY /mnt/var
    sudo mount /dev/sdXZ /mnt/usr
    

    заменить sdXW, sdXYи sdXZс соответствующими номерами разделов.

  4. Привязать смонтировать некоторые другие необходимые вещи:

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
    
  5. Если Ubuntu установлен в режиме EFI (см. Этот ответ, если вы не уверены] [efi]), используйте sudo fdisk -l | grep -i efiили GParted, чтобы найти раздел EFI. Это будет иметь ярлык EFI. Смонтируйте этот раздел, заменив sdXYего текущим номером раздела:

    sudo mount /dev/sdXY /mnt/boot/efi
    
  6. chroot в вашу установку Ubuntu:

    sudo chroot /mnt
    

Затем выполните следующие действия:

  1. Настройте все ожидающие пакеты.
    sudo dpkg --configure -a
  2. Исправьте сломанные пакеты.
    sudo apt install -fy
  3. Удалить текущую личинку.
    sudo apt purge -y grub*-common grub-common:i386 shim-signed
    Это может дать вам предупреждение о том, что ваше устройство не будет иметь загрузчика и может не загрузиться в следующий раз. Давай, прими это.
  4. sudo apt install -y grub-pc
    После запуска этой команды вам будет предложено указать текущий sdXYдля установки загрузчика. Найдите, где установлена ​​ваша текущая ОС, используя sudo fdisk -lкоманду. Это будет помечено как Linux. Перейдите в этом окне с помощью Tabклавиши и выберите опцию с помощью Spaceклавиши.
  5. Если все пойдет правильно, grub будет установлен правильно. Вы также можете сделать sudo grub-updateдля двойной проверки.

Если проблема все еще сохраняется, вы можете прочитать вики Арка, чтобы понять, что такое grub и решить множество других проблем. (Да, также помогает для Ubuntu!).

subtleseeker
источник
0

Windows не видит разделы в формате Linux. Вам нужно использовать gparted с liveCD и создать первичный раздел в формате NTFS с флагом загрузки.

У некоторых возникли проблемы, если новый основной раздел находится после расширенного раздела, поскольку Windows не всегда правильно сбрасывает таблицу разделов. Лучше всего иметь хорошие резервные копии и отдельную резервную копию таблицы разделов.

Резервное копирование таблицы разделов в текстовый файл и сохранение на внешнем устройстве.

sudo sfdisk -d /dev/sda > PTsda.txt

Это только для систем MBR (msdos). Если ваша Ubuntu установлена ​​на диск с разделом GPT, вы можете установить Windows только в режиме UEFI или преобразовать диск обратно в MBR (msdos).

oldfred
источник
Новые версии sfdisk & fdisk, которые работают с разделенными дисками gpt в 16.04 или более поздней версии, также будут выполнять резервное копирование разделенных дисков gpt с помощью указанной выше команды. oldfred не помнит, что он ел на ужин прошлой ночью, поэтому не уверен, что он отправил еще в 2013 году. :)
oldfred
Привет, Фред, когда я готовлю, забыв ужин прошлой ночью, это благословение. Мы удалили наши предыдущие комментарии.
WinEunuuchs2Unix
0

Только fsckкоманда исправила grub-rescueэкран для меня.

Используйте Boot-Repair для загрузки с Live-CD, затем откройте терминал

Получите правильное устройство:

sudo fdisk -l

Нужно найти загрузочное устройство, загрузочное устройство имеет *в категории загрузки, как здесь:

Device     Boot   Start       End   Sectors  Size Id Type
/dev/sda1          2048   2000895   1998848  976M 82 Linux swap / Solaris
/dev/sda2  *    2000896 943716351 941715456  449G 83 Linux

Теперь восстановите диск, используя:

sudo fsck /dev/sda2 -y

Примечание: / dev / sda2 - загрузочное устройство в этом примере.

Перезагрузитесь, когда закончите. Готово.

Бенни
источник
0

Ответ Скотта Северанса является верным и подробным, но существует решение, которое не требует внешнего загрузочного устройства, поэтому нет необходимости определять и вручную монтировать все разделы Ubuntu, ведущие к chroot.

В Windows 10 вы можете Advanced Recoveryвыбрать устройство (раздел?) Для загрузки.

Зайдите Settingsи выберите Update & Security:

введите описание изображения здесь

Перейти к Recovery:

введите описание изображения здесь

От Advanced StartupвыбораRestart Now

введите описание изображения здесь

Затем выберите Use a Deviceи все варианты загрузки должны быть представлены вам. Выберите раздел «Ubuntu», и ваш компьютер должен загрузиться с этого раздела.

После загрузки в мою обычную среду Ubuntu я попытался просто запустить, grub-updateно это не изменило.

Затем я нашел свой /boot/efiраздел, который был /dev/nvme0n1p1и побежал, sudo grub-install /dev/nvme0n1p1а затем sudo update-grub.

Это восстановило мою основную загрузочную запись несколько раз, так как, похоже, существует новая политика Windows 10 по перезаписи MBR при незначительных обновлениях .

Timbo
источник
0

У меня была другая проблема, вызванная (возможно) boot-repairстиранием /etc/grub.d/шаблонов, изложенная в моем вопросе: Ubuntu 18.04 не загружается после установки Windows 10

Как отмечено в комментарии @karels, конфигурация grub генерируется с использованием файлов в /etc/grub.d. Только мой каталог /etc/grub.d/25_customсодержал странные пункты меню, указывающие на несуществующие изображения .efi. Это выглядело так, как будто мои /etc/grub.dшаблоны проскользнули мимо boot-repair.

Я исправил это:

  1. Загрузка с Live CD (вероятно, важно использовать ту же версию Ubuntu)
  2. sudo mount /dev/sdxx /mnt
  3. sudo cp /etc/grub.d/* /mnt/etc/grub.d/
  4. sudo update-grub
  5. Перезагрузитесь и расслабьтесь после 48 часов боли
Адам Мур
источник