Рейтинг:0

Компьютер с двойной загрузкой Windows10/Unbuntu Всегда загружается в Windows (bcdedit не помогает)

флаг us

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

Обычно я запускал: bcdedit /set {bootmgr} путь \EFI\ubuntu\shimx64.efi

На этот раз я также пробовал: bcdedit /set {bootmgr} путь \EFI\ubuntu\grubx64.efi

В любом случае компьютер всегда загружается прямо в Windows 10. Я все еще могу попасть в меню Grub:

  • Перезагрузите компьютер и удерживайте клавишу ESC, чтобы приостановить запуск.
  • В меню запуска выберите F9: параметры загрузочного устройства.
  • В меню параметров загрузки выберите Ubuntu (ST1000LM023 HN-M101MBB)

Может ли кто-нибудь порекомендовать что-нибудь, что я должен проверить, или лучшие следующие шаги?

Компьютер HP Pavilion15 у меня с 2014 года.

Я, вероятно, удалю Windows с этой машины, как только я ее исправлю - поддержка раздела Windows становится больше проблем, чем того стоит! :)

Обновлять На основе этот ответ Нашел, возможно на это влияет тот же баг прошивки, что описал тот юзер. Следующие шаги восстанавливают меню grub при запуске: `cd/загрузочный/efi/EFI # создаем резервную копию старого файла bootmgr mv Microsoft/Boot/bootmgrfw.efi Microsoft/Boot/bootmgrfw.old.efi # замените диспетчер загрузки Windows на grub cp ubuntu/shimx64.efi Microsoft/Boot/bootmgrfw.efi

по какой-то причине он жалуется, если этого файла тоже нет...

cp ubuntu.grub64.efi Microsoft/Boot/grub64.efi`

Проблема с этим подходом заключается в том, что запись в меню Grub для окон, конечно же, перезагружает Grub, а не загружается в Windows. Меня не совсем беспокоит, что я не могу сейчас зайти в Windows, но мне бы очень хотелось знать, как заставить это работать правильно.

Я пробовал запускать os-prober и update-grub в надежде, что он найдет загрузчик Windows по адресу bootmgrfw.old.efi, но это явно не то!

Может ли кто-нибудь предложить способ исправления записи для Windows в меню Grub или вообще лучший подход к настройке?

Рейтинг:0
флаг eg

Если решение, предоставленное @IvánAraolaza, не работает, переустановите Grub2 при загрузке Ubuntu.

Вы также можете:

  1. Установите Grub2Win в Windows, установите его в качестве основного загрузчика и настройте.
  2. Загрузитесь с USB-накопителя/SD-карты с диска Ikkiboot или Super Grub2. Они распознают все ваши загружаемые системы и переустановят Grub2.
Рейтинг:0
флаг vg

Бег:

# Где X — ваш загрузочный диск ma/dev/nvme0n1p1in. например /dev/sda
# Примечание: если вы используете диск NVME, это может быть /dev/nvme0.
sudo grub-установить /dev/sdX
sudo update-grub

Затем повторите попытку.

Если все равно не работает, то sudo efibootmgr может помочь вам заставить его работать из Linux вместо этого (обязательно прочитайте руководство; вы можете легко получить не загружаемую систему).

Примечание: По моему опыту, если установка загрузочной ОС не выполняется; есть шанс, что это ошибка BIOS: либо дешевая микросхема флэш-памяти умирает, либо биос UEFI может использовать перепрошивку *. В любом случае вы можете получить кирпичную систему; будь осторожен.

* Это может произойти из-за того, что NVRAM является сборщиком мусора UEFI, и часто сборщик мусора не запускается или работает как дерьмо; поэтому вам просто не хватило места.

Прежде чем продолжить, я настоятельно рекомендую вам погуглить вашу «модель материнской платы» (или модель ноутбука) + «проблема с порядком загрузки UEFI» или «UEFI Linux заблокирована» или что-то в этом роде. Посмотрите, есть ли другие люди с такой же проблемой.

Обновлять: Пока я писал это, вы выложили обновление и действительно подозреваете баг прошивки. Это сложно. Вам нужно будет найти точную информацию о вашей прошивке Bios. Некоторые заработают после перепрошивки. Другие закончат с кирпичной системой.

Проблема в вероятно что операционные системы записывают только до 50% доступной NVRAM, чтобы избежать известных ошибок прошивки; но BIOS видит, что он заполнен только на 50%, поэтому не запускает сборщик мусора. И ваша ОС видит, что NVRAM заполнена на 50%, поэтому она считает ее заполненной.

Принудительная запись ядра в другие 50% может исправить это ... но если ваша прошивка глючит (весьма вероятно), вы можете в конечном итоге превратить ноутбук в кирпич, который можно исправить только с помощью SPI-флеш-памяти и зажима.

Darren Shinkins avatar
флаг us
Спасибо за вашу помощь в этом - efibootmgr был очень полезен; Думаю, это подтвердило наши подозрения. Это вывод efibootmgr: BootCurrent: 0000 Время ожидания: 0 секунд BootOrder: 0001,3001,0000,0002,0004,2001,2002,2003 Boot0000* убунту Boot0001* Диспетчер загрузки Windows Boot0002* Убунту Boot0004* Диспетчер загрузки Windows USB-накопитель Boot2001* (UEFI) Boot2002* Внутренний привод CD/DVD ROM (UEFI) Boot3001* Внутренний жесткий диск или твердотельный диск Boot3002* Внутренний жесткий диск или твердотельный диск ...продолжение...
Darren Shinkins avatar
флаг us
...продолжение... Я выполнил команду для изменения порядка загрузки, выведя 0000 наверх. efibootmgr -o 0000,0001,3001,0002,0004,2001,2002 Похоже, это сработало, но при перезагрузке он по-прежнему попадал прямо в Windows, и порядок загрузки сбрасывался.Так что я думаю, что мы рассматриваем проблему с прошивкой, которую я продолжу исследовать. Интересно, что когда я устанавливаю следующий вариант загрузки, он работает, как и ожидалось: efibootmgr -n 0 Следующий следующий последовательный перезапуск переходит в grub, только для этого.

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

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