Рейтинг:0

Исправление нескольких экземпляров Ubuntu в диспетчере загрузки UEFI

флаг in

Недавно я установил Ubuntu на собственный диск (Sandisk). Я столкнулся с проблемой, когда grub выдавал мне эту ошибку при попытке загрузиться в Windows.

ошибка: файл '/efi/Microsoft/bootmgfw.efi' не найден

Заглянув в BIOS, я вижу несколько записей для Ubuntu, хотя во время установки я выбрал конкретный диск Sandisk. Как я могу все это почистить?

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

Информация о загрузке - https://paste.ubuntu.com/p/PHnfqhB34x/

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

oldfred avatar
флаг cn
UEFI или BIOS устанавливаются, более новые системы должны быть UEFI. Ubuntu обычно устанавливает как shimx64.efi, так и bootx64.efi, поэтому у вас может быть две записи. И похоже, что вы установили Ubuntu на два разных диска? С какого вы загружаетесь? Удалите записи UEFI: https://askubuntu.com/questions/1198221/cloning-ssd-also-cloned-boot-options Чтобы просмотреть подробности: скопируйте и вставьте ссылку pastebin на сводный отчет Boot-info (не публиковать отчет ), используйте версию ppa с вашим установщиком USB (2-й вариант) или любую рабочую установку, а не Boot-Repair ISO (кроме 21.10) https://help.ubuntu.com/community/Boot-Repair
ubuntububuntu avatar
флаг in
Я установил Ubuntu только один раз и установил установочный диск Sandisk. Основываясь на свободном месте на моем диске Windows, ничего не изменилось, поэтому я предполагаю, что это какая-то ошибка. Я обновил пост с моей информацией о загрузке
флаг cc
См. ошибку панели запуска 1396379. Посмотрите на раздел EFI Sandisk и посмотрите, скопировано ли что-нибудь в /EFI... - вероятно, нет, поскольку ошибка не была исправлена. EFI первого диска, вероятно, теперь содержит каталог ubuntu с загрузчиками grubx64 и shimx64, а каталог Boot получил копию grub или shim в bootx64.efi в качестве загрузчика устройства по умолчанию (который не получает запись «ubuntu»), поэтому понятия не имею, откуда взялся второй, но осторожно удалите тот, что на «Toshiba», поскольку он может быть единственным с правильной настройкой.
ubuntububuntu avatar
флаг in
о боже, так что из-за этой ошибки, хотя я попросил установщика Ubuntu использовать Sandisk для всего, что связано с Ubuntu, он пошел дальше и использовал Toshiba NVME (где установлена ​​​​Windows) ??
флаг cc
Просто загрузчики отправились на первый диск (независимо от того, что вы указали в качестве местоположения), фактическая установка прошла на Sandisk. Если Sandisk не является съемным диском, вероятно, проблем нет, но если он съемный, то с запущенным grub на первом диске и необходимостью некоторых файлов на втором диске ваша система не загрузится, когда Sandisk отсутствует. И добавьте себя в список «Влияет ли это на меня» на ошибку — она такая старая, потому что это сделало недостаточно людей.
ubuntububuntu avatar
флаг in
Sandisk — это съемный диск, который я приобрел специально для Ubuntu. Я хотел стереть Sandisk и установить либо PopOS, либо Fedora. Я также хотел переместить диск Windows на диск большего размера. Так что, если я сотру все, это немного очистит вещи? Я добавлю себя в список Влияет ли это на меня
Рейтинг:2
флаг cc

Не уверен, каковы ваши намерения для других ОС на Sandisk, но я бы предложил установить grub на Sandisk (вы сделали на нем раздел EFI, верно?) Или просто скопируйте все на EFI внутреннего диска в работу EFI Sandisk. тоже никаких правок не надо. Установка grub работает, проверьте необходимые параметры, такие как --removable и --uefi-secure-boot и --efi-directory. (в --uefi-secure-boot была старая ошибка, из-за которой прокладка не использовалась должным образом, но, возможно, к настоящему времени она была исправлена). Затем попробуйте загрузить Sandisk напрямую, загрузчик устройства по умолчанию должен работать.

Теперь, чтобы очистить внутренний диск, все, что вам нужно сделать, это удалить каталог ubuntu с записями grub EFI с помощью efibootmgr и поставить Sandisk первым в порядке загрузки. Кроме того, загляните в каталог EFI/Boot на внутреннем диске и замените bootx64.efi (который является копией grubx64.efi или ahimx64.efi) резервной копией Windows bootmgfw.efi, названной с bkp в имени, чтобы должно быть очевидным (или просто скопируйте файл bootmgfw.efi из каталога EFI/Microsoft... и переименуйте его в bootx64.efi.

Это должно оставить ваш Sandisk в качестве загрузочного устройства в любой системе (ну, может быть, с аппаратными проблемами), а ваша хост-система загружает Windows, когда Sandisk не подключен.


Я не знаю, что будет делать новая установка Windows, но если вы начнете с нуля, я предполагаю, что будет создан новый раздел EFI только с загрузчиками Windows. Итак, если вы настроили Sandisk с работающим личинкой, вы сможете подключить его по мере необходимости и установить на него все, что захотите.

ubuntububuntu avatar
флаг in
только одно уточнение -> я планировал обновить внутренний nvme (где установлена ​​винда) и просто сделать все с нуля.Если бы я пошел по этому пути, то на внутренний диск был бы установлен новый загрузчик Windows и т. Д.? Как только это будет сделано, я установлю любую другую ОС Linux на Sandisk, как и планировалось?

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

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