27

TL; DR Как мне создать системный раздел EFI с нуля? Как поставить прошивку EFI на то, что он создан?

Длинная версия

У меня хава ноут Toshiba T430. Я получил его с установленной Windows 7 (но я думаю, что изначально он поставляется с Windows 8). Я установил на него Ubuntu, но удалил некоторые разделы на диске, так что я закончил с того, что уничтожил Windows и имел только Ubuntu. Среди удаленных разделов был системный раздел EFI. Я обнаружил, что Ubuntu теперь загружается в режиме Legacy (а не UEFI). Я пытаюсь следовать этому руководству по преобразованию моей установки Ubuntu из Legacy в UEFI. Проблема в том, что, когда я выбираю из BIOS загрузку с использованием UEFI, раздел EFI отсутствует, я не могу загрузиться. Это относится не только к жесткому диску, но и к USB и DVD. Я думаю, что это логично - он ожидает раздел EFI и, поскольку он не может его найти, он не может продолжать загрузку дальше, будь то с жесткого диска или DVD. Итак, как мне восстановить раздел EFI?

Руководство выше говорит:

Создание раздела EFI

Если вы вручную разбиваете диск в установщике Ubuntu, вам необходимо убедиться, что у вас настроен раздел EFI.

  1. Если на вашем диске уже есть раздел EFI (например, если на вашем компьютере была предустановлена Windows8), его можно использовать и для Ubuntu. Не форматируйте это. Настоятельно рекомендуется иметь только 1 раздел EFI на диск.

  2. Раздел EFI может быть создан с помощью последней версии GParted (версия Gparted, включенная в диск 12.04, в порядке) и должна иметь следующие атрибуты:

    1. Точка монтирования: /boot /efi (примечание: нет необходимости устанавливать эту точку монтирования при использовании ручного разбиения, установщик Ubuntu обнаружит ее автоматически)

    2. Размер: минимум 100Mib. Рекомендуется 200MiB

    3. Тип: FAT32

    4. Другое: нужен флаг загрузки.

У меня были некоторые проблемы при создании этого раздела:

  • Я загружаюсь с живого Ubuntu DVD, открываю GParted, создаю раздел размером 200 МБ и форматирую его в FAT32.
  • В GParted я не могу установить точку монтирования и, следовательно, не могу установить флаг загрузки.
  • Я не установил точку монтирования в /etc/fstab так как это live CD, и fstab выглядел совсем не так, как я ожидал, по сравнению с обычной загрузкой. Во всяком случае, я просто не знал, какие значения установить.

Я снова загрузился через live DVD и затем решил установить Ubuntu. Затем я создал раздел с указанными критериями - точка монтирования, 200 МБ, FAT32, флаг загрузки.

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

Итак, еще раз, как мне создать раздел EFI с программным обеспечением EFI, чтобы ноутбук снова мог загружаться в режиме UEFI?

РЕШЕНИЕ Спасибо вам обоим за ответы. Что я сделал, так это установил Windows 8.1 с нуля, отформатировав весь диск, а затем установив (на этот раз правильно) Ubuntu рядом с ним. Это мои разделы сейчас:

Дисковые разделы

Во время установки Win 8, как только я удалил все существующие разделы и позволил Windows переформатировать диск, он автоматически создал, помимо основного установочного раздела, три дополнительных раздела, а именно 1, 2, 3. Теперь, после того, как у меня появился ESP, я мог загружаться как с жесткого диска, так и с DVD в режиме UEFI.

Вы говорите, что ESP не хранит никакой информации по умолчанию, но я предполагаю, что при установке ОС, она помещает туда некоторую информацию. Поэтому я думаю, что мой случай был следующим: я стер его, и, хотя я воссоздал его, он не был заполнен какой-либо информацией, поскольку создание ESP было сделано после того, как была установлена ОС. Я потерял установку Ubuntu (ничего страшного, в любом случае это была новая установка), но я думаю, что для ее сохранения я должен был последовать совету grawity . Хотя времени не было, но, к счастью, все в порядке.

4 ответа4

34

Во-первых, вы не устанавливаете точку монтирования в GParted; это делается вручную (и временно) с помощью команды mount или постоянно путем редактирования /etc/fstab . Таким образом, ваша озабоченность по поводу этой проблемы неуместна.

Во-вторых, системный раздел EFI (ESP) - это просто раздел FAT с определенным кодом типа (а именно, C12A7328-F81F-11D2-BA4B-00A0C93EC93B на GPT-дисках). Обратите внимание, что точка монтирования в /etc/fstab не является частью определения ESP; Просто в Linux (но не обязательно) доступ к ESP осуществляется путем монтирования его в /boot/efi , обычно через запись в /etc/fstab . То, как вы устанавливаете код типа, варьируется от одной программы к другой:

  • В gdisk вы устанавливаете код типа на EF00. (gdisk использует двухбайтовые коды типов, которые расширяются до реальных кодов типов на диске; "EF00" - просто мнемоника для «C12A7328-F81F-11D2-BA4B-00A0C93EC93B».)
  • В GParted или parted вы устанавливаете "флаг загрузки". Обратите внимание, что это работает только на GPT-дисках; Вы не можете установить код типа ESP на MBR-дисках с этими программами. (Обычно это не имеет большого значения, поскольку компьютеры на основе EFI обычно загружаются с GPT-дисков.)
  • В установщике Ubuntu вы определяете раздел как "загрузочный раздел EFI". Затем он устанавливает код типа и соответственно устанавливает /etc/fstab .
  • В последних версиях Linux fdisk тип раздела устанавливается по его номеру (1 для "EFI System" на дисках GPT или 0xEF на дисках MBR) или путем ввода полного кода типа на дисках GPT.

В-третьих, ESP не держит прошивку - прошивка по определению хранится в микросхемах на материнской плате. Таким образом, ваши усилия по установке прошивки EFI на ESP - погоня за диким гусем. (Есть два исключения из этого правила. Во-первых, вы можете сохранить файл прошивки на ESP, чтобы обновить прошивку на вашем компьютере. Это всего лишь зона временного содержания. Во-вторых, загрузчик DUET или Clover , EFI загружается как обычная программа, обычно из ESP. Эти инструменты представляют собой загрузчики BIOS, которые позволяют компьютерам, использующим только BIOS, загружаться так, как если бы они были EFI-компьютерами; они обычно не используются на компьютерах с микропрограммой EFI, которая, как вы утверждаете, установлена на вашем компьютере. Технически, ни DUET, ни Clover не являются прошивками; это загрузчики BIOS, которые выполняют ту же работу, что и EFI.)

Наконец, я могу вспомнить ряд возможных причин вашей проблемы, но без дополнительной информации мне нужно написать половину книги, чтобы охватить их все. Я рекомендую вам запустить Boot Info Script на компьютере. Это создаст файл с именем RESULTS.txt . Опубликуйте его на сайте pastebin и отправьте обратно с URL вашего документа. Это даст достоверные данные о вашей конфигурации, что значительно сократит диапазон возможных причин вашей проблемы.

10

Раздел EFI не сохраняет прошивку (которая хранится в микросхеме на материнской плате); он сохраняет загрузчики для установленных операционных систем. По сути, это альтернатива EFI - поместить загрузчик в 0-й сектор вашего диска, как это было в случае с ПК с BIOS.

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

Если у вас уже установлена Ubuntu, вам необходимо:

  1. Установите UEFI-версию GRUB; Я думаю, что это в пакете с grub-efi-amd64-signed .

    grub-install --target=x86_64-efi-signed
    

    (Для неподписанной версии grub-efi-amd64 это x86_64-efi .)

  2. Убедитесь, что GRUB установил себя как \EFI\Boot\bootx64.efi в системном разделе EFI. (Я использую здесь синтаксис пути EFI; если вы смонтируете раздел в /boot в Linux, это будет /boot/EFI/Boot/bootx64.efi .)

    Если это не так, скопируйте grubx64.efi вручную в это место.

    Это необходимо, потому что grub-install не может добавить себя в меню загрузки EFI, если система уже не загружена в режиме EFI. ("Переменные EFI" недоступны в BIOS.) Поэтому единственный способ загрузить GRUB - это поместить его в "резервный загрузчик".

  3. Перезагружать. Попробуйте выбрать какой-либо режим EFI в меню загрузки вашей прошивки (прошивки EFI имеют собственное меню загрузки, даже до GRUB).

  4. Проверьте, если dmesg | grep "efi:" показывает что угодно, чтобы подтвердить, что вы находитесь в режиме EFI.

2

Создайте два файла с помощью блокнота и сохраните их на USB-диске Windows.
SaveAs: CreatePartitions-UEFI.txt

select disk 0  
clean  
convert gpt  
rem == 1. System Partition  =====================  
create partition efi size=210  
format fs=fat32 quick label=”SYSTEM”  
active  
rem == 2. Microsoft Reserved (MSR) partition  ======  
create partition msr size=16  
rem == 3.  Windows partition  ===================  
create partition primary size=xxxxxx   
format fs=ntfs quick label=”Windows”   
assign letter=”W”  
rem == 4. Recovery tools partition  ================  
create partition primary size=460  
format fs=ntfs quick label=”Recovery”  
assign letter=:R”  
list volume

Создайте еще один текстовый файл с помощью Блокнота:
SaveAs: diskpart-UEFI.txt

diskpart /s D:\CreatePartitions-UEFI.txt   

REM where D:/ is the usb drive. This command runs the text file to install the partitions.

Если вы используете MBR, команда будет, конвертировать mbr.

Чтобы получить размер раздела Windows, умножьте ваш размер HD на 1024, 100 гигабайт на жестком диске 1024 равняется 102400 минус 210 (размер efi) минус 16 (размер msr), минус 460 (зарезервированный размер) равен размеру, который вы поместите в размер раздела Windows. (XXXXXX)

Вы можете изменить размер раздела из терминала (командная строка) cd /d D:> блокнот CreatePartitions-UEFI.txt

Пока вы находитесь в USB-накопителе, откройте блокнотом diskpart-UEFI.txt и оставьте открытым или запишите команду, чтобы не ошибиться. Как только вы измените размер разделов по своему вкусу, закройте его, затем cd / dx:/ Sources, а затем запустите diskpart / s D:\CreatePartitions-URFI.txt.
список томов в последней команде показывает вам разделы, если все в порядке, выход> выключить компьютер> перезагрузить> установить

-1

используйте gnome-disk, пакет "gnome-disk-utility", это очень удобно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .