Двойная загрузка Win 8 / Ubuntu загружает только Win

Мой компьютер - ноутбук Sony Vaio. Я использовал Ubuntu и Win 8 с двойной загрузкой, но Windows каким-то образом удалось удалить меню, чтобы выбрать ОС при запуске. Я думаю, что BIOS является UEFI. Безопасная загрузка уже отключена, и восстановление загрузки как-то не получается.

Как я могу это исправить?

13
задан 8 April 2017 в 11:28

4 ответа

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

  1. Переименовать /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
     
  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

20
ответ дан 8 April 2017 в 11:28

У меня есть У Acer такая же проблема. Мое решение - "перезагружать" окна, а не завершать работу (что на самом деле просто гибрид).

При перезагрузке (которая может запускать обновления) система отключается, и вы можете выбрать загрузку из BIOS. Вы должны поймать его, прежде чем он перезагрузится.

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

1
ответ дан 8 April 2017 в 11:28

Это работало на меня. Я использовал ноутбук Toshiba с UEFI.

  1. Установка Ubuntu в режиме UEFI. Удостоверьтесь, что определяли начальную загрузку/,/, и область подкачки на жестком диске.

  2. Входят в Windows 10. Откройте администраторскую командную строку и следуйте за Перезагрузкой шага 3.

  3. . Меню начальной загрузки должно появиться теперь.

0
ответ дан 8 April 2017 в 11:28

Ответ выше не сработал для HP Pavilion моего друга, но я нашел достойное решение. Кажется, что микропрограмма HP всегда перезаписывает BootOrder при каждой загрузке и сначала устанавливает Windows, но она по-прежнему учитывает BootNext . Поэтому я написал сценарий запуска, чтобы установить BootNext при каждой загрузке.

  1. Запустите

     efibootmgr
     

    , чтобы найти числовой код BootCurrent . В случае моего друга это был 0003 .

  2. /etc/systemd/system/boot-linux-next.service :

      [Единица]
    Описание = Загрузите Linux дальше
    
     [Обслуживание]
    Тип = oneshot
     # Замените "3" в следующей строке соответствующим кодом.
    ExecStart = efibootmgr --bootnext 3
    
     [Установить]
    WantedBy = multi-user.target
     
  3. Запустите

     systemctl enable --now boot-linux-next.service
     

Это означает, что если вы когда-нибудь загрузите что-то еще, вам придется вручную выбирать Linux при загрузке в следующий раз.

3
ответ дан 7 October 2019 в 15:20

Другие вопросы по тегам:

Похожие вопросы: