Я пытаюсь загрузить свой компьютер в Ubuntu, но в итоге мне приходится вручную выбирать Ubuntu из меню устройств, хотя он должен был загружаться первым. Вместо этого Windows 8 загружается так, как будто Ubuntu там даже нет! И GRUB работает просто отлично, когда Ubuntu выбрана в меню загрузочных устройств. (А как еще я могу?) Я пробовал использовать EasyBCD, но продолжал получать ошибки от диспетчера загрузки Windows. И на всякий случай, если это поможет, во время установки Ubuntu она не распознала Windows 8, и мне пришлось изменить размер и установить вручную. Что я могу сделать?
Примечания: ВСЕ!!! GRUB РАБОТАЕТ ОТЛИЧНО!!! ЭТО ОШИБКА В МЕНЮ ЗАГРУЗКИ HP, КАК Я УЖЕ ГОВОРИЛ!!! ПОЖАЛУЙСТА, СДЕЛАЙТЕ ЭТОНЕТДАЙТЕ МНЕ ОТВЕТЫ НА ПРАВКИ GRUB В БУДУЩЕМ!!!
Вот мои характеристики:
PC type: HP 2000-2d49WM Notebook PC
RAM: 4GB
Swap: 2GB
Processor: AMD E-300 Vision 1.3 GHz x2
BIOS Edition: N\A Until further notice
решение1
Я столкнулся с похожей проблемой с другим ноутбуком HP.
Проблема в том, что даже если вы измените порядок загрузки EFI навсегда (например, с помощью команды: «efibootmgr -0»), ваши изменения будут перезаписываться каждый раз при загрузке Windows.
Чтобы обойти эту проблему, мне пришлось установитьпересмотретьвручную.
Затем я нашел загрузчик EFI по умолчанию (.efi), сделал его резервную копию и заменил его на загрузчик из rEFInd (переименованный) [не забудьте скопировать другие папки и файлы, относящиеся к rEFInd, в ту же папку]. Я не помню, какой из них был загрузчиком EFI по умолчанию, и я не могу проверить это на компьютере, поскольку он принадлежит одному из моих клиентов.
ВНИМАНИЕ: Если вам придется применить этот сложный обходной путь, пожалуйста, убедитесь, что вы можете загрузить обычную установку rEFInd через меню загрузки, чтобы вы могли легко отменить изменения в случае возникновения проблем или если вы передумаете в будущем!!!!!
Процедура ручной установки rEFInd доступна здесь:http://www.rodsbooks.com/refind/installing.html#linux
Для наглядного примера постоянного изменения порядка загрузки EFI с помощью efibootmgr (вероятно, не сработает на вашем компьютере, как указано выше, однако я настоятельно рекомендую сначала попробовать это), пожалуйста, взгляните наэтот пост от Рода Смита (создателя rEFInd).
Похоже, что трюк с переименованием теперь полностью задокументирован на официальном веб-сайте rEFInd:http://www.rodsbooks.com/refind/installing.html#naming,http://www.rodsbooks.com/refind/installing.html#manual_renaming
rEFInd действительно удобен в использовании (после установки) и позволяет обойти такие неудачные реализации EFI.
Пошаговый, безотказный подход
Попытка изменить порядок загрузки UEFI с помощью efibootmgr
В Ubuntu откройте терминал и установите «efibootmgr», если он еще не установлен, с помощью следующей команды:
sudo apt-get установить efibootmgr
Получите порядок загрузки EFI и записи с помощью команды:
судо efibootmgr -v
Примечания:
BootCurrent: 0002 (указывает загрузочную запись UEFI, используемую для загрузки).
BootOrder: 0002,0003,0001,0000 (указывает определенный порядок загрузки UEFI).
Boot000x* (представляет собой одну загрузочную запись. За ней следует ее имя, HD и файл EFI. Все загрузочные записи перечислены ниже «BootOrder»).
Определите новый порядок загрузки с помощью команды:
sudo efibootmgr -o 0001,0002,0000,0003
В команде выше я предполагаю, что запись Ubuntu — 0001, Windows — 0002, Recovery — 0000, Diagnostics — 0003. Конечно, у вас может быть больше или меньше записей и/или вы хотите настроить другой порядок. Я предлагаю вам скопировать значение «BootOrder» из команды «sudo efibootmgr -v» и адаптировать его по своему усмотрению. Затем проверьте результат команды.
Проверьте еще раз «BootOrder» с помощью команды, использованной на шаге 2.
Перезагрузите компьютер должным образом и проверьте, что система загружает ожидаемую (первую) запись нового порядка загрузки (в данном случае Ubuntu). Если это работает, перезагрузите и попробуйте загрузить Windows (через меню UEFI), затем снова перезагрузите компьютер и проверьте, что Ubuntu по-прежнему загружается по умолчанию. Если все работает как и ожидалось, все готово! Реализация EFI правильная, и вам больше ничего не нужно делать. Если нет, перейдите к следующему решению.
Установка и настройка rEFInd
- Отключите функцию безопасной загрузки в BIOS, если это еще не сделано, чтобы избежать дополнительных сложностей;
- В Ubuntu загрузите двоичный ZIP-файл rEFInd с этой страницы:http://www.rodsbooks.com/refind/getting.html;
- Распакуйте ZIP-архив;
- Откройте терминал и перейдите в папку, в которую были извлечены файлы архива (команда должна выглядеть так:
cd ~/Downloads/refind-bin-0.8.1/
); - Выполните шаги (с 1 по 6), описанные здесь:http://www.rodsbooks.com/refind/installing.html#linuxВаша архитектура, скорее всего, x86-64, поэтому используйте
rm refind_ia32.efi
на шаге 3; - Отредактируйте файл конфигурации (refind.conf). Просто используйте
sudo nano ./refind.conf
илиsudo -i gedit ./refind.conf
. Я предполагаю, что текущий каталог по-прежнему является каталогом rEFInd на ESP. Вам будут очень интересны параметры "timeout" (значение типа: 1) и "default_selection" (значение типа: Ubuntu) для настройки автоматической загрузки Ubuntu. - Перезагрузите компьютер, используйте меню загрузки UEFI для запуска rEFInd и проверки того, что его конфигурация соответствует вашим потребностям. Если нет, запустите Ubuntu и отредактируйте refind.conf в его каталоге на ESP и повторяйте этот шаг, пока настройки не будут соответствовать всем вашим требованиям. Пожалуйста, проверьте, что вы можете загрузить Ubuntu и Windows также из rEFInd (более длительное значение тайм-аута может помочь).
- Определите, какой файл EFI используется по умолчанию вашей системой, и найдите его папку на ESP (это может быть что-то вроде "EFI/Microsoft/Boot/bootmgfw.efi" или что-то в этом роде). Не забудьте команду,
sudo efibootmgr -v
которая может быть очень полезна для получения этой информации. - Скопируйте содержимое папки refind на ESP в папку файла EFI по умолчанию, указанного на шаге 7 ("EFI/Microsoft/Boot/" в примере). Вы даже можете использовать command,
sudo -i nautilus
если вы не очень хорошо знакомы с командной строкой. Предполагая, что ESP смонтирован в /boot/efi, вы можете использовать следующую команду:sudo cp -r /boot/efi/EFI/refind/* /boot/efi/EFI/Microsoft/Boot/
. Не забудьте адаптировать путь назначения по мере необходимости. - Переименуйте файл EFI по умолчанию (в примере «bootmgfw.efi») в «bootmgfw.bak» (
sudo mv bootmgfw.efi bootmgfw.bak
если вы находитесь в правильной папке. Вы можете использоватьcd /boot/efi/EFI/Microsoft/Boot/
для переключения на эту папку [я по-прежнему предполагаю, что ESP смонтирован в «/boot/efi» и что относительный путь к файлу EFI по умолчанию — «EFI/Microsoft/Boot/»]); - Переименуйте файл rEFInd EFI ("refind_x64.efi") как файл EFI по умолчанию (здесь "bootmgfw.efi"). Используйте
sudo mv refind_x64.efi bootmgfw.efi
, если вы находитесь в правильной папке. - Перезагрузите компьютер, и если все в порядке, все готово! Если что-то пойдет не так, вы все равно сможете использовать меню загрузки UEFI для запуска rEFInd, загрузить Ubuntu и отменить изменения, внесенные в шагах 8–10.
решение2
Сначала загрузитесь с live ubuntu cd
или Live ubuntu flash drive
и connect to internet
. После этого перейдите в termianl ctlr+alt+T
и просто используйте команду ниже,
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo sed 's/trusty/saucy/g' -i /etc/apt/sources.list.d/yannubuntu-boot-repair-trusty.list
sudo apt-get update
sudo apt-get install -y boot-repair && (boot-repair &)
Это на самом деле решает любые проблемы с загрузкой. Если это все еще не работает для вас, просто оставьте отчет об ошибке в разделе команды add. Вы найдете, что я прикрепил ссылку, она имеет screen short and clear instruction
. Просто перейдите по ссылке, если что-то вам все еще не ясно. Развлекайтесь.
Ссылка для справки: ПОДПИШИТЕСЬ НА МЕНЯ ДЛЯ ДОПОЛНИТЕЛЬНЫХ РАЗЪЯСНЕНИЙ!
решение3
Мне кажется, что вы сделали установку UEFI. Windows 8.1 не позволит вам спокойно использовать Linux рядом с собой. Если вам абсолютно необходимо использовать Windows Boot Manager вместо опции Ubuntu UEFI, в случае, если ваша материнская плата по какой-то причине не принимает ничего, кроме опции Windows Boot Manager, вам нужно отредактировать Windows Boot Manager в Windows, открыв командную строку с правами администратора и используя bcdedit, например так:
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
Если вы используете безопасную загрузку, вам понадобится следующее:
bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi
решение4
Запустите Ubuntu. Перейдите в терминал. И переустановите grub следующей командой:
sudo-grub-install /dev/sda
Это в предположении, что ubuntu установлен на sda (наиболее вероятно). В противном случае измените это на компонент wright.