Меню

Bootp что это – Разница между BOOTP и DHCP

Leave a comment

bootp Википедия

BOOTP
Название Bootstrap Protocol
Уровень (по модели OSI) прикладной
Семейство TCP/IP
Создан в 1985
Порт/ID 67/UDP (сервер),
68/UDP (клиент)[1]
Назначение протокола получение сетевой конфигурации
Спецификация RFC 951, RFC 1542

BOOTP (от англ. bootstrap protocol) — сетевой протокол, используемый для автоматического получения клиентом IP-адреса. Это обычно происходит во время загрузки компьютера. BOOTP определён в RFC 951.

BOOTP как и RARP обеспечивает определение с помощью специального сервера IP-адреса клиента по его MAC адресу (например, при загрузке устройства, не имеющего возможности хранить свой собственный IP-адрес), а также позволяет клиентам узнавать другие параметры загрузки (например, имя программы, загружаемой затем с помощью TFTP) и использует UDP в качестве протокола транспортного уровня. Это позволяет использовать маршрутизаторы (bootp relay) для передачи запросов и ответов из одного сегмента локальной сети в другой. Протокол DHCP (англ. Dynamic Host Configuration Protocol) является надстройкой над BOOTP (для совместимости с bootp relay) и позволяет серверу выделять IP-адреса клиентам динамически на ограниченный срок.

История[ | ]

Обслуживающий персонал тех (?) лет столкнулся с проблемами постоянного подключения и перемещения новых устройств, а также с необходимостью изменения сетевой конфигурации для соответствия современным требованиям к сетям. Все это привело к необходимости создания механизма для автоматизации конфигурации сетевых узлов, распределенных операционных систем и сетевого программного обеспечения. Наиболее эффективным способом реализации такого механизма может быть сохранение конфигурационных параметров и образов программного обеспечения на одном или нескольких серверах загрузки (boot server). Во время запуска система взаимодействует с таким сервером, получает от него начальные параметры конфигурации и при необходимости загружает с него нужное программное обеспечение.

BOOTP был введен в RFC 951 как замена устаревшему RARP. Первоначально ВООТР разрабатывался для бездисковых рабочих станций. Современные условия привели к необходимости автоматизации загрузки систем, имеющих в ПЗУ только базовые средства для IP, UDP и TFTP. Исходный сценарий загрузки выглядел следующим образом:

  • Клиент отправляет в широковещательной рассылке сообщение UDP на загрузочную информацию.
  • Сервер возвращает клиенту его IP-адрес и, при необходимости, местоположение файла загрузки.
  • С помощью простейшего протокола пересылки файлов TFTP (англ. Trivial File Transfer Protocol) клиент загружает в собственную память необходимое программное обеспечение и начинает работу.

Формат сообщения BOOTP[ | ]

Для запроса и ответа загрузки используется одинаковый формат сообщения. В запросе некоторые поля имеют нулевые значения.

Структура пакета BOOTP[2]:

Смещение
сегмента
Длина,
октет
Описание
0 1 Op

ru-wiki.ru

DHCP и BOOTP 2019

DHCP против BOOTP

Многие люди уже хорошо знакомы с DHCP (Dynamic Host Configuration Protocol), поскольку он очень распространен во многих сетях, будь то корпоративный или домашний. То, что многие люди не знают, заключается в том, что DHCP был предназначен для преемника более старого протокола Bootstrap, более часто называемого BOOTP для адаптации к меняющимся потребностям отрасли.

BOOTP был разработан для предоставления IP-адреса во время загрузки или во время загрузки компьютера. BOOTP также может указывать клиенту местоположение файла изображения, содержащего операционную систему, который может использоваться тонкими клиентами или бездисковыми компьютерами.

DHCP фокусируется на предоставлении IP-адресов компьютерам, которые могут быть перемещены довольно часто. В отличие от BOOTP, который должен связываться с клиентом во время загрузки, DHCP может взаимодействовать с клиентом после загрузки операционной системы. Это облегчает пользователям правильное использование своих компьютеров, не перезагружая компьютер все время. Перезагрузка необходима для BOOTP, так как это единственный способ, которым клиент может продлить аренду, назначенную ему.

Продолжительность времени аренды по умолчанию также отражает цель обоих протоколов. BOOTP не ожидает, что компьютеры, подключенные к сети, будут перемещаться часто. Поэтому он обеспечивает длительную аренду по умолчанию на 30 дней по IP-адресу для каждого компьютера. DHCP требует, чтобы срок аренды истекал довольно быстро или у него не хватило IP-адресов для предоставления новым компьютерам. Поэтому он обеспечивает более короткий срок аренды по умолчанию 8 дней.

Доказано, что DHCP намного превосходит BOOTP. Единственная причина, по которой люди могут использовать BOOTP, - это иметь дело с бездисковыми компьютерными системами, которым необходимо найти свой файл изображения.

Резюме: 1. DHCP был разработан для замены старого BOOTP 2. BOOTP может предоставлять IP только компьютеру во время загрузки, тогда как DHCP может предоставить IP-адрес, когда ОС уже загружена 3. DHCP в основном используется для плавного предоставления IP-адресов компьютерам, в то время как BOOTP используется для настройки и загрузки бездисковых компьютеров или тонких клиентов 4. BOOTP имеет 30-дневную аренду по IP-адресу по умолчанию, тогда как DHCP устанавливает только 8 по умолчанию 5. DHCP может автоматически переподтверждать или возобновлять аренду, а BOOTP требует перезагрузки системы

ru.esdifferent.com

Bootstrap Protocol - это... Что такое Bootstrap Protocol?

BOOTP
Название:

bootstrap protocol

Уровень (по модели OSI):

сетевой[1][нет в источнике][неавторитетный источник?]

Семейство:

TCP/IP

Создан в:

1985 г.

Порт/ID:

67, 68 / UDP

Назначение протокола:

получение сетевой конфигурации

Спецификация:

RFC 951

BOOTP (от англ. bootstrap protocol) — сетевой протокол, используемый для автоматического получения клиентом IP-адреса. Это обычно происходит во время загрузки компьютера. BOOTP определён в RFC 951.

BOOTP позволяет бездисковым рабочим станциям получать IP-адрес прежде, чем будет загружена полноценная операционная система. Исторически это использовалось для Unix-подобных бездисковых станций, которые в том числе могли получать информацию о местоположении загрузочного диска посредством этого протокола. А также большими корпорациями для установки предварительно настроенного программного обеспечения (например, операционной системы) на новоприобретённые компьютеры.

Изначально предполагалось использование дискет для установки предварительного сетевого соединения, но позже поддержка протокола появилась в BIOS некоторых сетевых карт и во многих современных материнских платах.

DHCP (Dynamic Host Configuration Protocol) — протокол, основанный на BOOTP, предоставляющий некоторые дополнительные возможности и являющийся более сложным. Многие DHCP-серверы поддерживают и BOOTP.

Инкапсуляция происходит следующим образом: BOOTP->UDP->IP->…[уточнить]

В системе Linux RHEL это можно указать в конфигурационном файле конкретной сетевой карты (/etc/sysconfig/network-scripts/ifcfg-ethX) параметром BOOTPROTO=bootp

Примечания

См. также

dic.academic.ru

Назначение адресов узлам сети. Протоколы bootp и dhcp.

Лекция 10. Сетевой уровень 08.03.20174:50:01

Протокол ARP

Этот протокол предназначен для преобразования IP-адресов в МАС - адреса канального уровня. Рассмотрим локальную вычислительную сеть, построенную на основе использования протоколов семейства Ethernet. Для организации соединений на сетевом уровне применяется стек протоколов TCP/IP. IP- пакеты, содержащие в заголовке IP-адрес устройства назначения, передаются на канальный уровень в ПО компьютера и инкапсулируются в кадры. В заголовке кадра должен быть МАС - адрес устройства назначения. Таким образом, для работы сети необходим алгоритм, обеспечивающий установление соответствия между IP-адресом устройства и его МАС - адресом. Для реализации этого алгоритма и разработан протокол разрешения адресов ARP (Address Resolution Protocol) и программное обеспечение в составе стека TCP/IP. Для определения МАС - адреса устройства назначения IP-пакета передающее устройство отправляет в сеть широковещательный (broadcast) запрос с заголовком Ethernet, включающим:

1) Поля с адресами источника и назначения Ethernet.

При этом используется специальный адрес назначения Ethernet, состоящий из всех единиц, означающий широковещательный адрес. Кадры с таким адресом будут получены всеми Ethernet интерфейсами сегмента сети.

2) Двухбайтовый тип кадра (frame type) Ethernet указывающий, данные какого типа пойдут следом. Для ARP запроса или ARP отклика это поле содержит 0x0806.

Вкладываемый в кадр ARP запрос имеет следующий формат:

Тип оборудования – тип интерфейса, аппаратный адрес которого запрашивается, для Ethernet это значение равно единице.

Тип протокола - указывает тип адреса используемого протокола. Для IP адресов используется значение 0x0800.

HA-len – длина аппаратного адреса. В ARP запросах и откликах для Ethernet 6 байт.

PA-len - длина адреса протокола. В ARP запросах и откликах для IP-адреса 4 байта.

Код операции указывает на тип операции: ARP запрос (значение устанавливается в 1), ARP отклик (2), RARP запрос (3) и RARP отклик (4). (протокол RARP является дополнением к протоколу ARP и решает обратную задачу определения IP-адреса для заданного МАС-адреса) Это поле необходимо, так как поля типа фрейма (frame type) одинаковы для ARP запроса и ARP отклика.

Следующие четыре поля: аппаратный адрес отправителя (Ethernet адрес в рассматриваемом случае), адрес протокола (IP адрес), аппаратный адрес назначения и адрес протокола назначения. Обратите внимание, что в данном случае происходит некоторое дублирование информации: аппаратный адрес отправителя может быть получен как из Ethernet заголовка, так и из ARP запроса.

Из структуры ARP – запроса видно, что это достаточно универсальный протокол и рассчитан на использование отнюдь не только в сетях Ethernet.

Кадр ARP- запроса принимают и анализируют все сетевые устройства. Получатель по наличию своего IP- адреса определяет, что запрос адресован ему, и отправляет ответный пакет, в заголовке которого указан MAC - адрес передатчика, а в составе пакета содержится МАС - адрес получателя. Передатчик получает этот пакет, определяет МАС - адрес получателя и подставляет его во все кадры, инкапсулирующие IP- пакеты, которые должны быть переданы получателю.

IP-адреса и маски назначаются узлам при их конфигурировании вручную или автоматически с использованием специализированных серверов. Ручное назначение адресов требует внимания — некорректное назначение адресов и масок приводит к невозможности связи по IP, однако с точки зрения надежности и безопасности (защиты от несанкционированного доступа) оно имеет свои преимущества. С другой стороны для достаточно масштабной сети централизованная система управления адресным пространством, а значит и централизованное назначение адресов, практически не имеют альтернативы.

Примером протокола данного типа является BootP (Bootstrap Protocol). Данный протокол разрабатывался во времена, когда сети еще не были слишком большими и не представлялось принципиально трудным прописать сетевые настройки каждого из хостов вручную. Поэтому он был предназначен для решения проблемы загрузки и конфигурирования для работы в сети бездисковых станций. Такие станции не имели возможности хранить у себя код операционной системы и загружали его с соответствующего сетевого сервера. Но чтобы сделать даже это необходимо быть уже сконфигурированным узлом сети, т.е. как минимум иметь определенный сетевой адрес. При включении же бездисковая рабочая станция располагает только аппаратным адресом своего интерфейса и простейшую стартовую программу, хранимую в ПЗУ..

Поэтому при инициализации такой узел посылает широковещательный запрос, на который BootP-сервер ответит пакетом с IP-адресом, маской, а также адресами шлюзов (gateways) и серверов службы имен (nameservers). Эти данные хранятся на сервере в списке, составленном по МАС-адресам клиентов BootP. Естественно, что по отключении узла его IP-адрес не может быть использован другими узлами.

Рассмотрим формат 300-байтного BOOTP запроса и отклика:

Первое однобайтное поле несет код операции. Значение 1 говорит о том, что данное сообщение является запросом, а значение 2 указывает на то, что сообщение является откликом.

Значение полей «тип аппаратуры» и «длина аппаратного адреса» (H-тип и Hlen) очевидно из названия. Для Ethernet H-тип=1, а HLen=6.

Счетчик пересылок (hop count) устанавливается клиентом в 0, однако может быть использован уполномоченным сервером.

Идентификатор транзакции (transaction ID) - 32-битное целое число, которое устанавливается клиентом и возвращается сервером. Оно позволяет клиенту сопоставить отклик с запросом. Клиент устанавливает в это поле случайное число для каждого запроса.

В поле количество секунд (number of seconds) клиент записывает время, когда он предпринял первую попытку загрузиться. На основании значения этого поля вторичный сервер делает вывод о том, что первичный сервер не доступен. (Вторичный сервер делает подобный вывод если величина в поле количества секунд достигла определенного значения.)

Если клиент уже знает свой IP адрес, он заполняет поле IP адрес клиента (client IP address). Есле нет - клиент устанавливает это значение в 0. В последнем случае сервер вставляет в поле ваш IP адрес (your IP address) IP адрес клиента. Поле IP адрес сервера (server IP address) заполняется сервером.

Для протокола BootP предоставление клиенту конфигурационной информации является только первым этапом работы. После его завершения он обеспечивает загрузку операционной системы с о специализированного сервера. Все необходимое для выполнения данной процедуры в нем также предусмотрено.

Развитием BOOTP является DHCP (Dynamic Host Configuration Protocol) — протокол, обеспечивающий автоматическое динамическое назначение IP-адресов и масок подсетей для узлов-клиентов DHCP-сервера. Адреса вновь активированным узлам назначаются автоматически из области адресов (пула), выделенных DHCP-серверу. По окончании работы узла его адрес возвращается в пул и в дальнейшем может назначаться для другого узла. Применение DHCP облегчает инсталляцию и диагностику для узлов, а также снимает проблему дефицита IP-адресов.

DHCP является инструментом системного администратора. управляемым путем задания желательных конфигурационных параметров.

К этому протоколу предъявляется много требований. Каждый клиент должен быть способен автоматически получить локальные конфигурационные параметры. При этом не обязательно, чтобы в каждой подсети был свой DHCP сервер.

Клиент DHCP вполне может получить несколько откликов на запрос конфигурационных параметров, поскольку для повышения надежности и быстродействия можно использовать несколько DHCP-серверов, обслуживающих перекрывающиеся области сети. И клиент должен уметь сделать выбор в такой ситуации.

DHCP должен при этом уметь сосуществовать с ЭВМ, сконфигурированым вручную.

DHCP должен обслуживать существующих клиентов BOOTP

DHCP должен гарантировать, что любой специфический сетевой адрес не будет использоваться более чем одним клиентом DHCP одновременно.

Протокол должен поддерживать конфигурацию клиента при перезагрузке сервера, и, по мере возможности, DHCP-клиенту должен присваиваться один и тот же набор конфигурационных параметров.

DHCP поддерживает три механизма выделения IP-адресов. При "автоматическом выделении", DHCP присваивает клиенту постоянный IP-адрес. При "динамическом присвоении", DHCP присваивает клиенту IP-адрес на ограниченное время. При "ручном выделении", IP-адрес выделяется клиенту сетевым администратором, а DHCP используется просто для передачи адреса клиенту. Конкретная сеть использует один или более этих механизмов, в зависимости от политики сетевого администратора.

studfile.net

Reboot to bootloader — что это и зачем нужно?

Функции, особенности и управление функцией «Reboot to bootloader» на телефоне.

После включения смартфона активируется специальный загрузчик Bootloader — он запускает ядро операционной системы Android и важное программное обеспечение, которое обеспечивает стабильную работу гаджета. В устройствах на Android есть специальная функция «Reboot to bootloader». Она дает возможность пользователям перейти в промежуточной этап между запуском системы и загрузчик. По принципу действия функция похожа на BIOS, который есть на любом компьютере.

Как войти в режим «Reboot to bootloader» на телефоне?

Чтобы перейти в режим «Reboot to bootloader» на телефоне, во время запуска гаджета нужно зажать кнопку включения и клавишу уменьшения громкости. На устройствах от Samsung алгоритм немного отличается: вместо клавиши громкости нужно удерживать кнопку «Домой».

Если войти в меню не получается, а при использовании описанного алгоритма не происходит никаких действий, значит функция «Reboot to bootloader» заблокирована на аппаратном уровне.

Reboot to bootloader

Зачем нужна функция «Reboot to bootloader»?

Управление функциями «Reboot to bootloader» и переключение между доступными инструментами выполняется через клавиши громкости. Перемещаться по меню можно в двух направлениях: вверх и вниз. В разделе можно посмотреть детальную информацию о телефоне, а также выполнить тестирование операционной системы. Среди доступных функций есть:

  • Разблокировка загрузчика для получения Root-прав на смартфон.
  • Установка сторонней программы на гаджет — для этого не потребуется пользоваться официальным магазином приложений Google Play.
  • Инструмент для отладки приложений и удаления программ, которые нельзя удалить стандартными средствами операционной системы (так называемый «вшитый» софт от производителя).
  • Очистка кэша смартфона (есть и более простые методы) от скопления «мусорных» файлов, которые снижают производительность смартфона.
  • Сброс смартфона к заводским настройкам (также есть способ полегче). При выполнении этого действия нужно помнить, что все данные и настройки телефона будут удалены.

Reboot to Bootloader

Риски использования функции «Reboot to bootloader»

При использовании системного раздела Reboot to bootloader важно помнить о возможных рисках, прежде чем вносить какие-либо изменения в систему. После выполнения операций в операционной системе могут появиться ошибки, которые повлияют на стабильную работу устройства. Например, с гаджета могут удалиться важные файлы, из-за которых он перестанет включаться.

Есть риск повреждения важных данных, например, контактов или фотографий. После этого будет сложно восстановить доступ к информации. Перед тем, как пользоваться функцией «Reboot to bootloader», нужно сделать резервные копии основных файлов и персональных данных.

Еще важно не путать разные «виды ребутов» на Android. Вот подробная статья.

Reboot to Bootloader Загрузка...

androidlime.ru

Reboot to Bootloader – что это такое Android, зачем нужен функционал

Reboot to Bootloader – что это такое AndroidReboot to Bootloader – что это такое Android

Доброго времени суток! Немногие пользователи операционной системы Андроид знают, что в их устройствах присутствует возможность перезагрузки с последующим входом в меню «Бутлоадер». Это очень полезный функционал, доступный не на всех аппаратах, но узнать о нём стоит. Reboot to Bootloader – что это такое Android, как пользоваться – узнаете из данной публикации.

Бутлоадер в RecoveryБутлоадер в Recovery

Назначение Бутлоадер

Если описать функционал вкратце, то это некое подобие BIOS на компьютере. То есть. Это своего рода промежуточное состояние, оболочка перед запуском полноценной версии системы. Предназначен для получения доступа к режиму восстановления с последующей загрузкой нормального режима работы ОС. Это бывает полезно, когда Андроид по каким-то причинам был заблокирован или слетела прошивка. Выполнив команду «Reboot to Bootloader» (RtB), Вы сможете попасть в меню, где будут доступны действия по обновлению ПО, снятию блокировки.

Стоит отметить, что производители мобильных устройств предпринимают все попытки, чтобы пользователи не могли устанавливать сторонние (неофициальные) прошивки. Но с применением Бутлоалера реально обойти все запреты. Это своего рода загрузочная запись, из которой берется информация о порядке запуска смартфона – какие службы и аппаратные составляющие должны загружаться и включаться в работу первыми, а какие – позже.

Обладая подобным функционалом, владельцы гаджетов могут не просто менять версию операционной системы, но и удалять любые предустановленные приложения, активировать root доступ, сбрасывать параметры к заводским и не только.

Стоит отметить, что опция «Reboot to Bootloader» доступна не для каждой модели, и внешний вид меню может существенно отличаться.

Кстати, если на аппарате открыт Рут-доступ, то нет необходимости заходить в режим Рекавери для RtB. Достаточно воспользоваться бесплатной утилитой Holo Reboot.

Варианты перезагрузки в программе Ребут менюВарианты перезагрузки в программе Ребут меню

Еще одним плюсом Бутлоадер является возможность устранения программных сбоев. Это полезно, когда Вы редко перезапускаете систему (а делать это желательно хотя бы раз в неделю). Также, опция поможет устранить вирусы в виде неудаляемого софта или всплывающей рекламы Android.

Наверно, Вы уже запутались в теории и хотели бы перейти к практической части. Сейчас всё будет!

Автор рекомендует:


Основы использования Reboot to bootloader

Что это значит – я рассказал выше. А теперь – важные рекомендации:

  • Все, что Вы делаете в Бутлоадер (главном загрузчике Андроид) – выполняйте на свой страх и риск. Я не несу никакой ответственности за проблемы, возникающие в процессе манипуляций. Вероятность выхода устройства из строя достаточно высока, если произвести некорректные операции;
  • Риск потери данных тоже немаленький. Желательно заблаговременно создавать резервные копии на сторонних носителях. Иначе можно при попытке разблокировать телефон с помощью RtB потерять важную информацию.

Запуск оболочки следует выполнять, когда смартфон выключен. Далее одновременно зажимаем и удерживаем две клавиши – Power (Питание, Вкл/Откл) и Громкость вниз. Для Самсунг кнопка управления звуком может быть заменена на Home.

Кнопки активации RecoveryКнопки активации Recovery

Таким образом, мы оказываемся в меню Рекавери, откуда и переходим в RtB:

Reboot Bootloader в RecoveryReboot Bootloader в Recovery

Данный способ работает практически на любых моделях, независимо от производителя (вот только внешний вид может отличаться. На скриншоте выше – пример на HTC).

Есть и второй вариант. Если у Вас разблокирован режим разработчика (Developer Mode), то можно при включенном аппарате открыть «Расширенные настройки» - «Для разработчиков» и активировать «Заводскую разблокировку» (актуально для Android 5 и выше):

Разблокировка AndroidРазблокировка Android

Затем зажимаем кнопку питания, выбираем «Перезагрузку» и должны появится режимы, среди которых есть и Бутлоадер.

Обратите внимание, что в этой статье я не углублялся в особенности прошивки и продвинутого применения описываемого функционала. Дело в том, что каждая ситуация индивидуальна, и советовать что-то одно – это неправильный подход. Я поведал Reboot to Bootloader – что это такое Android, а если захотите узнать конкретно по своему смартфону (как, что делается), то рекомендую посетить самый авторитетный форум 4PDA.

С уважением, Виктор!

Развитие мозга по максимомуРазвитие мозга по максимому

it-tehnik.ru

Немного про UEFI и Secure Boot / Habr

UEFI

UEFI (Unified Extensible Firmware Interface) — замена устаревшему BIOS. Эта спецификация была придумана Intel для Itanium, тогда она еще называлась EFI (Extensible Firmware Interface), а потом была портирована на x86, x64 и ARM. Она разительно отличается от BIOS как самой процедурой загрузки, так и способами взаимодействия с ОС. Если вы купили компьютер в 2010 году и позже, то, вероятнее всего, у вас UEFI.
Основные отличия UEFI от BIOS:

  • Поддержка GPT (GUID Partition Table)

GPT — новый способ разметки, замена MBR. В отличие от MBR, GPT поддерживает диски размером более 2ТБ и неограниченное количество разделов, в то время как MBR поддерживает без костылей только 4. UEFI по умолчанию поддерживает FAT32 с GPT-разделов. MBR сам UEFI не поддерживает, поддержка и загрузка с MBR осуществляется расширением CSM (Compatibility Support Module).
  • Поддержка сервисов

В UEFI есть два типа сервисов: boot services и runtime services. Первые работают только до загрузки ОС и обеспечивают взаимодействие с графическими и текстовыми терминалами, шинами, блочными устройствами и т.д., а runtime services может использовать ОС. Один из примеров runtime services — variable service, который хранит значения в NVRAM. ОС Linux использует variable service для хранения креш дампов, которые можно вытащить после перезагрузки компьютера.
  • Модульная архитектура

Вы можете использовать свои приложения в UEFI. Вы можете загружать свои драйверы в UEFI. Нет, правда! Есть такая штука, как UEFI Shell. Некоторые производители включают его в свой UEFI, но на моем лаптопе (Lenovo Thinkpad X220) его нет. Но можно его просто скачать из интернета и поставить на флешку или жесткий диск. Также существуют драйверы для ReiserFS, ext2/3/4 и, возможно, еще какие-то, я слишком не углублялся. Их можно загрузить из UEFI Shell и гулять по просторам своей файловой системы прямо из UEFI.
Еще UEFI поддерживает сеть, так что если найдете UEFI-драйвер к своей сетевой карте, или если он включен производителем материнской платы, то можете попинговать 8.8.8.8 из Shell.
Вообще, спецификация UEFI предусматривает взаимодействия драйверов UEFI из ОС, т.е. если у вас в ОС нет драйвера на сетевую карту, а в UEFI он загружен, то ОС сможет использовать сетевую карту через UEFI, однако таких реализаций я не встречал.
  • Встроенный менеджер загрузки

В общем случае, для UEFI не требуется ставить загрузчик, если вы хотите мультизагрузку. Можно добавлять свои пункты меню, и они появятся в загрузочном меню UEFI, прямо рядом с дисками и флешками. Это очень удобно и позволяет грузить Linux вообще без загрузчика, а сразу ядро. Таким образом, можно установить Windows и Linux без сторонних загрузчиков.
Как происходит загрузка в UEFI?

С GPT-раздела с идентификатором EF00 и файловой системой FAT32, по умолчанию грузится и запускается файл \efi\boot\boot[название архитектуры].efi, например \efi\boot\bootx64.efi
Т.е. чтобы, например, создать загрузочную флешку с Windows, достаточно просто разметить флешку в GPT, создать на ней FAT32-раздел и просто-напросто скопировать все файлы с ISO-образа. Boot-секторов больше нет, забудьте про них.
Загрузка в UEFI происходит гораздо быстрее, например, загрузка моего лаптопа с ArchLinux с нажатия кнопки питания до полностью работоспособного состояния составляет всего 30 секунд. Насколько я знаю, у Windows 8 тоже очень хорошие оптимизации скорости загрузки в UEFI-режиме.
Secure Boot

Я видел много вопросов в интернете, вроде:
«Я слышал, что Microsoft реализовывает Secure Boot в Windows 8. Эта технология не позволяет неавторизированному коду выполняться, например, бутлоадерам, чтобы защитить пользователя от malware. И есть кампания от Free Software Foundation против Secure Boot, и многие люди были против него. Если я куплю компьютер с Windows 8, смогу ли я установить Linux или другую ОС? Или эта технология позволяет запускать только Windows?»

Начнем с того, что эту технологию придумали не в Microsoft, а она входит в спецификацию UEFI 2.2. Включенный Secure Boot не означает, что вы не сможете запустить ОС, отличную от Windows. На самом деле, сертифицированные для запуска Windows 8 компьютеры и лаптопы обязаны иметь возможность отключения Secure Boot и возможность управления ключами, так что беспокоится тут не о чем. Неотключаемый Secure Boot есть только на планшетах на ARM с предустановленной Windows!

Что дает Secure Boot? Он защищает от выполнения неподписанного кода не только на этапе загрузки, но и на этапе выполнения ОС, например, как в Windows, так и в Linux проверяются подписи драйверов/модулей ядра, таким образом, вредоносный код в режиме ядра выполнить будет нельзя. Но это справедливо только, если нет физического доступа к компьютеру, т.к., в большинстве случаев, при физическом доступе ключи можно заменить на свои.

В Secure Boot есть 2 режима: Setup и User. Первый режим служит для настройки, из него вы можете заменить PK (Platform Key, по умолчанию стоит от OEM), KEK (Key Exchange Keys), db (база разрешенных ключей) и dbx (база отозванных ключей). KEK может и не быть, и все может быть подписано PK, но так никто не делает, вроде как. PK — это главный ключ, которым подписан KEK, в свою очередь ключами из KEK (их может быть несколько) подписываются db и dbx. Чтобы можно было запустить какой-то подписанный .efi-файл из-под User-режима, он должен быть подписан ключом, который в db, и не в dbx.

Для Linux есть 2 пре-загрузчика, которые поддерживают Secure Boot: Shim и PRELoader. Они похожи, но есть небольшие нюансы.
В Shim есть 3 типа ключей: Secure Boot keys (те, которые в UEFI), Shim keys (которые можно сгенерировать самому и указать при компиляции), и MOKи (Machine Owner Key, хранятся в NVRAM). Shim не использует механизм загрузки через UEFI, поэтому загрузчик, который не поддерживает Shim и ничего не знает про MOK, не сможет выполнить код (таким образом, загрузчик gummiboot не будет работать). PRELoader, напротив, встраивает свои механизмы аутентификации в UEFI, и никаких проблем нет.
Shim зависит от MOK, т.е. бинарники должны быть изменены (подписаны) перед тем, как их выполнять. PRELoader же «запоминает» правильные бинарники, вы ему сообщаете, доверяете вы им, или нет.
Оба пре-загрузчика есть в скомпилированном виде с валидной подписью от Microsoft, поэтому менять UEFI-ключи не обязательно.

Secure Boot призван защитить от буткитов, от атак типа Evil Maid, и, по моему мнению, делает это эффективно.
Спасибо за внимание!

habr.com

Отправить ответ

avatar
  Подписаться  
Уведомление о