Як змусити мій новий ноутбук efi завантажити ноутбук HP?


28

У мене є ноутбук HP Pavilion Sleekbook 14, на якому я встановив подвійне завантаження Ubuntu 12.10 з оригінальним Windows 8. Я використовував ремонт завантаження, щоб налаштуватись на завантаження в груб.

Моя проблема полягає в тому, що я не зміг змусити її завантажуватися безпосередньо з нового файлу efi, який було створено. Я роздивився параметри завантаження на екрані bios, але це не дає мені вибору для Ubuntu. Єдиний спосіб, коли я можу завантажитися в Ubuntu, це натиснути F9 при включенні системи, а потім вручну перейти до файлу efi ubuntu. Це працює, але якщо я не звертаю пильної уваги, він завантажиться у вікна.

Після того як я закінчив запускати ремонт завантаження, він сказав мені завантажуватися з sda2 / EFI / ubuntu / shimx64.efi Я бачив кілька пропозицій про те, що я повинен перемістити цей файл замість windows bootmgfw.efi, але я стурбований тим, що буду ламати речі та не мати можливості завантажувати інсталяцію Windows 8. Хоча я вже не люблю win8 навіть більше, ніж win7, мені це потрібно час від часу для пари завдань ...

Подробиці мого ремонту завантаження тут: http://paste.ubuntu.com/1418009/


shimx64.efi працював на мене, хоча в моєму випадку Ubuntu Gnome не завантажувався після встановлення, і довелося вибрати файл, створивши нову опцію завантаження в BIOS.
темкофу

Тут є багато відповідей про Windows, ви намагаєтеся завантажитися в Linux чи Windows?
Еван Керролл

багато поганих відповідей непотрібно складні через проблеми з Windows просто перейменування sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efiефіру груба з відповіді @Vitor Abella
Еван Керролл

Відповіді:


29

У мене була така ж проблема з моїм HP Pavilion g6 при спробі подвійної завантаження Ubuntu 12.04.3 LTS та Windows 8. Тобто, навіть після "успішного" запуску Boot-Repair, у мене все ще було завантаження ноутбука безпосередньо в Windows 8. Якщо я натиснувши F9, перш ніж з'явився символ HP, я зміг потрапити в меню завантаження (меню HP? Не знаю ...) і звідти вибрати запис "Ubuntu", який, в свою чергу, переніс мене до GRUB 2 і нарешті до моєї установки Ubuntu.

Тим не менш, я хотів мати можливість завантажувати комп'ютер безпосередньо в Linux, не потребуючи жодного втручання користувача.

Зрештою, відповідь Рода Сміта вище , поєднана з інформацією, яку я знайшов на іншому форумі, зробила для мене трюк. У мене відключена безпечна завантаження, а також застаріла завантаження.

Ось що я зробив:

  • Я завантажився до своєї установки Ubuntu, використовуючи трюк клавіші F9 на початку, щоб мати можливість вибрати завантажувач.
  • Опинившись в Ubuntu, я відкрив термінал.
  • Використовуючи команду нижче, я перевірив, де знаходиться завантажувач Windows:

    $ sudo efibootmgr -v
    
  • У моєму випадку, оригінальний завантажувач був тут: /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi. Зверніть увагу, що на вашому комп’ютері він може знаходитися в іншому місці. Якщо це так, вам потрібно буде відкоригувати команди нижче.

  • Відповідно до рекомендації Рода у своїй відповіді (про те, як відремонтувати завантажувач вручну), я створив резервну копію цього файлу, перемістивши його на один рівень вгору:

    $ sudo cp /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/bootmgfw.efi
    
  • Нарешті, я скопіював завантажувач GRUB2 в це місце, "обманувши" систему для завантаження завантажувача, який я хотів замість оригінального завантажувача Windows.

    $ sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
    

Тож нарешті у мене було подвійне завантаження, що працює з GRUB2. У випадку, якщо Windows знову перезавантажить завантажувач після оновлення (як це було у мене), я вже знаю кроки, щоб повернути груб на своє місце.

Сподіваюся, що це комусь допоможе. Будь ласка, дайте мені знати, чи є проблеми з моїм рішенням.


9
Дякую, це допомогло, проте я не зміг завантажитися в Windows. При запуску він запускає GRUB, а в GRUB параметр "Windows Boot Manager" знову переходить до меню GRUB (очікується, оскільки це посилання на той самий файл .efi). Це виглядало так , хоча мені не пощастило з ремонтом завантаження. Я вирішив це, перейшовши на Ubuntu, в /etc/grub.d/, заповнивши файл 40_custom, скопіювавши запис Windows Boot, який я мав у своїй пасті ubuntu, і відредагувавши URL-файл .efi-файла, щоб вказати на резервну копію bootmgfw.efi. Отже, меню міститьchainloader /EFI/Microsoft/bootmgfw.efi
Вінс

1
що меню не працює для мене
П'єр

@Pierre May: Можливо, використання наступного пункту меню допоможе вам: menuentry 'Real Windows' {set root = (hd0, gpt2) chainloader /EFI/Microsoft/bootmgfw.efi} (це передбачає, що ваш розділ efi знаходиться на першому на жорсткому диску, на sda2. Щоб переконатися, ви можете ввести "c", коли ви знаходитесь в grub, і наберіть "ls", щоб побачити наявні розділи.
tobiasBora

12

Я зіткнувся з тією ж проблемою і для HP ProBook 4340 з оригінальним Windows 8, який вже перезаписаний новим Kubuntu 15.04 (я не вважаю за краще подвійне завантаження). Серед інших спроб я також спробував Boot-Repair (як з HD після його встановлення, так і через boot-repair-disk ), але ця вправа, швидше за все, була непотрібною.

Трюк зробив наступні зміни в налаштуванні BIOS (після запуску комп'ютера F10 - перейдіть до конфігурації системи - відкрийте параметри завантаження ):

  1. Перевірте налаштований завантаження

  2. Перевірте SecureBoot

  3. Режим завантаження : оберіть UEFI Hybrid або UEFI Native (я вибрав UEFI Native)

  4. Замовлення на завантаження UEFI : поставте Індивідуальне завантаження на початок

  5. Визначте налаштований варіант завантаження : виберіть Додати + поставити налаштування:\EFI\ubuntu\grubx64.efi

Ми знайшли правильний рядок шляху під час відкриття GRUB через параметр Boot from EFI File у параметрі швидкого завантаження (F9). На початку список опцій містив:

  • Менеджер завантаження ОС
  • Завантаження з файлу EFI

Після додавання параметра «Індивідуальне завантаження» він був доданий до списку:

  • Індивідуальна завантаження
  • Менеджер завантаження ОС
  • Завантаження з файлу EFI

Зробив саме це тут на HP zbook 15, не пощастило
cmbarbu

Якщо ви використовуєте систему uefi та встановлюєте UBUNTU 16.10 після Windows 10, ця відповідь є правильною
leoredi

дякую, я хотів це зробитиDefine Customized Boot Option: choose Add + put the setting: \EFI\ubuntu\grubx64.efi
m3asmi

6

UEFI Hewlett-Packard вже деякий час доставляє мені біль. Виправлення допомогло мені знову перезапустити ноутбук HP в GRUB - не натискаючи спочатку F9.

У мене була одна проблема: після виправлення я міг вибрати Windows 8 в GRUB, але Windows 8 потім відмовився запускатися, і мені знову було показано меню GRUB.

Моє виправлення:

  1. Копіювання оригінального efi-файлу Microsoft в /boot/efi/EFI/Microsoft/Boot/bootmgf2.efi
  2. Редагування /boot/grub/grub.cfgдля розпізнавання перейменованого efi-файлу Microsoft

Тепер ноутбук завантажується в GRUB, Ubuntu та Windows 8.


5

Зазвичай, запуск програми "Ремонт завантаження" створює резервну копію оригінального файлу завантажувача Microsoft ( bootmgfw.efi) як bootmgfw.efi.bkpі замінює оригінальний bootmgfw.efiфайл копією GRUB (або shim), і результат завантаження, який ви опублікували, показав би це; однак я не бачу такого резервного файлу. Таким чином, я рекомендую вам зробити одну з трьох речей:

  • Запустіть відновлення завантаження ще раз, але шукайте варіанти, пов’язані із створенням резервної копії та заміною завантажувача Microsoft. Активуйте ці варіанти, щоб продовжити процес. GRUB може або не зможе запустити Windows; що здається ударом або промахом - і більше "промаху", якщо ви залишите Secure Boot активним.
  • Робіть роботу вручну: з Linux створіть резервну копію /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi(я рекомендую перемістити її на один рівень до /boot/efi/EFI/Microsoft/bootmgfw.efi, а не перейменувати її bootmgfw.efi.bkp, оскільки останній нестандартний і робить інші інструменти, крім Boot Repair та GRUB Ubuntu не в змозі знайти його). Скопіюйте /boot/efi/EFI/ubuntu/grubx64.efiна своє місце; або якщо ви плануєте підтримувати захищене завантаження, скопіюйте /boot/efi/EFI/ubuntu/shimx64.efiйого на своє місце та скопіюйте grubx64.efiу/boot/efi/EFI/Microsoft/Bootвикористовуючи оригінальну назву. Потім вам потрібно буде змінити конфігурацію GRUB, щоб вона змогла запустити завантажувач Windows у новому місці або під новим ім’ям. (Я чув, що GRUB ще не може запустити завантажувач Windows у режимі захищеної завантаження, тому, якщо ви хочете запустити Windows з GRUB, можливо, вам доведеться відключити безпечну завантажувальну систему. OTOH, я ніколи цього не пробував сам , тож я можу помилитися з приводу можливостей GRUB в цьому відношенні.)
  • Вимкніть захищене завантаження, потім завантажтесь на Linux та встановіть мій менеджер завантаження rEFInd за допомогою пакета Debian. Після цього введіть sudo mvrefind.sh /boot/efi/EFI/refind /boot/efi/EFI/Microsoft/Boot. Остання команда переміщує та перейменовує файли аналогічно тому, що я описав вручну, або тому, що виконує відновлення завантаження, але він встановлює rEFInd як завантажувач за замовчуванням, а не GRUB. Якщо ви хочете використовувати Secure Boot, ви зможете це зробити, жонглюючи файлами та встановивши нову версію shim (shim Ubuntu досить рано, щоб він не працював належним чином з rEFInd). Установка rEFInd таким чином дає змогу завантажуватися без використання GRUB, а комбінація сценарію встановлення (виконується системою пакунків при встановленні пакета Debian) та mvrefind.shсценарію вирішують проблеми, які виникають у вас.

Натомість, проблеми, які виникають, пов’язані з відомими помилками у впровадженні EFI від HP. В основному, програмне забезпечення важко кодується для завантаження з завантажувача Microsoft та ускладнює або неможливо завантажувати що-небудь ще. Я настійно рекомендую скаржитися HP на це; вони не вирішать таких проблем, якщо люди не скаржаться.

З трьох рішень використання програми "Ремонт завантаження", ймовірно, буде найпростішим у роботі; але, як я зазначив, нестандартне іменування, яке використовує Boot Repair, може в майбутньому спричинити проблеми для інших утиліт. Налаштування вручну потребуватимуть більше зусиль для роботи, але з часом вони будуть чистішими. Деякі люди повідомили про проблеми з отриманням GRUB для завантаження завантажувача завантажувальної системи Windows, тому будь-який варіант може принести вам головні болі з цього приводу. rEFInd набагато більше шансів завантажувати Linux або Windows без проблем, але, як ви можете сказати з процедури, його робота, ймовірно, зажадає трохи більше зусиль, ніж повторне виконання Boot Repair, хоча, ймовірно, менше, ніж робити ручне жонглювання файлами. Використання rEFInd спільно з Secure Boot вимагає більше стрибків з обручем на даний момент. (Детальну інформацію див. У документації rEFInd.

У всіх трьох рішеннях є ризик; Реалізації EFI дуже сильно відрізняються між собою, це означає, що або автоматизована, або ручна процедура, яка добре працює на одному комп’ютері, може нещадно вийти з ладу на іншому. Щоб захистити себе, я рекомендую створити резервну копію свого ESP (як правило, /boot/efiпід Linux); просто запакуйте файли в тарбол або скопіюйте їх у каталог резервних копій. Якщо щось піде не так, ви можете завантажувати аварійний диск і відновити файли. Це, ймовірно, знову завантажить комп'ютер.


Велике спасибі! Я ще не намагався жодного з ваших варіантів, але буду в ці вихідні.
maddentim

Ваш менеджер завантаження rEFInd виглядає цікаво. Отже, ви кажете, що я можу відключити захищене завантаження і все ще використовувати Win8? Одне із запитань у мене полягає в тому, що при спробі tar / boot / efi, tar надіслав мені помилки на деяких файлах у папці ubuntu. Вони мають дивні назви на кшталт "ame =" App.lic ". Дивіться рядки 809 - 817 в paste.ubuntu.com/1418009 Ця остання установка була насправді моєю третьою спробою. Я думаю, що вони є сміттям і їх можна видалити. Що ви
Подумаю? Відправлю

Я бачив кілька повідомлень про те, що люди вимикають безпечну завантаження та не мають проблем із завантаженням Windows, тому це не проблема. Якщо ви хочете, щоб це було ввімкнено для переваг безпеки, це зрозуміло, але ви не повинні турбуватися про те, що Windows стане незавантаженим. Що стосується вашої tarпомилки, це звучить як скрипт помилку і створював файли з дивними іменами. Я раніше не помічав цих файлів у вашому виході, але можливо, що будь-яка помилка створювала їх, також відповідає за ваші проблеми із завантаженням. Якщо це так, використання rEFInd, ймовірно, допоможе вирішити проблему, але інші рішення можуть вийти з ладу.
Род Сміт

rEFInd не вдалося встановити. Я думаю, що LovinBuntu визначив проблему. / boot / EFI доступний лише для читання. Ось частина результату: mkdir: не вдається створити каталог/boot/efi//EFI/refind': Read-only file system cp: cannot create regular file /boot/efi//EFI/refind/refind_x64.efi ': Немає такого файлу чи каталогу Встановлення драйвера для ext4 (ext4_x64.efi) mkdir: не вдається створити каталог `/ boot / efi // EFI / refind ': файлова система лише для читання Скопійована rEFIі двійкові файли
maddentim

3

Я витратив день на ту саму проблему і нарешті її вирішив. Далі йде точне рішення. Повна стаття для вирішення проблеми знаходиться тут, яку написав Род Сміт .

Корисна інформація

Для завантаження в таблицю розділів GPT завантажувачами efi. efiФайли створюються операційними системами під час встановлення, які повинні бути надані біографії UEFI комп'ютера, щоб надати йому можливість завантажуватися у відповідні операційні системи.

Для зберігання файлів efi нам потрібно мати один розділ EFI. Зазвичай це розділ менше 200 Мб з fat32форматом з міткою EFI system. Він включає .efiфайли та їх залежності (у формі .dllабо .efi), необхідні для завантаження в будь-який із завантажуваних розділів (як правило, операційних систем). У моєму комп’ютері цей розділ має структуру, показану наступною схемою:

\EFI
   |_Boot
     |_fw
   |_Microsoft
     |_Boot
     |_Recovery
   |_Ubuntu
     |_fw

Зазвичай .efiфайли можуть мати будь-яке ім'я, але, схоже, деякі комп’ютери шукають конкретні імена. Тож я згадую і стандартні імена.

  1. BootПапка: Визнана як опція завантаження за замовчуванням, і якщо NVRAM стирається з причини. Це використовуватиметься за замовчуванням. Назва завантажувача efi - "bootx64.efi". Коли ви хочете вибрати завантажувач завантажувача efi за замовчуванням, скопіюйте файл efi та всі файли навколо нього у папку завантаження та перейменуйте файл efi свого джерела у "bootx64.efi".

  2. MicrosoftПапка: Він містить файли завантаження efi Windows. Є кілька файлів efi, але головний - "efibootmgfw.efi". Я впевнений, що Windows використовується для завантаження.

  3. UbuntuПапка: у ній зберігається efi-файл Ubuntu або Mint. Є кілька.efi файлів, але головнийgrubx64.efi

що робити?

Вже є кілька параметрів завантаження, які встановлюються під час встановлення операційної системи. Однак вони можуть перейти від параметрів завантаження біоса з різних причин, таких як видалення та перевстановлення жорсткого диска або встановлення нової операційної системи або навіть нового акумулятора материнської плати. Для відновлення параметрів завантаження є два рішення.

  1. (Не рекомендується) Як описано в деяких відповідях, ми можемо замінити робочий варіант завантаження на той, який не працює. Але проблема залишається в іншому напрямку.

  2. Зареєструйте відсутні файл завантажувача efi вручну.

Як зробити?

  1. Завантаження з завантажувальної спалаху Linux (я використовую завантажувальну спалах Linux Mint). Це повинно бути EFI usb. (GPT usb, який можна створити такими програмами, як rufus)

  2. Змонтуйте розділ EFI, ваш дистрибутив може зробити це автоматично. Пропустіть цей крок, якщо /bootвін є, і показує структуру, подібну до описаної вище. Сучасні Ubuntu повинні зробити це за вас.

    1. Знайдіть адресу свого EFI-розділу. Це можна зробити за допомогою partedкоманди або Disksпрограми. Зазвичай це перший або другий розділ завантажувального диска. ( /dev/sda1Або /dev/sda2) Цей розділ зазвичай знаходиться між 100 МБ-200 МБ з FAT32 та типом розділу Система EFI.

    2. Встановіть розділ EFI. Ви можете використовувати dfкоманду, щоб перевірити, чи розділ встановлений раніше.

      df  /boot/efi
      

      Якщо розділ не встановлений раніше (Не показано в попередній команді), змонтуйте розділ за допомогою mountкоманди:

      mount  /dev/sda1  /boot/efi
      
  3. Тепер якщо ви переглянете, /boot/efiви побачите структуру файлів, схожу на структуру моєї, пояснену вище. Контролюйте, чи можна там знайти папку втраченої операційної системи. У моєму випадку біос комп'ютера міг бачити варіант завантаження Windows, проте у мене також був варіант завантаження linux Mint Grub.

    • (Не рекомендується) Мій варіант завантаження Windows працював, тому спочатку для тестування я створив резервну копію папки Microsoft, яка містить купу файлів серед файлів завантажувальної efi Windows. ( bootmgfw.efi) Потім я перейменував папку ubuntu в Microsoft, далі перейменував grubx64.efiна bootmgfw.efi. Після перезавантаження, замість завантаження у Windows меню grub завантажується, однак цього разу завантаження до Windows було можливе лише за допомогою grub. І безпосередньо завантажувати вікна було неможливо.

      sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
      
    • ( Рекомендований спосіб ) Просто напишіть адресу файлу efi, щоб ви хотіли, щоб його відповідна операційна система бачила у параметрах завантаження біос. У моєму випадку Linux Mint відсутній у завантажувальному списку BIOS комп'ютера. Адреса його efi-файла була /efi/ubuntu/grubx64.efiвідносно кореня розділу EFI. Потім я зареєстрував його в NVRAM за допомогою команди efibootmgr .

      efibootmgr -c -d /dev/sda -p 1 -l \\efi\\ubuntu\\grubx64.efi -L nameForBootOption
      

      в p 1частині команди 1 визначає номер розділу efi-розділу на даному диску. nameForBootOption- це нестандартне ім'я, яке задається параметру завантаження

* Подбайте про те, щоб написати правильну адресу. Коли ви монтуєте розділ у Linux. Він монтує розділ до якоїсь папки під коренем, яка розширює реальну адресу на щось подібне, /media/mint/CC1F-9708/EFI/ubuntuоднак нам потрібно лише дати /EFI/ubuntuчастину.

* DisksПрограма - чудовий графічний інструмент, який за замовчуванням працює у завантажувальному спалаху Linux Mint. Він може бути використаний для перевірки та пошуку розділу EFI, а також може бути використаний для монтажу розділу EFI, не використовуючи жодної команди монтажу чи розбиття. Шукати його потрібно лише в меню, Налаштуваннях, Дисках.


Пішов не рекомендованим шляхом. Працювали чудово.
Еван Керролл

1

На вас впливає ця помилка: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1091477

Рішення:

  1. за допомогою Gparted створіть інший розділ EFI (FAT32, 200 МБ, розташований всередині перших 100 Гб диска)
  2. перемістіть на ньому прапор 'boot'
  3. змусити Ubuntu використовувати цей новий ESP (наприклад, за допомогою програми Boot-Repair -> рекомендований ремонт).

Що ж, створити ще один ESP всередині перших 100 Гб означає переміщення розділу Win8 на 200 Мб ... Я думаю, треба бути обережним там. Може зламати завантаження Windows. Можливо, я просто мушу його підірвати. Мені навіть це все одно не подобається. Мені це дуже потрібно, щоб дивитись netflix!
maddentim

Оновіть Boot-Repair (пакети «завантаження-збереження» та «boot-repair»), потім запустіть рекомендований ремонт та вкажіть нову URL-адресу, яка з’явиться.
LovinBuntu


1

Я зіткнувся з подібною проблемою після встановлення Cent-OS 7 над Windows 10. ось наведений нижче процес.

  • початковою ОС була Windows 10
  • встановлено cent-os 7 за допомогою uefi usb, створеного rufus

Проблема: Windows 10 завантажувався, і меню завантаження ОС OS навіть не відображалося.

  1. Як я вирішив:
  2. вирушили до Біоса
  3. увімкнено застаріле завантаження (лише додатковий крок для майбутніх запобіжних заходів)
  4. перейти до параметрів завантаження
  5. натисніть менеджер завантаження ОС
  6. Перемістіть CentOS UEFI над вікнами: натисніть f10, щоб зберегти
  7. ще раз натисніть OD завантажувальний менеджер і перевірте його.
  8. натисніть f10, щоб зберегти та вийти

Тепер ваша система завантажиться в центрі UEFI

Оскільки ми ввімкнули застаріле завантаження, ми можемо вибрати ключ esc, щоб перейти до bios чи інших варіантів завантаження


1

Я знайшов спосіб заставити свій HP Pavilion g7-2269wm (UEFI) для завантаження rEFInd (можливий також GRUB) без заміни bootmgfw.efiна rEFInd або GRUB

Я встановив rEFInd і додав rEFInd до списку менеджерів завантаження за допомогою sudo efibootmgr -c -d /dev/sda -p 2 -L "rEFInd" -l "\EFI\refind\shimx64.efi"

Перезавантажено за допомогою F9 для вибору rEFInd, а потім вибраного Ubuntu.

Потім перейменовано bootmgfw.efiна bootmgfwms.efiвикористання

sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/Boot/bootmgfwms.efi

Потім я перезавантажився, і він перезавантажився в rEFInd, не використовуючи F9.Запис Windows 10 тепер відсутній, тому я вибрав Ubuntu.

Потім, щоб повернути запис Windows 10, я побіг

sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfwms.efi /boot/EFI/EFI/Microsoft/Boot/bootmgfw.efi

Потім я перезавантажився і rEFInd приходить, не натискаючи F9, і Windows 10 з'являється як запис.


1

Це ще одна відповідь на адресу mairabc для тих, хто, як і Вінс чи я, не може завантажитися у вікна. Вам знадобиться fs_uuid:

# grub-probe --target=fs_uuid /boot/efi/EFI/Microsoft/bootmgfw.efi

і підказки:

# grub-probe --target=hints_string /boot/efi/EFI/Microsoft/bootmgfw.efi

Тоді вам слід відредагувати файл /etc/grub.d/40_custom так:

menuentry "Microsoft Windows x86_64 UEFI-GPT" {
    insmod part_gpt
    insmod fat
    insmod search_fs_uuid
    insmod chain
    search --fs-uuid --no-floppy --set=root your_hints_string your_fs_uuid
    chainloader /EFI/Microsoft/bootmgfw.efi
}

Збережіть це і зробіть

# update-grub

перезавантажтеся у Windows ...


1

На своєму ноутбуці HP я зробив наступне, крок за кроком:

1 - завантаження в ubuntu з F9

2 - Перевірте, де знаходиться завантажувач Windows

sudo efibootmgr -v

У моєму випадку /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

3 - Резервне копіювання .efi-файлу:

sudo cp /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/bootmgfw.efi

4 - Замініть оригінал .efi-файл на ubuntu one ( фокус ):

sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

5 - Додайте вікна 10 меню на груб. Відкрийте /etc/grub.d/40_customта додайте цей пункт меню в кінці файлу:

menuentry "Windows 10 click here!" {
    search --set=root --file /EFI/Microsoft/bootmgfw.efi
    chainloader /EFI/Microsoft/bootmgfw.efi
}

6 - Зберегти 40_customта:

sudo update-grub

7 - Біос відключити безпечне завантаження (я не впевнений, чи потрібен він)

8 - Якщо все пішло правильно, за замовчуванням він завантажиться на ubuntu , а Windows 10 буде ще одним варіантом на grub.

Це було легше, ніж я думав.


sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efiпрацював на відмінно.
Еван Керролл

@EvanCarroll, ти вважаєш, я повинен покращити свою відповідь? Це дійсно кроки, які я роблю.
Вітор Абелла

Ну, я не впевнений, що ця відповідь взагалі потрібна, щоб бути чесним. Це багато слів, але ваш метод там - те саме, що має Текін у розділі, що не рекомендується. Але для користувачів, що користуються лише Linux, цей метод відмінно підходить для його простоти.
Еван Керролл

1

У мене є ноутбук HP 2018, 14 дюймовий з подвійним завантаженням Windows 10 та Ubuntu. Раніше я натискав клавішу F9, щоб вибрати, яку ОС я хотів, і я вже кілька тижнів.

Рішення:

  • Вимкніть та натисніть F10, щоб перейти в BIOS

  • Перейдіть до частини BIOS, у якій перераховано порядок завантаження

  • Натисніть клавішу Enter в диспетчері завантаження ОС.

  • використовуйте F5 або F6 для перемикання Ubuntu з Windows.

  • Збережіть і вийдіть.


0

Це НЕ проблема Windows! Прошивка HP повністю непомітна, оскільки вона не використовує (або навіть підтримує належним чином) змінну UMA на фірмах "BootOrder". Я думаю, що єдиним виправленням цього є заміна файлу завантажувача Windows (як дехто вже згадував) на ваш grub.efi.


0

Мій сценарій схожий на повідомлення Michal Žarnay 19 серпня 1515 о 15:20: я отримав кілька веж HP Pavillion Slimline 400-314, у мене не було потреби в попередньо встановленій Windows 8, тому негайно перерозподілив жорсткий диск і встановив Ubuntu 14.04 і Груб2.

На жаль, меню BIOS Павліона надзвичайно обмежене в налаштуваннях завантаження. У ньому немає більшості химерних варіантів, які описує тут більшість інших. Навіть спроба змінити порядок завантаження не дотримується.

ТОЛЬКЕ рішення, над яким я працював, полягає у використанні методу "альтернативного іменування", як описано в розділі "Альтернативні рішення для імен" цього блогу .


1
Ласкаво просимо до Ask Ubuntu! Хоча це теоретично може відповісти на питання, бажано було б сюди включити істотні частини відповіді та надати посилання для довідки.
Марк Кірбі

0

Я підтверджую, що кроки @Vitor Abella вирішили проблему подвійного завантаження для мого ноутбука HP 2000, за винятком того, що мені потрібно буде зробити що-небудь із наступного (про що згадував @mairabc):

  • включити застаріле завантаження (за замовчуванням завантаження безпеки вимкнено)

або

  • вимкнути застаріле завантаження та включити завантаження безпеки.

0

Якщо ви не хочете переміщувати файли завантаження , ви можете спробувати змінити послідовність завантаження вручну:

Заходьте в ubuntu вручну і перевірте поточну послідовність завантаження та їх ідентифікатор, використовуючи:

sudo efibootmgr -v

потім змініть послідовність завантаження за допомогою -o та ідентифікаторів (у порядку завантаження зліва направо):

sudo efibootmgr -o 0000,3000,0001,2001,2002,2003



Приклад :
1. Показати поточні настройки завантаження

$ sudo efibootmgr -v
BootCurrent: 0001
Timeout: 2 seconds
BootOrder: 0001,3000,0000,2001,2002,2003
Boot0000* ubuntu    HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* Windows Boot Manager  HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot2001* USB Drive (UEFI)  RC
Boot2002* Internal CD/DVD ROM Drive (UEFI)  RC
Boot3000* Internal Hard Disk or Solid State Disk    RC
Boot3001* Internal Hard Disk or Solid State Disk    RC
Boot3002* Internal Hard Disk or Solid State Disk    RC
Boot3003* Internal Hard Disk or Solid State Disk    RC

2.Змініть порядок завантаження (ми хочемо спершу запустити ubuntu, що покаже меню завантаження при запуску):
Зверніть увагу, що перша спроба помилилася, оскільки вона не могла знайти Boot2003 (дискет?), Як ви можете це бачити відтворено після перезавантаження, хоча.

$ sudo efibootmgr -o 0000,3000,0001,2001,2002,2003
Invalid boot order entry value: 0000,3000,0001,2001,2002,2003
                                                         ^
Boot entry 2003 does not exist

$ sudo efibootmgr -o 0000,3000,0001,2001,2002
BootCurrent: 0000
Timeout: 2 seconds
BootOrder: 0000,3000,0001,2001,2002
Boot0000* ubuntu
Boot0001* Windows Boot Manager
Boot2001* USB Drive (UEFI)
Boot2002* Internal CD/DVD ROM Drive (UEFI)
Boot3000* Internal Hard Disk or Solid State Disk
Boot3001* Internal Hard Disk or Solid State Disk
Boot3002* Internal Hard Disk or Solid State Disk
Boot3003* Internal Hard Disk or Solid State Disk

3. Перезавантажте. Тепер має з’явитися меню завантаження. (2003 рік додається автоматично):

$ sudo efibootmgr -v
BootCurrent: 0000
Timeout: 2 seconds
BootOrder: 0000,3000,0001,2001,2002,2003
Boot0000* ubuntu    HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* Windows Boot Manager  HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot2001* USB Drive (UEFI)  RC
Boot2002* Internal CD/DVD ROM Drive (UEFI)  RC
Boot3000* Internal Hard Disk or Solid State Disk    RC
Boot3001* Internal Hard Disk or Solid State Disk    RC
Boot3002* Internal Hard Disk or Solid State Disk    RC
Boot3003* Internal Hard Disk or Solid State Disk    RC

0

Моє рішення реалізовано після того, як я знав, що grub4dos завантажується

зробити цей запис у men.lst

title Linux
find --set-root /-name.efi
boot /-name.efi

0

Після встановлення Ubuntu 14.04 64 біт на ноутбук HP-15-r248nf з Windows 8 оновлено до 10 встановлених, що відбулося плавно, окрім проблеми з переривчастим Wi-Fi з'єднанням з драйвером Realtek Wifi (вирішено за допомогою echo "options rtl8723be fwlps=N ips=N" | sudo tee /etc/modprobe.d/rtl8723be.conf ), ПК все ще завантажився під Windows.

Ubuntu через grub став доступним лише під час використання ключа ESC під час фази завантаження. Ремонт завантаження не допоміг, він фактично встановив досить багато опцій у grub, але grub все ще не був доступний безпосередньо.

Насправді потрібно було просто змінити порядок завантаження з типового.

  • На кроці завантаження після включення ПК наберіть Esc, а потім F10, щоб увійти в налаштування BIOS.
  • Перейдіть на вкладку “Конфігурація системи” вниз до “Параметри завантаження”. Натисніть Enter. Вимкнути "Захищене завантаження"
  • Перейдіть до порядку завантаження UEFI. Я ставлю за допомогою F5 / F6 менеджер завантаження ОС зверху (напевно, не потрібно).
  • Виберіть “Диспетчер завантаження ОС” за допомогою клавіші Enter. За допомогою F5 / F6 перемістіть ubuntu вгорі над менеджером завантаження Windows.
  • Залиште налаштування Bios за допомогою F10 Save / exit та підтвердіть внесені вами зміни.

Тепер вас направлять на груб, де ви вибрали опцію Ubuntu, позначену зіркою вгорі, яка завантажиться автоматично після невеликої затримки.


2
Будь ласка, відформатуйте це трохи. Я навіть не можу сказати, чи це відповідь.
TheWanderer

0

Вирішили проблему із завантаженням EFI таким чином:

Після efibootmgr -oперезавантаження параметр буде перезаписаний, тому він не працюватиме.

Однак я з’ясував, що -nваріант є. Тож у прямому ефірі usb-ubuntu запустіть efibootmgrта знайдіть чотиризначне число для ubuntu та завантажте це число за допомогою -nпараметра. Потім, щоб мати можливість перезавантажитись із вашої системи, зробіть такий сценарій:

#!/bin/sh
/usr/bin/efibootmgr -n 0000

Заміна 0000записом ubuntu. Біг crontab -eдозволить вам відредагувати ваш cron. Додайте до нього такий рядок:

@reboot /home/"user"/"path"/efibootsj

це виконає сценарій efibootsj(або як би це не було) після завантаження комп'ютера.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.