как восстановить опцию загрузки uefi

как восстановить опцию загрузки uefi

Я каким-то образом стер все параметры загрузки в своем BIOS (возможно, это произошло из-за какой-то операции с использованием диска super-grub). Я попытался исправить свой grub с помощью boot-repair live-usb. После выполнения рекомендуемого восстановления и перезагрузки в BIOS по-прежнему нет параметра загрузки, и я попадаю на экран настройки BIOS каждый раз при загрузке.

Полная информация о моей настройкездесь.

Вся история началась, когда я обнаружил, что Windows не может загрузиться (ошибка BCD broken). Затем я подумал, что это проблема grub, поэтому я использовал boot-repair в моем linux и выполнил рекомендуемое восстановление. Затем я обнаружил, что не могу войти в свой linux, только с приглашением grub>. Поэтому я попробовал super-grub disk и super-grub2 disk live. Затем я обнаружил, что фактически стер все свои параметры загрузки в bios/uefi. Теперь я установил другой linux (kubuntu) в надежде, что новая установка сможет исправить grub, но этого не произошло. Поэтому я, наконец, попробовал boot-repair live usb и выполнил рекомендуемое восстановление, но все равно безуспешно. Есть идеи, как это исправить?

решение1

наконец исправил это с помощью gdisk. не уверен, какой шаг является решающим, но после резервного копирования и восстановления заголовка uefi и таблицы разделов, после перезагрузки мой linux попытается исправить диск, а затем не сможет смонтировать системный раздел efi. На этом этапе запуск gdisk из командной строки спасения автоматически обнаруживает ошибочный флаг «active», связанный с системным разделом efi. Просто позволив ему исправить флаг, можно решить проблему.

Это не проблема с биосом или uefi. Я также пробовал стереть системный раздел efi и переустановить windows 10. Однако это не помогло.

решение2

Если ваша единственная проблема заключается в том, что параметры загрузки UEFI NVRAM (переменные загрузки) исчезнут, у вас будет несколько вариантов:

Если вы можете выполнить загрузку с внешнего носителя в режиме UEFI:

  • смонтируйте корневую файловую систему вашей ОС, смонтируйте и к ней /proc, затем выполните chroot в эту файловую систему, смонтируйте раздел ESP и запустите (предполагается, что это корневая файловая система вашей установки ОС)/sys/devgrub-install/dev/sdX
mount /dev/sdX /mnt
mount -t proc none /mnt/proc
mount --rbind /dev /mnt/dev
mount --rbind /sys /mnt/sys
chroot /mnt /bin/bash
mount /boot/efi
grub-install /dev/sdX

grub-installавтоматически сгенерирует переменную загрузки UEFI для GRUB, но для этого требуется efivarfsсмонтированная виртуальная файловая система /sys/firmware/efi/efivarsи загрузка системы в режиме UEFI.

  • или смонтируйте раздел ESP без chroot и используйте efibootmgrдля ручного воссоздания параметров загрузки: (предполагается, /dev/sdX1что это ваш раздел ESP)
mount /dev/sdX1 /boot/efi

ls /boot/efi/EFI # there should be a directory for each OS/distribution

efibootmgr -c -d /dev/sdX1 -L "Any label you want" -l \\EFI\\<distro name>\\shimx64.efi  
# or ...\\grubx64.efi if Secure Boot disabled
  • Если включена безопасная загрузка, а в вашей ОС установлена ​​прокладка безопасной загрузки, может быть специальная grub-installопция. Chroot как в первом варианте, затем выполните:
grub-install --uefi-secure-boot /dev/sdX

Если ваш внешний носитель может загружаться только в устаревшем режиме BIOS:

  • Chroot как в первом варианте выше, но используйте эту grub-installстроку:
grub-install --target=x86_64-efi --force-extra-removable /dev/sdX

В устаревшем режиме вы можете получить сообщение об ошибке, указывающее на невозможность доступа к переменным загрузки UEFI, но пока вы можете игнорировать это.

Это установит вторую копию GRUB как [ESP mount path]/EFI/boot/bootx64.efi, которая является местом, где прошивка ожидает найти загрузчик UEFI fallback/removable media. После этого прошивка должна обнаружить раздел ESP как "загрузочный в режиме UEFI", и вы должны иметь возможность использовать меню загрузки BIOS, чтобы выбрать его для загрузки. Поскольку теперь присутствуют только загрузочные диски UEFI (после извлечения внешнего загрузочного носителя), даже самая предпочитающая устаревшие версии прошивка UEFI теперь должна загружаться в режиме UEFI.

После загрузки системы в режиме UEFI вы можете grub-install /dev/sdXснова запустить ее, чтобы воссоздать стандартную загрузочную переменную UEFI для вашей ОС Linux.

Связанный контент