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

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
uefi [2016/10/26 11:04]
[Возврат в режим Setup]
uefi [2016/12/22 21:18]
удалено
Строка 8: Строка 8:
  
 ==== BIOS ==== ==== BIOS ====
-Старый добрый BIOS отвечает за первичное тестирование ​ ([[https://​ru.wikipedia.org/​wiki/​POST_(%D0%B0%D0%BF%D0%BF%D0%B0%D1%80%D0%B0%D1%82%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5)|POST]]),​ инициализацию практически всего аппаратного обеспечения компьютера и за инициализацию загрузки ОС с дискового носителя (хотя сегодня уже не все носители имеют в своей конструкции диск :-) ).+Старый добрый BIOS отвечает за первичное тестирование ​ ([[https://​ru.wikipedia.org/​wiki/​POST_(%D0%B0%D0%BF%D0%BF%D0%B0%D1%80%D0%B0%D1%82%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5)|POST]]),​ инициализацию практически всего аппаратного обеспечения компьютера и за инициализацию загрузки ОС с дискового носителя (хотя сегодня уже не все носители имеют в своей конструкции диск :-) ). Собственно вся процедура инициализации загрузки ОС заключалась в двух шагах:​ 
 +  - по настройкам BIOS найти устройство (диск) с которого надо загрузиться. 
 +  - считать в память MBR, т.е. первый сектор (512 байт) диска и запустить находящийся там код на исполнение. 
 +За все остальное (даже за работу с таблицей разделов,​ которая располагается в конце MBR) отвечает тот самый маленький код, который расположен в первых 446 байтах MBR.
  
 Проблемой BIOS принято считать то, что много работы он делает зря (чем затягивает процесс загрузки системы). Практически всю его работу по инициализации и поддержке оборудования компьютера все современные ОС попросту игнорируют и повторно инициализируют и далее работают через свои драйвера. Все, что дает BIOS, было реально востребовано только в ранних версиях DOS... Проблемой BIOS принято считать то, что много работы он делает зря (чем затягивает процесс загрузки системы). Практически всю его работу по инициализации и поддержке оборудования компьютера все современные ОС попросту игнорируют и повторно инициализируют и далее работают через свои драйвера. Все, что дает BIOS, было реально востребовано только в ранних версиях DOS...
  
-Другой проблемой являются ограничения,​ которые установлены для поддержки BIOS: это 16-ти разрядный реальный режим работы процессора с набором команд i8086, 1Мб адресуемого пространства памяти и периферия (клавиатура,​ видео адаптер,​ контроллер прямого доступа в память) совместимая с IBM AT. На сегодняшний день, требовать от 64-х разрядного многоядерного процессора совместимости с 16-разрядным i8086 - уже немного смешно,​ а требование совместимости по периферии с IBM AT уже даже не смешно,​ а очень грустно.+Другой проблемой являются ограничения,​ которые установлены для поддержки BIOS: это 16-ти разрядный реальный режим работы процессора с набором команд i8086, 1Мб адресуемого пространства памяти и периферия (клавиатура,​ видео адаптер,​ контроллер прямого доступа в память) совместимая с IBM AT. На сегодняшний день, требовать от 64-х разрядного многоядерного, многопоточного процессора совместимости с одноядерным и однопоточным ​16-разрядным i8086 - уже немного смешно,​ а требование совместимости по периферии с IBM AT уже даже не смешно,​ а очень грустно.
  
 ==== (U)EFI ==== ==== (U)EFI ====
-Идея отказаться от всего того ненужного,​ что делает BIOS, снять ограничения BIOS и сделать процесс инициализации и загрузки более гибким возникала уже очень давно, и различные попытки сделать это предпринимались,​ но IT-индустрия реально созрела к принятию нового общего стандарта загрузки персональных компьютеров только в начале этого века. В 2005 был создан консорциуму 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 или ARM, а также Intel Itanium процессоры. Кроме того UEFI имеет собственный менеджер загрузки и умеет работать с файловыми системами на диске (по умолчанию только FAT32) и умеет загружать драйвера для оборудования.\\+Основные концепции положенные в основу UEFI - "​минималистичность",​ "​модульность"​ и независимость от процессора. Прошивка UEFI может быть собрана под 32-битный или 64-битный процессоры Intel, 32-х или ​64-х битный ​ARM процессор, а также Intel Itanium процессоры. Кроме того UEFI имеет собственный менеджер загрузки и умеет работать с файловыми системами на диске (по умолчанию только FAT32) и умеет загружать драйвера для ​поддержки различного ​оборудования ​и файловых систем.\\
 После включения компьютера и проведения первичного теста оборудования (на этом этапе разницы с BIOS нет) инициализируются только те подсистемы,​ которые необходимые для загрузки. После включения компьютера и проведения первичного теста оборудования (на этом этапе разницы с BIOS нет) инициализируются только те подсистемы,​ которые необходимые для загрузки.
  
 В некоторых режимах загрузки,​ которые обычно называют Fast-boot (или Fast-Startup) даже клавиатура может оставаться не инициализированной пока не загрузится ОС. Некоторые настройки Fast-boot могут отключать работу со всеми USB устройствами и не будет возможности даже выбрать с чего грузится компьютеру,​ ведь клавиатура не работает до тех пор, пока не загрузится ОС.  В некоторых режимах загрузки,​ которые обычно называют Fast-boot (или Fast-Startup) даже клавиатура может оставаться не инициализированной пока не загрузится ОС. Некоторые настройки Fast-boot могут отключать работу со всеми USB устройствами и не будет возможности даже выбрать с чего грузится компьютеру,​ ведь клавиатура не работает до тех пор, пока не загрузится ОС. 
  
-Причем,​ в отличии от BIOS, все компоненты которого записаны в постоянную(флеш) память,​ UEFI хранит часть своего кода на диске - в специальном разделе ESP((на самом деле ESP раздел может быть и на флеш-памяти и даже на сетевом хранилище,​ но эта экзотика (предусмотренная стандартом) вряд ли будет востребована простыми пользователями)). Это позволяет легко расширять,​ менять и обновлять код поддерживающий различные устройства компьютера без необходимости перепрограммировать постоянное ЗУ компьютера. А кроме драйверов для поддержки устройств на ESP разделе может хранится и поддержка протоколов,​ утилиты и даже собственная EFI-оболочка (shell), из-под которой можно запускать собственные EFI-приложения. Т.е. UEFI по сути - маленькая ОС (или псевдо-ОС). При этом загрузчик операционной системы - становится обычным приложением,​ которое исполняется в окружении,​ предоставляемом псевдо-ОС UEFI.+Причем,​ в отличии от BIOS, все компоненты которого записаны в постоянную(флеш) память,​ UEFI может ​хранить часть своего кода на диске - в специальном разделе ESP((на самом деле ESP раздел может быть и на флеш-памяти и даже на сетевом хранилище,​ но эта экзотика (предусмотренная стандартом) вряд ли будет востребована простыми пользователями)). Это позволяет легко расширять,​ менять и обновлять код поддерживающий различные устройства компьютера без необходимости перепрограммировать постоянное ЗУ компьютера. А кроме драйверов для поддержки устройств на ESP разделе может хранится и поддержка протоколов,​ утилиты и даже собственная EFI-оболочка (shell), из-под которой можно запускать собственные EFI-приложения. Т.е. UEFI по сути - маленькая ОС (или псевдо-ОС). При этом загрузчик операционной системы - становится обычным приложением,​ которое исполняется в окружении,​ предоставляемом псевдо-ОС UEFI.
  
 UEFI реализует свой менеджер загрузки,​ он поддерживает мульти-загрузку:​ позволяет выбирать загрузку из нескольких ОС и/или утилит. Загрузчик ОС - это просто efi-приложение,​ которое хранится на ESP разделе. В ESP может храниться много приложений,​ и пункты меню загрузки могут ссылаться каждый на свое приложение (или на одно, но с передачей разных параметров). Кроме того, UEFI поддерживает ассоциацию нажатия клавиш с пунктами загрузки (выбор пункта загрузки осуществляется в зависимости от того какая нажата клавиша в момент загрузки). Т.о. UEFI берет на себя большую часть задач, которые раньше могли решать только загрузчики ОС (типа GRUB). UEFI реализует свой менеджер загрузки,​ он поддерживает мульти-загрузку:​ позволяет выбирать загрузку из нескольких ОС и/или утилит. Загрузчик ОС - это просто efi-приложение,​ которое хранится на ESP разделе. В ESP может храниться много приложений,​ и пункты меню загрузки могут ссылаться каждый на свое приложение (или на одно, но с передачей разных параметров). Кроме того, UEFI поддерживает ассоциацию нажатия клавиш с пунктами загрузки (выбор пункта загрузки осуществляется в зависимости от того какая нажата клавиша в момент загрузки). Т.о. UEFI берет на себя большую часть задач, которые раньше могли решать только загрузчики ОС (типа GRUB).
Строка 28: Строка 31:
 Архитектура UEFI позволяет также загрузить драйвера устройств (необходимые для работы ОС и для процедуры загрузки). Да и само ядро ОС можно загрузить (по крайней мере ядро Linux, собранное с опцией UEFISTUB) непосредственно из UEFI (т.е. устранить загрузчик из процесса загрузки). Такую возможность мы разберем более детально чуть позже. Архитектура UEFI позволяет также загрузить драйвера устройств (необходимые для работы ОС и для процедуры загрузки). Да и само ядро ОС можно загрузить (по крайней мере ядро Linux, собранное с опцией UEFISTUB) непосредственно из UEFI (т.е. устранить загрузчик из процесса загрузки). Такую возможность мы разберем более детально чуть позже.
  
-Как и в случае с BIOS, UEFI - это стандарт,​ реализацией которого занимаются разные поставщики решений. Поэтому в реализации UEFI стандарта в прошивках разных поставщиков могут несколько отличаться. Различия в реализации, как ​правило, касаются интерфейса утилиты ​настройки, а вот реализация методов работы ​самого ​UEFI в процессе загрузки различаться сильно не должна (по крайней мере при строгом следовании стандарту UEFI). ​Могут встречаться красивые графические ​утилиты настройки ​UEFI, иногда даже с поддержкой мыши (например от ASUS) или текстовые, с элементами псевдорафики, очень сильно напоминающих интерфейс настройки BIOS (например от AMI). Но значение имеет не способ оформления интерфейса,​ а те настройки,​ которые доступны для изменения через этот интерфейс.+Как и в случае с 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>​
 ==== ESP раздел ==== ==== ESP раздел ====
 Отдельно стоит рассмотреть служебный раздел UEFI. Отдельно стоит рассмотреть служебный раздел UEFI.
Строка 44: Строка 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 =====
 Еще одно "​новшество"​ в индустрии относится к таблице разделов диска. ​ Еще одно "​новшество"​ в индустрии относится к таблице разделов диска. ​
Строка 52: Строка 56:
 Однако уже к началу 2010-х на рынке стали появляться диски более 2Тб. Но к этому времени уже набрал популярность стандарт таблицы разделов [[https://​ru.wikipedia.org/​wiki/​%D0%A2%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_GUID|GPT]] (GUID Partition Table). В GPT установлена новая планка для размера диска: 9,4 ЗБ, т.е 9,4 × 10^21 байт (на сегодня этот размер вновь выглядит астрономически большим... :-) ) Однако уже к началу 2010-х на рынке стали появляться диски более 2Тб. Но к этому времени уже набрал популярность стандарт таблицы разделов [[https://​ru.wikipedia.org/​wiki/​%D0%A2%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_GUID|GPT]] (GUID Partition Table). В GPT установлена новая планка для размера диска: 9,4 ЗБ, т.е 9,4 × 10^21 байт (на сегодня этот размер вновь выглядит астрономически большим... :-) )
  
-К чему я упомянул про таблицы разбиения дисков?​ А к тому, что несмотря на то, что UEFI планировалось использовать только с GPT, а BIOS "​умеет"​((BIOS,​ на самом деле, понятия не имеет, ​что там и как записано в таблице ​разделов, он просто загружает 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) создает некоторую путаницу и недопонимание. Давайте попробуем во всем этом разобраться более детально.
Строка 86: Строка 91:
 <note important>​Ядро Linux загруженное не через UEFI не обеспечивает доступа к переменным UEFI, а это не позволяет изменять настройки загрузки UEFI. Поэтому,​ поставить новый Linux (что бы он загружался через UEFI) можно только предварительно загрузившись с установочного носителя через UEFI.</​note>​ <note important>​Ядро Linux загруженное не через UEFI не обеспечивает доступа к переменным UEFI, а это не позволяет изменять настройки загрузки UEFI. Поэтому,​ поставить новый Linux (что бы он загружался через UEFI) можно только предварительно загрузившись с установочного носителя через UEFI.</​note>​
 <note important>​Некоторые дистрибутивы не умеют загружаться через UEFI, если у вас таблица разделов в MBR.</​note>​ <note important>​Некоторые дистрибутивы не умеют загружаться через UEFI, если у вас таблица разделов в MBR.</​note>​
-Для загрузки через UEFI модуль CSM не нужен и если все установленные на компьютере ОС грузятся через UEFI, то CSM лучше отключить. А вот если вы организуете загрузку в режиме SecureBoot, то CSM модуль отключить просто необходимо:​ без этого, обычно,​ просто не включить режим SecureBoot или включение SecureBoot автоматически запрещает работу CSM.+Для загрузки через UEFI модуль CSM не нужениесли все установленные на компьютере ОС грузятся через UEFI, то CSM лучше отключить. А вот если вы организуете загрузку в режиме SecureBoot, то CSM модуль отключить просто необходимо:​ без этого, обычно,​ просто не включить режим SecureBoot или включение SecureBoot автоматически запрещает работу CSM.
 ===== Secure Boot ===== ===== Secure Boot =====
 Особого упоминания требует такая особенность UEFI как Secure Boot. Особого упоминания требует такая особенность UEFI как Secure Boot.
Строка 271: Строка 276:
 Введение дополнительного звена в виде shim продиктовано тем, что GRUB довольно часто обновляется и каждый раз после обновления его надо подписывать. Само собой, его гораздо проще подписать собственным ключом Canonical нежели каждый раз снова договариваться с Microsoft. Введение дополнительного звена в виде shim продиктовано тем, что GRUB довольно часто обновляется и каждый раз после обновления его надо подписывать. Само собой, его гораздо проще подписать собственным ключом Canonical нежели каждый раз снова договариваться с Microsoft.
  
-Если вы не хотите оставлять сертификаты Microsoft и производителя на своей машине((не станем называть это паранойей... кто там знает, что могло быть подписано парными ключами от тех, что лежат в этих сертификатах...)),​ то из утилиты настройки вашей материнской платы или с помощью утилит efitools можно стереть сертификаты прописанные производителем,​ и записать в UEFI (db) ключ от Canonical, тогда уже Grub (так же как и само ядро Linux) сможет загружаться в режиме Secure Boot, и shim - не нужен.+Если вы не хотите оставлять сертификаты Microsoft и производителя на своей машине((не станем называть это паранойей... кто там знает, что могло быть подписано парными ключами от тех, что лежат в этих сертификатах...)),​ то из утилиты настройки вашей материнской платы или с помощью утилит efitools можно стереть сертификаты прописанные производителем,​ и записать в UEFI (db) ключ от Canonical, тогда уже Grub (так же как и само ядро Linux) сможет загружаться в режиме Secure Boot, и shim (со своим MOK) - не нужен.
  
 Если вам не хочется даже сертификат от Canonical оставлять в своем компьютере((ну... и это тоже - не будем считать паранойей...)),​ то вы можете создать свои собственные ключи и сертификаты (как описано выше), подписать grub или само ядро Linux (утилитой sbsign из пакета sbsigntool) и записать ключи в базу данных ключей EFI (утилитами efitools).  ​ Если вам не хочется даже сертификат от Canonical оставлять в своем компьютере((ну... и это тоже - не будем считать паранойей...)),​ то вы можете создать свои собственные ключи и сертификаты (как описано выше), подписать grub или само ядро Linux (утилитой sbsign из пакета sbsigntool) и записать ключи в базу данных ключей EFI (утилитами efitools).  ​
Строка 279: Строка 284:
 Проверяйте все ваши настройки,​ проверяйте,​ что в UEFI записаны именно те ключи, что вы хотели и не забудьте проверить правильность подписей.\\ \\ Проверяйте все ваши настройки,​ проверяйте,​ что в UEFI записаны именно те ключи, что вы хотели и не забудьте проверить правильность подписей.\\ \\
 Хорошая идея: проделать все сначала на [[https://​wiki.ubuntu.com/​SecurityTeam/​SecureBoot#​VM_installation_and_preparation|виртуальной машине]].</​note>​ Хорошая идея: проделать все сначала на [[https://​wiki.ubuntu.com/​SecurityTeam/​SecureBoot#​VM_installation_and_preparation|виртуальной машине]].</​note>​
-<note warning>​ВНИМАНИЕ,​ если вы организовали загрузку GRUB (или другого загрузчика что вы используте) на основе только своего собственного ключа, то внимательно следите за обновлениями:​ при обновлении GRUB вам необходимо подписать новую версию GRUB своим ключом,​ иначе он не загрузится в Secure Boot режиме.</​note>​+<note warning>​ВНИМАНИЕ,​ если вы организовали загрузку GRUB (или другого загрузчика что вы используете) на основе только своего собственного ключа, то внимательно следите за обновлениями:​ при обновлении GRUB вам необходимо подписать новую версию GRUB своим ключом,​ иначе он не загрузится в Secure Boot режиме.</​note>​ 
 + 
 +<​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 
 +    - как с CD/DVD (код isolinux берется из загрузочной записи ISO9660 стандарта,​ подробнее - тут) 
 +    - как с HDD/​USB-Flash (код isolinux берется из MBR) 
 +  - в режиме UEFI 
 +    - как с CD/DVD (EFS раздел находится в каталоге записей ISO9660, и оттуда запускается EFI\BOOT\BOOTx64.EFI) 
 +    - как с HDD/​USB-Flash (EFS раздел находится в таблице разделов MBR, и оттуда запускается EFI\BOOT\BOOTx64.EFI) 
 + 
 +Кстати в EFI\BOOT\BOOTx64.EFI лежит не сам GRUB, а SHIM. Сам grubx64.efi (начальная стадия grub-efi) лежит рядом (EFI\BOOT\grubx64.efi) и его запускает SHIM. (SHIM имеет валидную подпись ключом от MicroSoft). 
 + 
 +Такой образ легко записать на флешку простой командой:​  
 + 
 +<note warning>​ВНИМАНИЕ! запись таким способом приводит к потере данных ранее хранившихся на флешке</​note>​ 
 + 
 +  sudo cp <​путь и имя образа UBUNTU>​.iso /​dev/​sd<​буква девайса под которой в компьютере видна флешка>​ 
 + 
 +Второй параметр - именно девайс,​ а не раздел. 
 + 
 +Образ Ubuntu копируется начиная с первого сектора устройства,​ что позволяет с него грузиться как c USB-СD/DVD и как и с USB-HDD/​USB-Flash. Причем в обоих вариантах доступна загрузка как в UEFI, так и в BIOS/CSM режимах.  
 +</​note>​
  
 ===== Другие интересные возможности UEFI ===== ===== Другие интересные возможности UEFI =====