uefi Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
uefi [2016/12/21 19:14]
[(U)EFI]
uefi [2016/12/22 21:18]
удалено
Строка 18: Строка 18:
  
 ==== (U)EFI ==== ==== (U)EFI ====
-Идея отказаться от всего того ненужного,​ что делает BIOS, снять ограничения BIOS и сделать процесс инициализации и загрузки более гибким возникала уже очень давно, и различные попытки сделать это предпринимались,​ но IT-индустрия реально созрела к принятию нового общего стандарта загрузки персональных компьютеров только в начале этого века. В 2005 был создан консорциуму [[uefi.org|UEFI Forum]], которому INTEL передал свою наработки по проекту Intel Boot Initiative (позже переименованному в EFI - Extensible Firmware Interface), начатому еще середине 90-х. Помимо Intel в консорциум вошли AMD, Apple, IBM, Microsoft и многие другие крупные IT-компании. Вместе с созданием консорциума спецификация EFI была переименована в UEFI (Unified Extensible Firmware Interface)((Не смущайтесь тем, что во многих местах UEFI упоминается как EFI - по сути это не совсем правильно,​ но по факту - речь об одном и том же.)).+Идея отказаться от всего того ненужного,​ что делает BIOS, снять ограничения BIOS и сделать процесс инициализации и загрузки более гибким возникала уже очень давно, и различные попытки сделать это предпринимались,​ но IT-индустрия реально созрела к принятию нового общего стандарта загрузки персональных компьютеров только в начале этого века. В 2005 был создан консорциуму [[http://www.uefi.org/|UEFI Forum]], которому INTEL передал свою наработки по проекту Intel Boot Initiative (позже переименованному в EFI - Extensible Firmware Interface), начатому еще середине 90-х. Помимо Intel в консорциум вошли AMD, Apple, IBM, Microsoft и многие другие крупные IT-компании. Вместе с созданием консорциума спецификация EFI была переименована в UEFI (Unified Extensible Firmware Interface)((Не смущайтесь тем, что во многих местах UEFI упоминается как EFI - по сути это не совсем правильно,​ но по факту - речь об одном и том же.)).
  
 Основные концепции положенные в основу UEFI - "​минималистичность",​ "​модульность"​ и независимость от процессора. Прошивка UEFI может быть собрана под 32-битный или 64-битный процессоры Intel, 32-х или 64-х битный ARM процессор,​ а также Intel Itanium процессоры. Кроме того UEFI имеет собственный менеджер загрузки и умеет работать с файловыми системами на диске (по умолчанию только FAT32) и умеет загружать драйвера для поддержки различного оборудования и файловых систем.\\ Основные концепции положенные в основу UEFI - "​минималистичность",​ "​модульность"​ и независимость от процессора. Прошивка UEFI может быть собрана под 32-битный или 64-битный процессоры Intel, 32-х или 64-х битный ARM процессор,​ а также Intel Itanium процессоры. Кроме того UEFI имеет собственный менеджер загрузки и умеет работать с файловыми системами на диске (по умолчанию только FAT32) и умеет загружать драйвера для поддержки различного оборудования и файловых систем.\\
Строка 33: Строка 33:
 Как и в случае с BIOS, UEFI - это стандарт,​ практической реализацией которого занимаются разные поставщики решений. Поэтому в реализации UEFI стандарта в прошивках разных поставщиков могут значительно отличаться (как визуально так и функциональным наполнением). Могут встречаться сильно урезанные по функционалу реализации (чаще в компьютерах выпущенных в 2000-х годах). Но базовые принципы работы UEFI в процессе загрузки различаться сильно не должны (он был определен и зафиксирован в самых ранних стандартах UEFI). Интерфейсы утилиты настройки могут исльно различаться,​ но значение имеет не способ оформления интерфейса,​ а те настройки,​ которые доступны для изменения через этот интерфейс. Как и в случае с BIOS, UEFI - это стандарт,​ практической реализацией которого занимаются разные поставщики решений. Поэтому в реализации UEFI стандарта в прошивках разных поставщиков могут значительно отличаться (как визуально так и функциональным наполнением). Могут встречаться сильно урезанные по функционалу реализации (чаще в компьютерах выпущенных в 2000-х годах). Но базовые принципы работы UEFI в процессе загрузки различаться сильно не должны (он был определен и зафиксирован в самых ранних стандартах UEFI). Интерфейсы утилиты настройки могут исльно различаться,​ но значение имеет не способ оформления интерфейса,​ а те настройки,​ которые доступны для изменения через этот интерфейс.
 ==== Совместимость ==== ==== Совместимость ====
-Само собой, современные прошивки умеют эмулировать работу BIOS. Отвечает за совместимость с BIOS модуль CSM (Compatibility Support Module иногда он еще называется Legasy support). Когда CSM включен, то при загрузке ​он пытается найти загрузчик ОС в первом секторе диска (MBR) или в специальном служебном разделе (при GPT разбивке диска). Если код загрузчика найден,​ то CSM считает,​ что установлена ОС требующая поддержки BIOS режима,​ и прежде чем загрузить и запустить код из MBR, CSM проделывает все те же шаги инициализации оборудования,​ что предусмотрены для BIOS.+Само собой, современные прошивки умеют эмулировать работу BIOS. Отвечает за совместимость с BIOS модуль CSM (Compatibility Support Module иногда он еще называется Legasy support). Когда CSM включен ​и при загрузке ​загрузиться в UEFI не удалось,​ то CSM пытается найти загрузчик ОС в первом секторе диска (MBR) или в специальном служебном разделе (при GPT разбивке диска). Если код загрузчика найден,​ то CSM считает,​ что установлена ОС требующая поддержки BIOS режима,​ и прежде чем загрузить и запустить код из MBR, CSM проделывает все те же шаги инициализации оборудования,​ что предусмотрены для BIOS.
  
-Если вы планируете использовать загрузку в варианте UEFI, то работу этого модуля лучше запретить в системной утилите вашей материнской платы (Firmware setup utility). Кроме того, загрузка в режиме SecureBoot (о ней будет рассказано ниже) явно требует,​ что бы работа модуля CSM была запрещена. +Если вы планируете использовать ​только ​загрузку в варианте UEFI, то работу этого модуля лучше запретить в системной утилите вашей материнской платы (Firmware setup utility). Кроме того, загрузка в режиме SecureBoot (о ней будет рассказано ниже) явно требует,​ что бы работа модуля CSM была запрещена. 
-<note important>​Собственно использовать стазу оба варианта загрузки (для разных ОС) - не стоит. Лучше для всех ОС установленных на данном компьютере использовать один вариант загрузки:​ через CSM или UEFI.</​note>​+<note important>​Собственно использовать сразу оба варианта загрузки (для разных ОС) - не стоит. Лучше для всех ОС установленных на данном компьютере использовать один вариант загрузки:​ через CSM или UEFI.</​note>​
 ==== ESP раздел ==== ==== ESP раздел ====
 Отдельно стоит рассмотреть служебный раздел UEFI. Отдельно стоит рассмотреть служебный раздел UEFI.
Строка 47: Строка 47:
 При установке UBUNTU (с загрузкой через UEFI) служебный раздел ESP монтируется в /boot/efi. И на ESP разделе создается каталог EFI\ubuntu в котором размещается загрузчик((Виндовый загрузчик размещается в EFI\Microsoft\Boot\Bootmgfw.efi)) GRUB и/или Shim (о них - чуть позже). При установке UBUNTU (с загрузкой через UEFI) служебный раздел ESP монтируется в /boot/efi. И на ESP разделе создается каталог EFI\ubuntu в котором размещается загрузчик((Виндовый загрузчик размещается в EFI\Microsoft\Boot\Bootmgfw.efi)) GRUB и/или Shim (о них - чуть позже).
 <note important>​EFS раздел лучше создавать из установщика. Когда вы делаете его сами через gparted/​parted/​fdisk,​ то есть шанс сделать что-то не так (например выберете FAT16 вместо FAT32) и тогда UEFI не поймет,​ что это EFS раздел и не будет с него загружаться. Доверьте установщику выполнить работу,​ которую он умеет делать хорошо - делайте EFS раздел из установщика.</​note>​ <note important>​EFS раздел лучше создавать из установщика. Когда вы делаете его сами через gparted/​parted/​fdisk,​ то есть шанс сделать что-то не так (например выберете FAT16 вместо FAT32) и тогда UEFI не поймет,​ что это EFS раздел и не будет с него загружаться. Доверьте установщику выполнить работу,​ которую он умеет делать хорошо - делайте EFS раздел из установщика.</​note>​
 +
 ===== MBR и GPT ===== ===== MBR и GPT =====
 Еще одно "​новшество"​ в индустрии относится к таблице разделов диска. ​ Еще одно "​новшество"​ в индустрии относится к таблице разделов диска. ​
Строка 56: Строка 57:
  
 К чему я упомянул про таблицы разбиения дисков?​ А к тому, что, несмотря на то, что UEFI планировалось использовать только с GPT, а BIOS обычно работает с MBR (вернее код в MBR работает с таблицей разделов расположенной в конце MBR), но в реальной жизни и BIOS (вернее сказать CSM) научили понимать GPT, и для UEFI предусмотрели использование таблицы разделов из MBR. К чему я упомянул про таблицы разбиения дисков?​ А к тому, что, несмотря на то, что UEFI планировалось использовать только с GPT, а BIOS обычно работает с MBR (вернее код в MBR работает с таблицей разделов расположенной в конце MBR), но в реальной жизни и BIOS (вернее сказать CSM) научили понимать GPT, и для UEFI предусмотрели использование таблицы разделов из MBR.
 +<​note>​EFS раздел может быть также создан в таблице разделов формата ISO9660 (стандарт используемый для разметки CD/DVD оптических лисков). Это позволяет загружаться в режиме UEFI и с CD/​DVD.</​note>​
  
 Получившаяся в результате "​солянка"​ (из 4-х допустимых вариантов:​ UEFI + MBR, UEFI + GPT, BIOS/SCM + MBR и BIOS/SCM + GPT) создает некоторую путаницу и недопонимание. Давайте попробуем во всем этом разобраться более детально. Получившаяся в результате "​солянка"​ (из 4-х допустимых вариантов:​ UEFI + MBR, UEFI + GPT, BIOS/SCM + MBR и BIOS/SCM + GPT) создает некоторую путаницу и недопонимание. Давайте попробуем во всем этом разобраться более детально.
Строка 284: Строка 286:
 <note warning>​ВНИМАНИЕ,​ если вы организовали загрузку GRUB (или другого загрузчика что вы используете) на основе только своего собственного ключа, то внимательно следите за обновлениями:​ при обновлении GRUB вам необходимо подписать новую версию GRUB своим ключом,​ иначе он не загрузится в Secure Boot режиме.</​note>​ <note warning>​ВНИМАНИЕ,​ если вы организовали загрузку GRUB (или другого загрузчика что вы используете) на основе только своего собственного ключа, то внимательно следите за обновлениями:​ при обновлении GRUB вам необходимо подписать новую версию GRUB своим ключом,​ иначе он не загрузится в Secure Boot режиме.</​note>​
  
-<​note>​Собственно ISO образ UBUNTU - гибридный,​ на нем в мастер запись стандарта ISO9660 (CD/DVD формат дисков) внедрена MBR запись. И код 0-вой стадии загрузки grub-pc прописан как в MBR так и в загрузочную запись ISO9660. А кроме этого в MBR и в таблице разделов ISO9660 определен ​EFS раздел ​с загрузчиком SHIM/GRUB помещенным по пути EFI\BOOT\BOOTx64.EFI - т.е. пути определенному стандартом UEFI как путь к загрузчику по умолчанию.+<​note>​Собственно ISO образ UBUNTU - гибридный,​ на нем в мастер запись стандарта ISO9660 (CD/DVD формат дисков) внедрена MBR запись. ​ 
 +Используется ​одновременно два загрузчика:  
 +  ​isolinux (вариант загрузчика [[https://​ru.wikipedia.org/​wiki/​Syslinux|syslinux]]) он используется для загрузки в BIOS режиме и размещается в MBR и специальной ​загрузочной записи ISO9660 ​стандарта, подробнее - [[http://​wiki.osdev.org/​El-Torito|тут]]). 
 +  - grub (вариант grub-efi) он используется для загрузки ​в UEFI режиме
 + 
 +EFS раздел ​(необходимый для ​загрузки в UEFI режиме) прописан и в таблицу записей в MBR, и в каталог записей iso9660 формата. По UEFI стандарту загрузчик по умолчанию ​должен находится в EFS разделе по пути: EFI\BOOT\grubx64.efi
  
 Такой "​винегрет"​ позволяет грузиться с такого образа в следующих режимах:​ Такой "​винегрет"​ позволяет грузиться с такого образа в следующих режимах:​
-  ​- Элемент нумерованного списка- в режиме BIOS/SCM +  - в режиме BIOS/SCM 
-    - как с CD/DVD (0-вая фаз grub-pc ​берется из загрузочной записи ISO9660 стандарта,​ подробнее - [[http://​wiki.osdev.org/​El-Torito|тут]]+    - как с CD/DVD (код isolinux ​берется из загрузочной записи ISO9660 стандарта,​ подробнее - тут) 
-    - как с HDD/​USB-Flash (0-вая фаза grub-pc ​берется из MBR)+    - как с HDD/​USB-Flash (код isolinux ​берется из MBR)
   - в режиме UEFI   - в режиме UEFI
     - как с CD/DVD (EFS раздел находится в каталоге записей ISO9660, и оттуда запускается EFI\BOOT\BOOTx64.EFI)     - как с CD/DVD (EFS раздел находится в каталоге записей ISO9660, и оттуда запускается EFI\BOOT\BOOTx64.EFI)
     - как с HDD/​USB-Flash (EFS раздел находится в таблице разделов MBR, и оттуда запускается EFI\BOOT\BOOTx64.EFI)     - как с HDD/​USB-Flash (EFS раздел находится в таблице разделов MBR, и оттуда запускается EFI\BOOT\BOOTx64.EFI)
  
-В EFI\BOOT\BOOTx64.EFI ​на самом деле ​лежит не GRUB, а SHIM (это для загрузки в режиме SecureBoot),​ а сам grubx64.efi (начальная стадия grub-efi) лежит рядом (EFI\BOOT\grubx64.efi) и его запускает SHIM.+Кстати в EFI\BOOT\BOOTx64.EFI лежит не сам ​GRUB, а SHIM. Сам grubx64.efi (начальная стадия grub-efi) лежит рядом (EFI\BOOT\grubx64.efi) и его запускает SHIM. (SHIM имеет валидную подпись ключом от MicroSoft).
  
 Такой образ легко записать на флешку простой командой: ​ Такой образ легко записать на флешку простой командой: ​