Як створити системний розділ EFI?


34

TL; DR Як створити системний розділ EFI з нуля? Як я можу розмістити прошивку EFI на її створенні?

Довга версія

Я хава ноутбук Toshiba T430. Я отримав його з встановленою Windows 7 (але, думаю, спочатку він постачався разом із Windows 8). Я встановив Ubuntu на ньому, але видалив декілька розділів на диску, щоб я врешті-решт витирав Windows і мав лише Ubuntu. Серед видалених розділів був розділ системи EFI. Я виявив, що Ubuntu зараз завантажується в застарілому режимі (а не UEFI). Я намагаюся дотримуватися цього керівництва щодо перетворення моєї установки Ubuntu з Legacy в UEFI. Проблема - оскільки не існує розділу EFI, коли я вибираю з BIOS для завантаження за допомогою UEFI, я не можу завантажуватись. Це не тільки для жорсткого диска, але і для usb та DVD. Я думаю, що це логічно - він очікує розділу EFI, і оскільки він не може його знайти, він не може продовжувати завантажуватися далі, будь то з HDD або 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. Інше: потрібен прапор "завантаження".

У мене виникли проблеми зі створенням цього розділу:

  • Я завантажуюся з живого DVD Ubuntu, відкриваю GParted, створюю 200MB розділ і відформатую його на FAT32.
  • У GParted я не можу встановити точку монтажу і, отже, не можу встановити завантажувальний засіб.
  • Я не встановлював точки монтажу, /etc/fstabоскільки це живий компакт-диск, і fstab виглядав зовсім інакше, ніж я очікував порівняно зі звичайним завантаженням. У всякому разі, я просто не знав, які значення встановлювати.

Я знову завантажився через живий DVD, а потім вирішив встановити Ubuntu. Потім я створив розділ із згаданими критеріями - точка монтування, 200MB, FAT32, прапор завантаження.

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

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

РІШЕННЯ Дякую обом за відповіді. Що я зробив, це встановити Windows 8.1 з нуля, відформатувавши весь диск, а потім встановивши (на цей раз належним чином) Ubuntu поруч. Зараз це мої розділи:

Дискові розділи

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

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


1
ESP зберігає завантажувачі. Таким чином, якщо у вас вже є установка та видалите ESP, ви втратите можливість завантажувати комп’ютер. Цей тип проблеми насправді досить просто виправити - ЯКЩО ви знаєте, як!
Род Сміт

Добре було все, що стосується мого питання :)
Олексій Попов

Відповіді:


37

По-перше, ви не встановлюєте точку монтажу в 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" на дисках GPT або 0xEF на дисках MBR) або вводячи код повного типу на дисках GPT.

По-третє, ESP не містить вбудованого програмного забезпечення - прошивка, за визначенням, зберігається в мікросхемах на материнській платі. Таким чином, ваші зусилля встановити прошивку EFI на ESP - це переслідування за дикими гусками. (Є два винятки з цього правила. По-перше, ви можете зберегти файл прошивки на ESP, щоб оновити мікропрограмне забезпечення на своєму комп’ютері. Хоча це лише тимчасова зона зберігання. По-друге, завантажувач DUET або Clover , EFI завантажується як звичайна програма, як правило, з ESP, хоча ці інструменти - завантажувачі BIOS, що дозволяють комп'ютерам, що працюють лише в BIOS, завантажуватися так, ніби вони машини EFI; вони не єзазвичай використовується на комп’ютерах із вбудованим програмним забезпеченням EFI, яке, на вашу думку, має ваш комп’ютер. Технічно ні DUET, ні Clover не є прошивкою; це завантажувачі BIOS, які виконують ту саму роботу, що і EFI.)

Нарешті, я можу придумати декілька можливих причин вашої проблеми, але без додаткової інформації мені потрібно написати половину книги, щоб висвітлити їх усі. Рекомендую запустити сценарій інформації про завантаження на комп’ютері. Це створить файл під назвою RESULTS.txt. Опублікуйте його на пастін-сайті та опублікуйте із URL-адресою документа. Це дасть важкі дані щодо вашої конфігурації, що значно скоротить коло можливих причин вашої проблеми.


Як за допомогою gdisk"встановити код типу на EF00"?
B Сьома

@BSeven t, 1, ef00.
варення

11

Розділ EFI не зберігає мікропрограмне забезпечення (яке зберігається в мікросхемі материнської плати); він зберігає завантажувачі для встановлених операційних систем. Це в основному альтернатива EFI, щоб розмістити завантажувач у 0-му секторі вашого диска, як це було у випадку з комп'ютерами BIOS.

Це означає, що як тільки у вас є такий розділ, він повинен автоматично заповнюватися під час встановлення операційної системи. (Досить ймовірно, що сам диск встановлення також повинен бути завантажений у режимі EFI, інакше це не завадить налаштувати завантаження UEFI ... насправді, певні частини налаштування навіть не можна виконати з режиму BIOS.)

Якщо у вас вже встановлено Ubuntu, вам потрібно буде:

  1. Встановити версію GRUB UEFI; Я думаю, що є в 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.


1
Я не хочу виховувати стару тему, але я намагаюся знайти рішення своєї проблеми і натрапив на цю нитку. Я намагаюся оновити мікропрограмне забезпечення BIOS на своєму комп’ютері Dell, і Dell надає його як EXE у форматі Windows або якийсь файл, який слід помістити на розділ формату EFI. тобто мене просять "Завантажити файл на розділ EFI на знімному медіапристрої." Я не знаю, чи мала це на увазі ОП, але я просто хотів зазначити, що ви сказали у своєму першому абзаці.
Рей

@Ray: Ви завантажуєте майбутню прошивку в цей розділ. Він все ще не використовується як фактична прошивка при включенні комп'ютера; він просто використовується як файл даних для програми "оновлення програмного забезпечення", яка буде записувати / прошивати його на материнську плату. (Пам'ятайте, коли в таких інструкціях говорилося "завантажуйте файл на завантажувальну дискету MS-DOS" чи щось таке? Ну, і на цьому диску не було вашої основної BIOS. Він просто містив програму перезавантаження та дані, які він повинен спалахнути . Те саме тут.)
grawity

1
Так, я знаю. Я думаю, я просто кажу, що ОП може бути не обов'язково помиляється, а просто неточним. Так само ви маєте рацію, що прошивка зберігається на мікросхемі, і тепер мене просять зберігати майбутню прошивку на розділі 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. (ххххх)

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

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


-2

використовувати gnome-диски, пакет "gnome-disk-utility", це дуже зручно.


2
Ласкаво просимо до Супер Користувача! Я не DV-er, але хоча відповіді на один рядок іноді можуть спрацювати, але якщо ви відредагуєте свою відповідь, щоб включити пояснення, вона працювала б краще :) Як би вони створили системний розділ EFI в gnome-disk-утиліті.
bertieb
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.