Установите grub2 на usb-накопитель, чтобы загрузить Ubuntu 13.04 x64 с установленным жестким диском в режиме UEFI

Я пытался найти способ установить grub2 на USB-накопитель таким образом, чтобы я мог загрузить ПК в режиме UEFI в Ubuntu, не изменяя каким-либо образом настройки прошивки UEFI или заменяя предварительно установлен загрузчик Windows 7 x64 с grub. Вот текущее расположение разделов gpt внутреннего SSD-диска, заданное gparted при запуске из сеанса live-DVD Ubuntu 13.04 x64:

/dev/sda1 100mb fat32 /boot (efi system partition)

/dev/sda2 128mb --- /msfres (Windows 7 reserved partition)

/dev/sda3 100gb ntfs (Windows 7 system partition)

/dev/sda4 10gb ext4 (Ubuntu root '/' partition)

Пока я пытался загрузить live-dvd в Режим UEFI, создание корневого раздела для Ubuntu (как показано выше), а затем указание установщику поместить grub на USB-накопитель объемом 512 МБ (/ dev / sdi), который я ранее отформатировал в gparted, следующим образом: 1) создать раздел gpt расположение; 2) создать единый первичный раздел; 3) отформатировать раздел как fat32; 4) установить флаг раздела как /boot.

Я дал указание установщику Ubuntu установить grub в / dev / sdi1 (раздел, который я создал выше - поскольку предыдущий 1mb был неиспользованным пространством). Однако, когда я перезагрузил компьютер, после завершения установки Ubuntu, с подключенным USB-пером, меню загрузки прошивки обнаружило перо как устройство UEFI, но затем продолжило загрузку Windows 7 - без Ubuntu или меню grub.

Я попробовал Google для поиска решений, и хотя на многих сайтах подробно рассказывается, как выполнить двойную загрузку Windows и Linux в системах UEFI, все они предполагают, что вы сможете изменить настройки прошивки UEFI или заменить загрузчик Windows 7 (ни один из вариантов не доступен для меня, так как я не являюсь владельцем ПК).

Поэтому, может ли кто-нибудь дать мне подробный пошаговый способ установки grub2 на ручку USB, чтобы я мог загрузиться в раздел Ubuntu в режиме UEFI, не меняя какие-либо настройки прошивки системы или изменяя / заменяя существующий загрузчик Windows 7?

Системная плата представляет собой ASUS Z87-K (bios rev 0412), твердотельный накопитель представляет собой OCZ-Vertex3 120 ГБ (версия встроенного ПО 2.15)

An обновление: Оказывается, в моей прошивке UEFI включена безопасная загрузка (поскольку Windows 7 (и другие ОС в «живом режиме») загружались нормально, я предположил, что она была отключена). Приношу свои извинения, если я веду людей по неверному пути! Поскольку я не являюсь владельцем этого компьютера, я не могу отключить безопасную загрузку, поэтому мне пока придется отказаться от попытки установки Ubuntu. Хотя, согласно документации Canonical, Ubuntu 12.04.2 и новее должна ли загружаться на ПК с включенной безопасной загрузкой? Поскольку я не могу отключить безопасную загрузку, чтобы сузить проблему, которая мешает мне успешно загружать Ubuntu, я оставлю этот вопрос открытым, но любые будущие установки, которые я попытаюсь, будут сделаны на моем собственном оборудовании, поэтому у меня есть свобода Эксперимент в большей глубине.

Еще раз спасибо всем, кто откликнулся!

3
задан 9 August 2013 в 20:07

3 ответа

Вы не можете установить два / раздела начальной загрузки с флагом начальной загрузки! Существует только один флаг начальной загрузки, необходимый для grub2 в / разделе начальной загрузки - так так деактивируйте флаг начальной загрузки в своем разделе/dev/sda1

После того, как это активирует флаг начальной загрузки в / разделе начальной загрузки/dev/sdi - уверенный? это корректно? У Вас есть / раздел начальной загрузки в/dev/sdi? Таким образом, там необходимо активировать флаг начальной загрузки (просто с gparted).

Как Вы говорите... grub2, уже установлен в/dev/sdi? Если не теперь следует (необходимый, потому что Вы изменили флаги начальной загрузки):

установка личинки sudo/dev/sdi

обновление-grub2 sudo

Прежде чем эта вся Ваша машина загрузилась в Windows 7/dev/sda3 через/dev/sda1 - но теперь флаг начальной загрузки деактивируется и устанавливается на / раздел начальной загрузки/dev/sdi - и Ваша машина должна теперь загрузиться к установке Вашей карты памяти.

Только в случае, если это в UEFI-режиме, который Ваша машина не может загрузить в карту памяти - затем, необходимо отключить UEFI-режим в настройках BIOS и включить там режим EFI вместо этого.

1
ответ дан 9 August 2013 в 20:07

Ты почти у цели. Сменные носители, такие как usb, будут загружаться с загрузочного раздела EFI (и это один загрузочный раздел EFI на устройство, а не всего) с использованием загрузочного ключа /EFI/Boot/bootx64.efi (для архитектуры x64). Просто скопируйте ваш /EFI/ubuntu/grubx64.efi в /EFI/Boot/bootx64.efi и получите копию grub.cfg в /EFI/ubuntu/grub.cfg, и он должен загрузиться. Конечно, grub.cfg должен быть настроен для загрузки жесткого диска так, как вы хотите. Простое копирование grub.cfg из установки жесткого диска будет работать, но тогда вам нужно будет перезаписывать каждый раз, когда вы обновляете ядра, так что вы можете сделать /EFI/ubuntu/grub.cfg несколькими строками, которые импортируют сохраненный / boot / grub / grub.cfg (как 13.04 я думаю). * Для безопасной загрузки используйте shim.efi для /EFI/Boot/bootx64.efi, а также получите копию SIGNED grubx64.efi в / EFI / Boot. grub.cfg находится там же, / EFI / ubuntu. Ваши живые медиа используют этот механизм для загрузки, поэтому, если он работает, этот метод будет работать.

0
ответ дан 9 August 2013 в 20:07

Не существует такого понятия, как "/ boot flag". GParted и parted имеют «загрузочный флаг» (без косой черты), но эта терминология в лучшем случае сбивает с толку. «Флаг загрузки» GParted / parted - это действительно способ установить код типа в разделе, чтобы идентифицировать его как системный раздел EFI (ESP), , из которого микропрограмма считывает загрузчики. Вопреки тому, что dschinn1001, похоже, говорит, вы должны не установить код типа для вашего раздела Linux /boot на код ESP. Разрешается иметь несколько ESP на одном диске, хотя Windows имеет аллергию на такие настройки, поэтому я рекомендую против этого. ESP должен иметь файловую систему FAT (технически FAT32, хотя FAT16 часто работает на практике), поэтому, если ваш раздел Linux /boot не использует FAT, вы должны не устанавливать GParted / [ 114] «флаг загрузки» в разделе /boot.

Технически возможно установить GRUB на USB-накопитель, но это немного ограничивает. Проблема заключается в жестко заданной конфигурации GRUB, которая дает вам две опции:

  • Вы можете собрать GRUB таким образом, что он ищет grub.cfg в том же каталоге, что и двоичный файл grubx64.efi ( то есть на флешке). Это обычно работает только на одном компьютере, так как grub.cfg содержит все виды системных специфических деталей.
  • Вы можете собрать GRUB таким образом, чтобы он искал grub.cfg на вашем жестком диске. Это может работать на большем количестве компьютеров, но для этого потребуется, чтобы на каждом компьютере был рабочий файл grub.cfg, и в одной и той же папке в каждой системе. Таким образом, он не будет работать на всех компьютерах, только на тех, которые настроены аналогичным образом.

Ubuntu собирает свой двоичный файл grubx64.efi для работы вторым способом. Обратите внимание, что процедура ubfan1 предполагает первый метод построения GRUB, поэтому он будет работать только с пользовательским двоичным файлом GRUB (или двоичным файлом GRUB, взятым из Fedora или другого дистрибутива, который работает таким образом). OTOH, процедура ubfan1 может работать вторым способом, если системы настроены правильно, но тогда копирование grub.cfg на USB-накопитель будет бессмысленным.

Если вы ищете аварийный загрузочный диск общего назначения, GRUB на самом деле не является лучшим решением - по крайней мере, если только Super GRUB 2 Disk не выйдет с поддержкой EFI или кем-то еще строит что-то подобное. На данный момент лучшим вариантом для аварийного загрузочного диска EFI является мой менеджер загрузки rEFInd. Эта программа создает список других загрузочных программ EFI на компьютере, позволяя вам загрузить любую из них. В результате вы сможете загружаться с любого загрузчика (GRUB, ELILO, загрузчика Windows и т. Д.), Установленного на жестком диске, даже если вы потеряли записи EFI NVRAM. Хотя загрузчик должен быть правильно настроен.

Поскольку ядра Linux начиная с версии 3.3.0 включают встроенные загрузчики EFI, rEFInd также может запускать их напрямую. Загвоздка в том, что rEFInd должен выяснить, какие опции передать ядру, и, самое главное, какова ваша корневая файловая система Linux. rEFInd может выяснить это, если ядро ​​находится в корневой файловой системе (то есть, если нет отдельного раздела /boot) или если специфичный для rEFInd файл конфигурации (refind_linux.conf) существует в том же каталоге, что и ядро. Ubuntu обычно не использует отдельный раздел /boot, поэтому rEFInd на USB-накопителе или CD-R обычно может запускать Ubuntu напрямую и должен быть более гибким и простым в настройке, чем GRUB для экстренного использования. (Страница rEFInd содержит ссылки для загрузки для образов CD-R и USB-накопителей.) Если у вас более сложная настройка, и вы случайно запомнили имя корневой файловой системы (или любые другие параметры ядра) вам нужно загрузиться), вы можете редактировать или добавлять их, нажав F2 или Insert дважды, что открывает редактор строк, так что вы можете изменять параметры ядра.

0
ответ дан 9 August 2013 в 20:07

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

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