Обновление Windows 10 убивает grub, а восстановление загрузки не помогает

Я только что обновился до Windows 10 с Windows 8.1 на своем разделенном ноутбуке, на котором установлена Ubuntu 14.04. Grub больше не появлялся при загрузке, поэтому я запустил восстановление загрузки с Ubuntu LiveUSB. Похоже, это не возымело никакого эффекта. Я проверил, и безопасная загрузка по-прежнему отключена.
Журнал из boot-repair: http://paste.ubuntu.com/11972534/
Так что же дальше?

Обновление: Я попытался использовать chroot для обновления grub из моего раздела Ubuntu. update-grub успешно запускается, находя как linux, так и windows boot manager, но процесс по-прежнему не имеет никакого эффекта. grub-install жалуется, что не может найти каталог EFI (но я все смонтировал правильно).

Update2: Только что обнаружил, что запуск efibootmgr после chroot в ubuntu показывает, что ubuntu вообще не находится в порядке загрузки. Я вручную изменил порядок и перезагрузился, чтобы обнаружить, что порядок загрузки был сброшен. Я бегу в Windows: bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi Но это также не имеет никакого эффекта даже после сообщения об "Успешной операции".

Мне просто нужно было запустить это в Windows от имени администратора:

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

Или, если вы используете PowerShell:

bcdedit /set "{bootmgr}" path \EFI\ubuntu\grubx64.efi

GRUB отлично отображается при загрузке, и я могу нормально загрузиться в Ubuntu и Windows 10.


Как указано в комментариях (Дэвидом Фором), последний аргумент этой команды зависит от вашей конкретной конфигурации системы. Вы можете использовать эту команду, чтобы определить правильный путь для вашей системы:

bcdedit /enum firmware

Здесь будут перечислены все установленные менеджеры загрузки и связанные с ними пути EFI, а grub должен быть где-то в списке.

Единственное решение, которое сработало для меня, описано в этом ссылкаЯ снова привел его сюда только потому, что эту тему легче найти в Google.

По сути, эти шаги заключаются в следующем:

  1. Использование Ubuntu Live для загрузки в режиме "Попробуйте Ubuntu".
  2. Используйте GParted для проверки правильного раздела Linux (например /dev/sda2).
  3. Смонтируйте раздел linux:

    sudo mount /dev/sda2 /mnt  #Replace sda2 with your partition number
  4. Смонтировать все остальные системные папки Linux :

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done

    Если вы используете систему UEFI, вам также необходимо будет смонтировать свой каталог EFI с помощью следующей команды:

    sudo mount /dev/sda1 /mnt/boot/efi
  5. chroot в вашу установку

    sudo chroot /mnt
  6. Теперь, когда вы вошли в свою установку (не в Ubuntu Live), просто выполните

    update-grubgrub-install /dev/sdaupdate-grubexitsudo reboot

И это все!Кредиты идут Скотту Северансу по ссылке, которую я упомянул выше.

та же проблема здесь, обновление с windows7 до 10 на ПК с двойной загрузкой ... я решил таким образом:

  1. Обновление Windows
  2. Во время процесса установки, после первой перезагрузки, я получаю приглашение grub rescue, исправил это с помощью BootRepair на USB-накопителе
  3. Завершив установку Windows, GRUB исчез, и с помощью live cd gparted я заметил, что все разделы все еще были там, но все они были NTFS
  4. Использовал TestDisk из Windows, восстановил мой раздел Linux
  5. Снова выполните восстановление загрузки, и все, кажется, в порядке (у меня дублируется голос Windows в меню GRUB.. я не знаю почему, но теперь мне кажется, что все в порядке!)

Я надеюсь, что это может быть кому-то полезно!

Машина моей жены старше (без UEFI), и на ней была установлена Ubuntu на логическом расширенном разделе. Обновление до Windows 10 сначала убило grub, поэтому перезагрузки привели к появлению запроса "grub rescue", который я восстановил с помощью BootRepair из LiveUSB, но мой раздел Linux отсутствовал! Я восстановил это с помощью parted rescue от LiveUSB, который нашел и восстановил раздел. Оттуда я смонтировал раздел из LiveUSB, выполнил установку grub и смог загрузиться обратно в восстановленные Ubuntu и Win10. Надеюсь, это поможет другим.

  • Под LiveUSB я подразумеваю USB-накопитель, который я использовал для установки Ubuntu (см. http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-ubuntu). Вы также можете использовать загрузочный компакт-диск. Как только вы загрузитесь с этого устройства, вы сможете найти на нем приложения BootRepair и gparted.

Здесь у нас есть несколько ответов, в которых приведены шаги по устранению проблемы (потеря меню Grub из-за последнего обновления Win10). Различные ответы доказывают, что решение не уникально, поскольку конфигурации машины не уникальны.

Для моей системы (Acer E5-575G-57D4), ниже приведено исправление:

Короткий ответ:

1) В Windows, как уже упоминалось Николас в его ответе введите следующую команду от имени администратора в командной строке Windows.

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

2) Запустить ремонт ботинок утилита с живым Ubuntu CD/USB.

Длинный ответ:

1) Войдите в Windows.

2) Создайте загрузочный USB-накопитель (с вашей версией Ubuntu) и подключите его.

3) Введите эту команду от имени администратора в командной строке:

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

Перезапуск.

4) Пока он загружается нажмите клавишу F12 чтобы увидеть меню загрузки. Выберите "Linux". Примечание: Для этого в настройках BIOS должно быть включено "Меню загрузки F12" (нажмите клавишу F2 во время загрузки).

5) В меню выберите "Попробовать ubuntu без установки", для Живая сессия Ubuntu.

6) Подключитесь к своему Wi-Fi. Загрузите и запустите boot-repair используя следующие команды:

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

Просто следуйте инструкциям, пока не получите сообщение о том, что grub исправлен. У меня это сработало.

Спасибо :)

Вы проверили порядок вашей последовательности загрузки? Если загрузчик Microsoft находится под номером 2, переместите его в самый низ и перезагрузитесь.

Вы можете проверить это из Ubuntu, запустив sudo efibootmgr -v в терминале.

Я использовал rescuetux/supergrubdisk. Загрузил его с DriveDroid на моем планшете Android. Затем используется автоматическое обнаружение rescuetux. Зашел в кнопку WINDOWS, нажал кнопку betaWindowsMBR repair. И выбрал /dev/sda2 ok ok ok. Затем он сказал "успешно". Теперь я просто загрузился обратно в меню Windows uefi.

В моем случае пути нет. \EFI\ubuntu\grubx64.efi при запуске bcdedit /enum firmware. Это \EFI\ubuntu\shimx64.efi. Выполните следующую команду в режиме администратора cmd:

bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi

У меня это сработало.Двойная загрузка Windows 10 (1909) и Ubuntu 16.04.

Я не уверен, что это связано, но я также столкнулся с небольшой проблемой, пытаясь перейти на Windows 10 с двойной загрузки Windows 8.1 / debian.

По сути, в какой-то момент обновления я закончил тем, что grub перешел в режим восстановления, потому что мой раздел debian был стерт в процессе, а следовательно, и загрузочные файлы вместе с ним (обычно у меня есть отдельный загрузочный раздел, но не в этот раз ...). Посмотрите на эту ссылку: Обновление Windows 10 привело к спасению grub

Я думаю, проблема в том, что Windows неправильно записала таблицу разделов во время процесса обновления.

Во всяком случае, я устранил проблему, загрузившись с установочного внешнего жесткого диска Win8.1 и следуя этим инструкциям: https://neosmart.net/wiki/fix-mbr/ (прокрутите вниз до win8/8.1). Это стерло grub и переустановило загрузчик MSoft. Затем мне удалось завершить обновление и переустановить debian все вместе, так как в то время я не понимал, что это просто проблема с неправильной записью таблицы разделов. Тем не менее, лучшим решением было бы попытаться восстановить вашу таблицу разделов (с помощью testdisk?), А затем переустановить / обновить grub.

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

PS: Спасибо microsoft за то, что вам наплевать на людей, у которых конфигурация с двойной загрузкой...

Мое исправление было близко к @Francesco, но немного отличалось.

  1. Обновите Windows с 7 до 10.
  2. Во время процесса установки, после первой перезагрузки, я получаю приглашение grub rescue, исправил это с помощью BootRepair на USB-накопителе.
  3. Теперь появляется Grub, но показывает только раздел Ubuntu, а не Windows.
  4. Войдите в Ubuntu, перейдите в терминал и введите update-grub
  5. Теперь Windows показывает резервное копирование в меню grub, продолжайте обновление Windows 10.

Следующим шагом будет подать отчет об ошибке.

@Rinzwind Я только что отправил журнал на boot.repair@gmail.com объясняю свою ситуацию.

Если вы обновили файлы grub в ESP, вошли ли вы в ACERs UEFI и включили доверие к этим файлам. Для этого вам нужно установить системный пароль. boot - Bootable device not found after clean install of Ubuntu 14.04 UEFI on Acer - Ask Ubuntu

Эта краткая записка (Will an upgrade to Windows 10 on a dual-boot system mess GRUB up? – LinuxBSDos.com /) указывает на то, что если ваш ESP находится в разделе UEFI, обновление ничего не должно нарушать.

Безуспешно попробовав принятый ответ, я понял, что могу просто изменить порядок приоритета загрузки в BIOS, и при указании на нужный раздел (ubuntu) при загрузке появилось меню grub :slight_smile:

Сохраняйте два отдельных ESP для обоих, в противном случае Windows будет удалять GRUB при каждом обновлении BOOTMGR.