Мой компьютер - ноутбук Sony Vaio. Я использовал Ubuntu и Win 8 с двойной загрузкой, но Windows каким-то образом удалось удалить меню, чтобы выбрать ОС при запуске. Я думаю, что BIOS является UEFI. Безопасная загрузка уже отключена, и восстановление загрузки как-то не получается.
Как я могу это исправить?
Sony, HP и многие производители портативных компьютеров жестко запрограммированы на загрузку только Windows.
Существует несколько рабочих этапов, которые предлагают вам переместить файл grub grubx64.efi
или shimx64.efi
поверх Windows / EFI / windows / bootmgfw.efi
. Однако это не рекомендуется, поскольку Центр обновления Windows восстановит bootmgfw.efi
, и вы вернетесь только к загрузочным окнам.
Вместо этого я предлагаю переименовать резервную копию /EFI/Boot/bootx64.efi и загрузите жесткий диск или используйте rEFInd.
Убедитесь, что вы сделали резервную копию всего раздела EFI, прежде чем вносить изменения.
У вас есть несколько вариантов:
I. Переместите и переименуйте файлы grub grubx64.efi
или shim64.efi
(для безопасной загрузки) в эту папку / файл /EFI/BOOT/BOOTX64.EFI
Переименовать /efi/boot/bootx64.efi, скопируйте прокладку или grub в / efi / boot и назовите его bootx64.efi Затем загрузите запись на жесткий диск. Новые версии Boot-Repair автоматически делают это с помощью «Использовать стандартный файл EFI» в расширенных параметрах. Он также создает резервную копию текущего bootx64.efi, который, вероятно, является просто копией загрузочного файла Windows .efi.
Из интерактивного установщика смонтируйте раздел efi на жестком диске: Смонтируйте раздел efi. проверьте, какой раздел FAT32 с флагом загрузки. Часто sda1 или sda2, но различается.
sudo mount / dev / sda1 / mnt
только если еще не существует,
sudo mkdir / mnt / EFI / Boot
sudo cp / mnt / EFI / ubuntu / * / mnt / EFI / загрузки
Если создается новая папка, bootx64.efi не существует, пропустите эту команду
sudo mv /mnt/EFI/Boot/bootx64.efi /mnt/EFI/Boot/bootx64.efi.backup
Сделать grub загрузочной записью жесткого диска в UEFI. Если он не существует, возможно, придется обновить UEFI также с помощью efibootmgr.
sudo mv /mnt/EFI/Boot/grubx64.efi /mnt/EFI/Boot/bootx64.efi
При необходимости добавьте новую загрузочную запись для жесткого диска UEFI: См. Также
man efibootmgr
Если ESP - sda или записи диска и раздела по умолчанию:
sudo efibootmgr -c -L "Жесткий диск UEFI" -l "\ EFI \ Boot \ bootx64.efi"
Если ESP не sda1, sdX - это диск, Y - это раздел efi, а также диски NVMe:
sudo efibootmgr -c -g -w -L «Жесткий диск UEFI» -l '\ EFI \ Boot \ bootx64. efi '-d / dev / sdX -p Y
sudo efibootmgr -c -L "Жесткий диск UEFI" -l "\ EFI \ Boot \ bootx64.efi" -d / dev / nvme0n1 -p 2
(Это то же самое, что и при восстановлении загрузки в II. Сейчас не рекомендуется: Переименуйте /efi/Microsoft/Boot/bootmgfw.efi и скопируйте grub или shim в / efi / Microsoft / Boot и назовите его bootmgfw.efi. Затем загрузите запись Windows для загрузки в меню grub. Вы должны вручную добавить пункт меню grub для загрузки переименованного файла Windows efi. Запись os-prober Grub2 загружает запись bootmgfw.efi, которая теперь является просто grub, поэтому она не будет работать.
Пользователи, которые вручную перемещали файлы efi, см. Сообщение № 6.
http://ubuntuforums.org/showthread. php? t = 2101840
http://ubuntuforums.org/showthread.php?t=2219452
http://ubuntuforums.org/showthread.php?t=2221498&p=13012109#post13012109
II. Если вы запустили исправление Boot-Repair для «глючного UEFI» со старой копией, лучше отменить его. Затем внесите указанные выше изменения, чтобы использовать bootx64.efi. Чтобы отменить и переименовать файлы в их исходные имена, вам просто нужно установить флажок «Восстановить резервные копии EFI» в Boot-Repair.
Любое переименование вручную или с помощью Boot-Repair необходимо будет повторить после обновления Windows как он восстановит файлы Windows.
III. Отредактируйте Windows BCD, альтернативу переименованию Boot-Repair, чтобы прокладка имела имя Windows. Некоторые системы работают лучше для регистрации grub / shim изнутри Windows - для тех, которые продолжают сбрасывать Windows по умолчанию.
Grub не отображается при запуске для Windows 8.1 Ubuntu 13.10 Двойная загрузка
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
https://coderwall.com/p/ vfyqkg
IV. Если Описание должно быть Windows, измените описание UEFI. Это действительно работает только для тех, у кого есть только Ubuntu, а Windows не установлена вообще.
sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\ubuntu\shimx64.efi"
Восстановление или новая запись Windows UEFI - предполагается, что sda1 add -p 2 по умолчанию, если sda2 (см. Man efibootmgr -d drive & -p partition options) :
sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\Microsoft\Boot\bootmgfw.efi"
sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\Microsoft\Boot\bootmgfw.efi" -d /dev/nvme0n1 -p 1
V. Некоторые устанавливают rEFInd, который кажется другим обходным путем и имеет красивые значки загрузки.
http://www.rodsbooks.com/refind/index.html
http://www.rodsbooks.com/refind/secureboot. html
PPA доступен для упрощения установки в Ubuntu
http://www.rodsbooks.com/refind/getting.html
VI. Восстановить запись Ubuntu UEFI sdX - это диск, Y - это раздел efi, если sda2, например
sudo efibootmgr -c -L ubuntu -l "\EFI\ubuntu\shimx64.efi" -d /dev/sda -p 1
sudo efibootmgr -c -L "Ubuntu" -l "\EFI\ubuntu\shimx64.efi" -d /dev/nvme0nX -p Y
VII. Измените порядок загрузки с помощью efibootmgr:
Измените порядок загрузки с помощью efibootmgr
VIII. Удалите запись UEFI:
Удалите Grub и используйте загрузчик Windows Измените порядок загрузки с помощью efibootmgr
У меня есть У Acer такая же проблема. Мое решение - "перезагружать" окна, а не завершать работу (что на самом деле просто гибрид).
При перезагрузке (которая может запускать обновления) система отключается, и вы можете выбрать загрузку из BIOS. Вы должны поймать его, прежде чем он перезагрузится.
Я редко использую Windows, поэтому такая загрузка меня совсем не беспокоит. Если, конечно, винда обновится.
Это работало на меня. Я использовал ноутбук Toshiba с UEFI.
Установка Ubuntu в режиме UEFI. Удостоверьтесь, что определяли начальную загрузку/,/, и область подкачки на жестком диске.
Входят в Windows 10. Откройте администраторскую командную строку и следуйте за Перезагрузкой шага 3.
. Меню начальной загрузки должно появиться теперь.
Ответ выше не сработал для HP Pavilion моего друга, но я нашел достойное решение. Кажется, что микропрограмма HP всегда перезаписывает BootOrder
при каждой загрузке и сначала устанавливает Windows, но она по-прежнему учитывает BootNext
. Поэтому я написал сценарий запуска, чтобы установить BootNext
при каждой загрузке.
Запустите
efibootmgr
, чтобы найти числовой код BootCurrent
. В случае моего друга это был 0003
.
/etc/systemd/system/boot-linux-next.service
:
[Единица]
Описание = Загрузите Linux дальше
[Обслуживание]
Тип = oneshot
# Замените "3" в следующей строке соответствующим кодом.
ExecStart = efibootmgr --bootnext 3
[Установить]
WantedBy = multi-user.target
Запустите
systemctl enable --now boot-linux-next.service
Это означает, что если вы когда-нибудь загрузите что-то еще, вам придется вручную выбирать Linux при загрузке в следующий раз.