pxe uefi boot windows

Расширяем функционал WDS: добавление возможности загрузки в UEFI

В данной статье, описаны шаги, которые необходимо выполнить для добавления к вашему WDS, возможности загрузки в режиме UEFI.

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

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

Предисловие

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

image loader

И всё было хорошо, добавлялись новые образы для загрузки, образ winPE обрастал новыми фичами и всё работало.

Но, уже далеко не все устройства поддерживают режим загрузки BIOS/Legacy, либо если поддерживают, то его включение может находится в очень неочевидном месте.

Да и установка windows в legacy режиме, когда есть возможность установки в UEFI — не круто.

В итоге решил добавить возможность загрузки в UEFI, и отправился в гугл.

Но структурированной информации, как получить рабочий WDS + UEFI, я так и не нашёл.
Собственно, поэтому я и решил написать эту статью.

Перед тем как начать, я опишу проблему, которая отняла больше всего времени.

Если вы добавляете загрузочный файл к WDS и при попытке загрузится на устройстве
в UEFI вы видите следующий текст:
The selected boot device failed. Press to Continue.
Или Boot Device Not Found
Но загрузка в legacy у вас работает.
Тогда один из возможных вариантов — отсутствие файла wdsmgfw.efi,
по следующему пути: %WDSpath%\Boot\x64\wdsmgfw.efi

Взять его можно тут: C:\Windows\System32\RemInst\boot\x64\wdsmgfw.efi
Либо, если у вас отсутствует по какой-то причине этот файл, я его выложил на google.
За это решение, спасибо ребятам с реддита.

Настраивал политики, путём добавления Vendor Classes(Классы поставщиков) для различных архитектур, и настройкой опций DHCP 060, 066, 067. Инструкция по настройке политик DHCP.

PXEClient:Arch:00000 — BIOS/Legacy
PXEClient:Arch:00006 — UEFI x86
PXEClient:Arch:00007 — UEFI x64

Но, как я уже говорил выше, проблема крылась в файле wdsmgfw.efi.
Либо я его сам случайно удалил, либо он не скопировался при установке
и настройке WDS.

Инструкция

Этап 1 — Проверка работоспособности WDS

Возьмите любое устройство или виртуальную машину с поддержкой загрузки в режиме UEFI по сети и попробуйте загрузится.

У вас должна быть следующая картина:

image loader

Если так, то отлично, можно продолжать.
Если же нет, то смотрите, что я написал в предисловии.

Этап 2 — Сборка загрузочного файла iPXE

Запускаем заранее подготовленную Ubuntu, открываем терминал и вставляем эту строку:

image loader

Тут хотелось бы сделать небольшое замечание, о том, что возможно вам в Ubuntu придётся добавить пакеты, необходимые для компиляции C и C++.
Просто у меня они уже были установлены.

Скачалось? — Отлично!
Теперь нужно сделать конфигурационный файл для сборки.
В терминале, пишем:

И вставляем в этот файл, следующий код, после чего сохраняем:

Идём опять в терминал и запускаем компиляцию:

image loader

Если всё в порядке, то вы должны получить следующий вывод в терминале:

image loader

И файл ipxe.efi, по пути: ipxe/src/bin-x86_64-efi/ipxe.efi
Если у вас по какой-то причине не получилось скомпилировать самостоятельно,
я приложил свой файл.
Он скомпилирован для загрузки с http://192.168.0.100/install.ipxe

На этом с Ubuntu всё.

Этап 3 — Добавление ipxe.efi к WDS

Берём файл, который мы получили во втором этапе и копируем по пути:
%WDSpath%\Boot\x64\%your-boot-folder%\EFI\BOOT\
После переименовываем его в BOOTX64.EFI.
Это не обязательно, так просто удобней.

Потом запускаем cmd от имени администратора, и пишем следующие команды:

Этим мы установим полученный файл для загрузки через WDS.

image loader

Я так же скопировал файл ipxe.efi, переименовал его в BOOTIA32.EFI и сконфигурировал загрузку для него, на всякий случай. architecture:x86uefi
Но по большому счёту в этом нет смысла, т.к. файл Bootmgfw.efi не поддерживает x86

Проверим, что получилось.
image loader
Отлично, WDS передаёт для загрузки наш файл и он в свою очередь ищет конфигурацию по пути: http://192.168.0.100/install.ipxe

Этап 4 — Конфигурация меню

Идём в корневую папку вашего сайта.
По умолчанию это: C:\inetpub\wwwroot

Создаём текстовый файл install.ipxe.

И конфигурируем его в соответствии с документацией и вашими нуждами.
Так же имеется русскоязычное описание команд.
Я пользовался этой инструкцией при конфигурации своего WDS.

Про конфигурацию для загрузки winPE можно прочитать здесь.

Этап 5 — MIME types

После создания меню и добавления всех необходимых файлов в корневую папку IIS,
необходимо дать к ним доступ.

Для этого необходимо в панели управления IIS добавить типы MIME, в соответствии
с расширениями файлов которые у вас будут загружаться через http.

Для файлов у которых нет расширения, используйте точку.

Читайте также:  kali linux рабочий стол не работает

image loader

Заключение

В конечном итоге, у нас получается возможность загрузки по локальной сети через UEFI.

Если мы всё сделали правильно, то будет примерно такое меню выбора загрузки:

image loader

Если у вас подготовлены основные инструменты, и вы не будете заморачиваться с конфигурацией, то на реализацию данной возможности уходит примерно 10-20 минут.
У меня же ушло 2 рабочих дня, т.к. пришлось много гуглить.

Спасибо за внимание и огромное спасибо тем людям чьи статьи мне помогли!
На Хабре это: Ingtar и Deeptown.

Источник

PXE — грузим всё! Осваиваем мультизагрузку по локальной сети

Loading bar

Содержание статьи

Сегодня автоматизируется все больше задач, для максимальной отдачи серверов все шире используют виртуализацию. Но устанавливать операционки по-прежнему приходится. Каждый делает это по-своему: у кого-то полные карманы различных образов на все случаи жизни, кто-то по старинке носит с собой «барсетку» с дисками, а то и две. Как правило, администраторы выполняют эту работу с невеликим удовольствием. Давай посмотрим, как сократить время на тривиальные задачи, как научить компьютеры устанавливать системы самостоятельно, вообще без участия админа, используя при этом только локальную сеть.

Итак, сегодня мы научимся: устанавливать Windows и Linux по сети, грузить небольшие ISO-образы, полезный софт (всяких там Касперских, Акронис, WinPE, мемтесты), разворачивать тонкие клиенты и рулить ими. Чтобы, например, бухгалтер, работающая с 1С по RDP, не прибила тебя за то, что у нее слетела винда, а отчет нужно было подготовить еще вчера. Или скупой начальник, который не хочет обновлять свой комп, восхитился твоим профессионализмом, когда увидит, как на стареньких компах летает Windows 8. В достижении наших коварных целей нам поможет сервер, предоставляющий загрузку по сети (PXE).

Xakep #201. Как стать киборгом

У любого системного администратора в заначке есть универсальный USB-диск для экстренной реанимации компьютера. Согласись, было бы куда лучше иметь ту же функциональность, используя одну лишь сетевую карту. Нельзя при этом не отметить возможность одновременной работы с несколькими узлами сразу. Итак, исходя из наших потребностей у нас есть два пути решения: использовать PXE или LTSP.

LTSP нам не очень подходит: он призван грузить по сети ОС, установленную на самом сервере, что позволяет использовать приложения сервера LTSP. Это не совсем то, что нам нужно. PXE — инструмент для загрузки компьютера по сети без использования локальных носителей данных, так же как и LTSP. PXE позволяет организовать мультизагрузочное меню загрузки, аналогичное универсальному «USB-реаниматору».

1444982391 4259 2 Главное меню загрузки PXE, графический режим

Что будем реализовывать?

Началось все с необходимости иметь под рукой инструмент для удаленной установки Ubuntu/Debian Server по сети, с возможностью загрузки Live CD маленькой системы, вроде SliTaz или Kolibri OS.
Как говорится, аппетит приходит во время еды: намеченное не успели реализовать, а к плану добавился еще ряд «хотелок». В итоге список получился весьма внушительным.

Собираем все в кучу и взлетаем

В качестве дистрибутива для сервера выбор пал на Ubuntu Server 14.04.2 LTS. Можно остановиться на любой другой ОС, разница будет только в синтаксисе. Итак, приступим. Нам потребуется TFTP, DHCP (необязательно установленный на этом же сервере, в роли DHCP-сервера может выступить роутер), сервис для организации сетевой файловой системы NFS. Рассматривать будем только те настройки, которые нас интересуют в рамках темы. Первым делом установим все необходимое, предварительно сделав все обновления:

Обрати внимание, параметр TFTP_DIRECTORY=»/var/lib/tftpboot» указывает место расположения корневого каталога TFTP-сервера. После сохранения перезапускаем удобным для себя способом:

Далее настроим DHCP-сервер. Приведу простую конфигурацию файла /etc/dhcp/dhcpd.conf:

Данная конфигурация говорит о том, что DHCP-сервер работает в локальной сети 192.168.0.0/24. Клиенту присваиваются адреса из диапазона 192.168.0.150–192.168.0.200, им будут присвоены параметры шлюза — 192.168.0.1, DNS-сервера — 192.168.0.2 и 192.168.0.5. Класс pxeclients, а именно параметр filename — это имя файла загрузчика, расположенного в корневой папке TFTP-сервера, в нашем случае /var/lib/tftpboot/pxelinux.0, на сервере с адресом 192.168.0.10.

Syslinux. Ставим загрузчик

В качестве загрузчика будем использовать Syslinux. Последнюю версию можно взять здесь. Распаковываем и кладем в /var/lib/tftpboot следующие файлы: ldlinux.c32, libcom32.c32, pxelinux.0 и lpxelinux.0 и каталог boot, в который складываем chain.c32, ldlinux.c32, libcom32.c32, libcom32.elf, libutil.c32, linux.c32, memdisk, menu.c32, vesamenu.c32 (menu.c32 — только текстовое меню, vesamenu.c32 позволяет украсить меню, например добавив фон). Файл меню загрузки по умолчанию должен находиться в /var/lib/tftpboot/pxelinux.cfg/default и иметь вид

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

Все, что относится к разделу меню Install/Boot Linux, вынесем в отдельный файл /var/lib/tftpboot/linux. Аналогично выносятся другие пункты меню. Остальные параметры загрузки рассмотрим при добавлении каждого пункта/продукта.

Раздел Linux. Готовим на примере Ubuntu 14.04

Тонкие клиенты / Thinstation Linux

Acronis

Продукты Acronis загружаются аналогично инсталляторам Linux-систем. Скачал в Сети первый попавшийся образ Acronis, исключительно в научных целях. Распаковал. Нас интересуют только два каталога: ADD12 и ATI2015. Внутри каждого каталога видим по два файла с одинаковым именем и разным расширением. Это сделано для загрузки на 32-битных и x64-системах. Если открыть файл menu.lst того же образа, можно посмотреть, что чему соответствует. Для удобства складываем True Image и Disk Director аналогичным образом. Создаем папку acronis в рабочем каталоге ( /var/lib/tftpboot ). В него копируем ADD12 и ATI2015 со всем содержимым. Для удобства продукты Acronis выносим в отдельный раздел меню, так же как и раздел Linux. В pxelinux.cfg/default добавляем:

Читайте также:  80072efe ошибка обновления windows 7 чистая винда

Файл acronis приводим к такому виду:

Windows PE

Заключение

На этом всё. В следующей статье мы научимся подготавливать и добавлять Windows-образы, сетевой установке в ручном и автоматическом режимах. Добавим Kaspersky Rescue v10, ERD Commander, именуемый MSDaRT. Разберемся, как запускать диагностические утилиты на примере memtest, а также покажем, как украсить меню загрузки.

author

Александр «Plus» Рак

Участник сообщества OmskLUG. Инженер отдела электронного взаимодействия МКУ «Информационно-технического управления».

Источник

Понимание загрузки PXE в диспетчере конфигурации

В этой статье описываются основные процессы загрузки среды выполнения пребута (PXE) в Диспетчер конфигурации, их работа и их межобъемлютная работа.

Оригинальная версия продукта: Configuration Manager (текущая ветвь), Microsoft System Center R2 Configuration Manager 2012, Microsoft System Center 2012
Исходный номер КБ: 4468601

Общие сведения

Загрузка среды предварительного выполнения (PXE) в System Center 2012 года (ConfigMgr 2012 или ConfigMgr 2012 R2) и более поздних версиях позволяет администраторам легко получить доступ к среде предварительной Windows (WinPE) через сеть с помощью PXE. PXE — это отраслевый стандарт, созданный корпорацией Intel, который предоставляет службы предварительной загрузки в прошивке устройств, что позволяет устройствам загружать сетевые программы загрузки на клиентские компьютеры.

Диспетчер конфигурации использует роль Windows служб развертывания (WDS) через поставщика WDS PXE. В configMgr 2012 и более поздних версиях поставщик SMS PXE (SMSPXE) регистрируется в службе WDS и обеспечивает логику запросов клиентов PXE.

Перед устранением проблем, связанных с PXE в Configuration Manager, важно понять основные процессы, связанные с ними, их работу и их работу.

Во всех случаях в этом документе мы используем System Center 2012 configuration Manager R2 Cumulative Update 2 (ConfigMgr 2012 R2 CU2) и систему удаленного сайта, установленную на Windows Server 2012 с установленной ролью точки рассылки (DP).

Установка точеки службы PXE

Сначала мы посмотрим на процессы, связанные с установкой поставщика SMSPXE.

Установка инициировалась путем выбора опции Включить поддержку PXE для клиентов на вкладке PXE в свойствах точеки распределения. При включенной поддержке PXE создается SMS_SCI_SysResUse экземпляр класса.

В пространстве имен WMI (где RR2 — код сайта сайта) класс содержит все роли систем сайта на Root\SMS\Site_RR2 SMS_SCI_SYSResUse основном сервере сайта. Вы можете выполнить следующий запрос в WBEMTEST, чтобы определить все DPs на этом сервере сайта:

Изменение свойств этих ролей с помощью SDK изменит файл управления сайтом и настроит DP. Имя свойства является членом свойства реквизита и устанавливается до 1 при включенной IsPXE DP PXE.

Компонент мониторинга базы данных SMS обнаруживает изменения в таблицы и таблицы и сбрасывает DPNotificaiton DistributionPoints файлы в distmgr.box:

Компонент Диспетчер рассылки на основном сервере сайта затем инициирует конфигурацию удаленного DP:

В журнале поставщика DP SMS на удаленном DP можно увидеть следующую информацию об установке PXE, где изначально не найден ключ PxeInstalled реестра:

Установлен Распространяемый компонент Visual C++:

Фильтры чтения TFTP настроены:

Создается REMINST доля и настраивается WDS:

На удаленном DP теперь можно увидеть следующие значения, добавленные HKEY_LOCAL_MACHINE\Software\Microsoft\SMS\DP в:

18496 en 1

PxeInstalled и IsPXE настроены на 1.

Если мы посмотрим на файловую систему удаленного DP, будет новый C:\SMS_DP$\sms\logs вход:

Теперь точка рассылки должна быть включена в PXE и готова принимать входящие запросы.

Добавление изображений загрузки в DP с поддержкой PXE

При настройке новой точки распространения с поддержкой PXE необходимо завершить дополнительные действия, чтобы включить полную функциональность. Одним из них является то, что необходимо распространить изображения загрузки x86 и x64 в новый DP с поддержкой PXE.

После этого диспетчер рассылки начнет обработку запроса и инициирует рассылку в удаленный DP:

Диспетчер переноса пакетов (DP удален) затем инициирует отправку контента:

Поставщик точеки рассылки SMS затем развертывает WIM в каталог удаленной установки:

SMSPXE открывает новое изображение:

Убедитесь, что эти изображения загрузки настроены для развертывания из DP с поддержкой PXE. Щелкните правой кнопкой мыши изображение загрузки и выберите источник данных свойств, а затем выберите Развертывание этого изображения загрузки из точки распространения с поддержкой > PXE.

Процесс загрузки PXE

Пример загрузки, описанный здесь, включает три машины: сервер DHCP, DP с поддержкой PXE и клиент (компьютер BIOS x64). Все они расположены в одной подсети.

Необходимо убедиться, что порты DHCP (67 и 68), TFTP (69) и BINL (4011) открыты между клиентом, сервером DHCP и включенной DP PXE.

В процессе загрузки PXE клиент должен сначала приобрести параметры TCP/IP и расположение сервера загрузки TFTP. После того как устройство включается и завершает POST, начинается процесс загрузки PXE (подсказывая с помощью меню выбора загрузки).

Первое, что делает прошивка PXE, — отправка DHCPDISCOVER (пакета UDP) для получения сведений о TCP/IP. Это включает список запросов параметров, а ниже приведен пример сетевого трассировки со списком параметров из пакета DHCPDISCOVER:

18497 en 1

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

Затем сервер DHCP и DP с поддержкой PXE отправляют DHCPOFFER клиенту, содержащим все соответствующие параметры TCP/IP.

В приведенном ниже примере предложения DHCP в нем не содержится имя сервера или сведения о файле загрузки, так как это предложение с сервера DHCP, а не СДП с включенной поддержкой PXE.

18498 en 3

Затем клиент отвечает DHCPREQUEST после выбора DHCPOFFER. Это содержит IP-адрес из выбранного предложения.

Читайте также:  vst for mac os

Сервер DHCP отвечает на DHCPREQUEST С помощью DHCPACK, который содержит те же сведения, что и DHCPOFFER. Имя хозяина сервера и имя файла загрузки здесь не предоставляются:

18499 en 3

На данный момент у нас по-прежнему нет сведений о файле загрузки, однако теперь у клиента есть IP-адрес. Далее клиент PXE отправляет новый DHCPREQUEST в DP с поддержкой PXE после получения DHCPOFFER из предыдущей трансляции DHCPDISCOVER.

DP с поддержкой PXE отправляет DHCPACK, содержащий расположение BootFileName и программу загрузки сети WDS (NBP).

18500 en 3

Загрузка файлов загрузки

После завершения беседы DHCP клиент запустит сеанс TFTP с запросом на чтение:

18501 en 1

Сервер отвечает с помощью tsize, а затем blksize. Затем клиент будет передавать файл с сервера.

Размер этих блоков — blksize, и в этом случае он установлен до 1456 bytes. Blksize настраивается на Windows Server 2008 и более поздних версиях. См. в руб. Развертывание операционной системы по сети с помощью WDS сбой в Windows Server 2008 и в Windows Server 2008 R2.

Здесь можно увидеть конец беседы по DHCP и начало передачи TFTP:

18502 en 2

NBPs являются как архитектурой, так и конкретными микропрограммами (BIOS или UEFI). На компьютерах BIOS NBP — это 16-битное приложение в реальном режиме, поэтому можно использовать один и тот же NBP для операционных систем на основе x86 и x64.

В нашем случае (машина BIOS x64) NBP расположен в следующем каталоге включенной DP PXE: \\remotedp\c$\RemoteInstall\SMSBoot\x64

18487 en 1

Файлы выполняют следующие функции:

NBP загружает загрузчик операционной системы и файлы загрузки через TFTP, которые включают следующие:

RamDISK создается с помощью этих файлов и WIM-файла WinPE в памяти.

18488 en 1

Клиентские сапоги из RAMDISK.

Загрузка WinPE

Чтобы получить доступ к этому входу WinPE, впейте командную подсказку на изображении загрузки. Для этого щелкните правой кнопкой мыши настройка свойств boot Image, а затем проверьте включить поддержку команды > > (только тестирование). Затем можно получить доступ к командной подсказке, нажав F8 в WinPE.

Вот начальный процесс оболочки загрузки TS:

После этого загрузочный ремень Task Sequence Manager:

После загрузки TSPXE она загружает переменные TS с помощью TFTP:

На этом этапе TSPXE находит пункт управления (MP) и скачивает политику перед тем, как представить пользовательский интерфейс для пользователя, чтобы выбрать необязательный последовательность задач:

Наконец, загружаются переменные коллекции и машины и активируется страница Welcome:

Дополнительные сведения

Дополнительные сведения о устранении неполадок с загрузкой PXE см. в следующих статьях:

Источник

Pxe uefi boot windows

trans

Общие обсуждения

trans

trans

BIOS-PC все работает отлично

Все ответы

trans

trans

Апну тему и добавлю.

Уже два дня ищу инфу на этот вопрос. Что удалось понять?

Нужно использовать IP Helper, почему? не понял (для одноранговой сети).
BIOS boot и UEFI boot без костылей в одной сети работать не будут, т.к. в ручную надо пилить DHCP на наличие 66 и 67 параметра, что сносит работу WDS.
Microsoft представил Hyper-V второго поколения, но по сети установить на них операционку невозможно, нет средств из коробки. Либо все на BIOS, либо все на UEFI.
В русскоязычном сегменте интернета решений не нашел.

У кого есть опыт работы UEFI через WDS?

Уши есть не только у стен.

trans

trans

trans

trans

Уже два дня ищу инфу на этот вопрос. Что удалось понять?

Нужно использовать IP Helper, почему? не понял (для одноранговой сети).
BIOS boot и UEFI boot без костылей в одной сети работать не будут, т.к. в ручную надо пилить DHCP на наличие 66 и 67 параметра, что сносит работу WDS.
Microsoft представил Hyper-V второго поколения, но по сети установить на них операционку невозможно, нет средств из коробки. Либо все на BIOS, либо все на UEFI.
В русскоязычном сегменте интернета решений не нашел.

У кого есть опыт работы UEFI через WDS?

Уши есть не только у стен.

Из-за того что в DHCP в 067 параметр можно прописать только одно значение для загрузки, получается такое ограничение, сначало разворачиваешь все под BIOS, потом меняешь параметр и устанавливаешь под UEFI

trans

trans

Да, вы правы, победил.

Инструкция проста. Т.к. сказано выше, в параметре 67 может быть только одно значение, поэтому пишем туда: boot\x64\wdsmgfw.efi для работы WDS сервера.

P.S. Ни кто не сказал что папка RemoteInstall (\\reminst) на сервере WDS есть корень TFTP сервера. А я не те пути писал 🙁

Уши есть не только у стен.

trans

trans

все досконально описано

trans

trans

Вы видели, что теме более 2 лет, спрашивается зачем занимаетесь некропостингом?

Avis de non-responsabilité:
Mon opinion ne peut pas coïncider avec la position officielle de Microsoft.

trans

trans

trans

trans

Уточните пожалуйста, если для Вас еще актуальна эта тема?

Avis de non-responsabilité:
Mon opinion ne peut pas coïncider avec la position officielle de Microsoft.

trans

trans

UEFI boot компьютеры по прежнему не запускаются с сети.

BIOS boot компьютеры без проблем.

все досконально описано

trans

trans

По второму пункту всё просто:

— добавляете два образа boot.wim от х86 и от х64 в WDS (DHCP сервер установлен на другом сервере):

— загружаетесь в BIOS (на примере Hyper-V и VM первого поколения) (на архетиктуру х64 не обращайте внимания, у меня изначально WDS работал только с x64, а x86 это для Вас специально загрузил):

— или загружаете в UEFI (на примере Hyper-V и VM второго поколения):

Источник

Поделиться с друзьями
Adblock
detector