Загрузочный сервер как загрузочная флешка
Напоминаем, что попытки повторить действия автора могут привести к потере гарантии на оборудование и даже к выходу его из строя. Материал приведен исключительно в ознакомительных целях. Если же вы собираетесь воспроизводить действия, описанные ниже, настоятельно советуем внимательно прочитать статью до конца хотя бы один раз. Редакция 3DNews не несет никакой ответственности за любые возможные последствия.
Помните, мы когда-то рассматривали создание универсальной USB-«аптечки» для экстренной починки компьютера? В последней статье мы познакомились с загрузкой по сети и программой DRBL. Ну а в этот раз мы займёмся созданием аналога мультизагрузочного носителя, только загружаться мы будем не с флешки, а по сети — с помощью PXE. Делается это довольно просто. Как обычно, нам понадобится машина под управлением Ubuntu Server 11.10 с двумя сетевыми картами, которая будет исполнять роль сервера. В BIOS клиентских машин должна быть включена поддержка сетевой загрузки.
Дабы упростить себе задачу и не возиться по отдельности с установкой и настройкой различных сетевых служб вроде DHCP- и TFTP-сервера, мы воспользуемся более универсальным решением — dnsmasq. Это лёгкий DNS/DHCP/TFTP-сервер, который прекрасно подходит для сетевой загрузки машин. Как и в прошлый раз, договоримся, что сетевой интерфейс eth0 автоматически получает IP-адрес от роутера и имеет доступ в Интернет. В свою очередь eth1 смотрит во внутреннюю сеть и имеет статический IP-адрес 192.168.0.1. Отредактируйте сетевые настройки в файле /etc/network/interfaces с помощью текстового редактора nano, если вы этого ещё не сделали.
В конце файла добавим настройки интерфейса eth1 и сохраним его (F2, Y, Enter).
Теперь надо установить dnsmasq, а также несколько утилит для облегчения работы — файловый менеджер Midnight Commander и утилиты для распаковки ISO-образов и архивов ZIP/RAR/7ZIP.
Приступаем к настройке dnsmasq.
Добавляем в самом конце следующие строки:
Что есть что? Параметр interface указывает на то, с каким сетевым интерфейсом будет работать dnsmasq. В dhcp-range первые два параметра указывают начало и конец диапазона выдаваемых клиентским компьютерам адресов, затем идёт маска подсети и время аренды адресов. В поле server указываются IP-адреса вышестоящих DNS-серверов (например, провайдера), но при желании можно воспользоваться Google DNS или OpenDNS. Директива enable-tftp включает встроенный TFTP-сервер, а в tftp-root указывается корневой каталог для него. Наконец, в dhcp-boot прописывается загрузчик, который будет отдаваться по сети.
Сохраним настройки и перезапустим сервер, а также создадим необходимые папки и запустим Midnight Commander (mc), где и продолжим основную работу. В /pxe/images/ будут храниться образы утилит или дистрибутивов, которые будут загружаться через локальную сеть. Каталог /pxe/pxelinux.cfg предназначен для хранения настроек PXE.
Первым делом надо получить загрузочные программы из проекта syslinux. Скачайте наиболее свежий архив в домашнюю папку. Команды можно набирать прямо в mc или для удобства переключаться между консолью и панелями сочетанием клавиш Ctrl+O. Качать файлы удобнее всего программой wget. Например, вот так:
Начинаем потихоньку заполнять настройки по умолчанию pxelinux.
Добавим в этот файл следующие строки:
Вообще вся документация по формированию параметров загрузчиков syslinux, и загрузочного меню PXE в частности, находится в текстовых файлах каталога docs архива syslinux. Разберём те параметры, которые мы только что использовали. По умолчанию запускается файл menu.c32, который и отображает наше PXE-меню. В TIMEOUT указывается время ожидания (в 1/10 с), после которого будет произведена загрузка пункта по умолчанию. В MENU TITLE содержится заголовок нашего меню. Туда можно вписать всё, что душе угодно.
Затем идёт описание первого пункта меню. Каждому пункту для удобства обращения с ним присваивается метка (LABEL). В MENU LABEL имя метки, которое пользователь увидит при загрузке. MENU DEFAULT означает, что этот пункт из текущего меню будет запущен по умолчанию. Ну а директива LOCALBOOT 0 указывает на то, что надо завершить работу PXE и вернуться к обычной загрузке компьютера. Лучше оставить этот пункт для запуска по умолчанию.
Разнообразим наш мультизагрузчик некоторыми утилитами. Возьмём, к примеру, известнейшую программу для тестирования памяти Memtest86+. Скачиваем с сайта архив с Pre-Compiled Bootable Binary. Сохраняем из него файл memtest.bin как memtest (без расширения!) в папку /pxe/images. Здесь мы сталкиваемся сразу с двумя особенностями. Во-первых, для набора syslinux ряд файлов (.0, .bin, .bs и так далее) должны иметь строго определённый формат. Тот же .bin для isolinux читается как загрузочный сектор CD, а memtest.bin таковым не является. Во-вторых, этот файл напрямую поддерживает загрузку с помощью syslinux, поэтому мы можем смело указать его в качестве запускаемого «ядра».
Ещё один полезный вариант загрузки — использование memdisk. В этом случае носитель (iso-образ, raw-образ дискеты, образ HDD) полностью копируется в оперативную память компьютера и дальнейшая загрузка происходит с него. Вот пример для запуска KolibriOS. Из архива с дистрибутивом надо скопировать файл kolibri.img в папку /pxe/images, а в /pxe/pxelinux.cfg/default дописать нижеследующие строки.
Можно поступить «суровее» — поставить в загрузку Hiren's Boot CD. Уже можно догадаться, что iso-образ надо сохранить как /pxe/images/hirens.iso. На клиентской машине придётся подождать минуту-другую, пока полугигабайтный iso скопируется в память. Естественно, что на самом ПК должен быть хотя бы один гигабайт RAM. Зато после загрузки работа с Hiren's Boot CD крайне быстра. Впрочем, таких экстремальных вариантов лучше, наверное, избегать.
Возьмём пример посложнее — загрузим Clonezilla Live через PXE. Создаём папку /pxe/images/clonezilla. Туда надо будет скопировать все файлы из папки /live, которая лежит в ISO-образе. В настройках мы указываем загрузку ядра Linux (vmlinuz), а в APPEND передаём ему параметры. Их можно подсмотреть в файле isolinux/isolinux.cfg внутри ISO-образа (ключи ocs_* относятся непосредственно к Clonezilla, а не ядру как таковому). В нашем случае отличия от него будет немного — надо только указать, что файл с образом системы в Squashfs следует забрать при загрузке с TFTP-сервера.
Внимание! Всё, что находится после APPEND, является одной-единственной строкой без переносов. Текст между директивами TEXT HELP и ENDTEXT будет показан в качестве подсказки при выборе соответствующего пункта загрузочного меню. Аналогичным образом добавляются в загрузку и другие дистрибутивы или утилиты на основе Linux. Попробуйте в качестве разминки прописать настройки для легковесного дистрибутива SliTaz.
Как видите, всё довольно просто и достаточно гибко настраивается. Для дальнейшего изучения PXE-загрузки на базе Ubuntu Server неплохо было бы ознакомиться с wiki syslinux и документацией, которая прилагается в архиве к этой утилите. Из интересных решений с использованием PXE можно почитать, к примеру, про сетевую установку Windows 7 без применения RIS/WDS. А из полезных дополнений стоит присмотреться к дистрибутиву Thinstation для создания тонких клиентов, а также к менеджеру загрузки Plop. Несомненно, пригодятся утилиты для тестирования «железа» и диагностики проблем, для восстановления данных и создания бекапов, для… В общем, дело за вами. Удачи!
В этом небольшом посте я расскажу вам о практических способах реализации загрузки бездисковых устройств через PXE. Скажем так, что до определенного момента я совсем не интересовался этой проблемой и о PXE имел весьма посредственное представление, также, наверное как и у большинства. Т.е. все из нас знают, что в современных ПК есть возможность загрузки по сети, каждый видел в BIOS'е собственного ПК такую возможность (PXE Boot, LAN Boot), но мало кто использовал ее на практике. Реализацией этой возможности мы и займемся на практике, а также рассмотрим какое практическое применение в "домашних условиях" может иметь сетевая загрузка.
Наша "тестовая лаборатория" включает в себя:
- Маршрутизатор Mikrotik 951G-2HnD с RouterOS v6.39 (stable)
- Сетевое хранилище Western Digital My Cloud EX2
-
- здесь описывается настройка Mikrotik + TFTP для сетевой загрузки с использованием GRUB (Grub4DOS), а также приведен пример рабочей конфигурации для загрузки ALKID LiveCD и VINCOME LiveCD через PXE. Немного не то что нам хотелось (мы то хотели грузить Ubuntu LiveCD), но тем неменее информация полезная, берем на заметку. - а вот здесь рассматривается настройка TFTP на Mikrotik, правда тут уже у нас уже используется не GRUB, а PXELINUX (SysLinux) в качестве загрузчика. Который, как мы убедимся позже, можно будет использовать и для реализации сетевой установки Ubuntu, и для загрузки LiveCD и для множества других вещей. Уже интересно, не правда ли? Знакомимся со статьями дальше. - пост на Хабре, в котором рассказывается о том как сделать "загрузочную флешку" по сети. Собственно такая конфигурация отлично подойдет для различных сервисных центров и т.п., с другой стороны, выбрать то, что будет грузиться по сети лично у него - это решение каждого, благо примеров полно. К концу чтения этого поста, вы (по-крайней мере я на это надеюсь) поймете, насколько это удобно. - приводится пример организации PXE загрузки на Asus'овском роутере с прошивкой Merlin-Firmware. Честно говоря я сам подобную никогда не использовал, но статья ценна уже как минимум различными примерами рассмотренных в ней конфигураций для загрузки. А также как отличная иллюстрация того, что при желании, для реализации PXE загрузки можно использовать только лишь ресурсы бюджетного SOHO устройства. - переводная статья с HowToGeek, в принципе тоже может быть интересна. Кстати, именно по теме сетевой загрузки Ubuntu LiveCD вы так или иначе наткнетесь на различные ее вариации в поиске. - статья на 3DNews от 2012 года, но тоже в принципе интересно. Если вы читая этот пост пока просто просматриваете эти ссылки "по диагонали" - то наверное уже поняли, что PXE загрузка предоставляет практически неограниченный набор возможностей, наша задача лишь научиться правильно применить их для наших задач. - название поста говорит само за себя, все действия автор проводит на сервере под управлением Debian 7. Т.е. DHCP + TFTP и т.п. у него развернуты на отдельном ПК с Debian 7. Тоже интересно, помечаем в "копилку". - похожий англоязычный вариант. на примере Ubuntu 14.04. - конфигурирование сервера для автоматизированной установки Ubuntu и Debian по сети. Лично мне эта статья понравилась различными комментариями и дополнительными пояснениями. Если читать вдумчиво, а не по диагонали, то становится (хотя бы на базовом уровне) понятно что такое pxelinux.0, ldlinux.c32 и т.п. - статья, правда на немецком, подробно рассказывающая про то, как правильно настроить загрузку LiveCD с Ubuntu по сети. Собственно она и легла в основу решения поставленной задачи.
Затем скачиваем заранее подготовленный архив pxe-mikrotik-disk1.rar и распаковываем его содержимое в корень флешки. Сделать это можно как в меню Files в web-интерфейсе Mikrotik'а, так и через FTP в Mikrotik, ну или просто вставив отформатированную USB Flash в ПК и распаковав в корень содержимое архива. В результате там должна получиться следующая структура файлов (смотреть скриншот справа).
Некоторых файлов, например kolibri.iso (образ Kolibri OS) в архиве не будет, т.к. их можно без труда найти и скачать в интернете, также в архиве не будет содержимого папки winpe (т.к. все эти файлы есть на любом установочном диске с Windows и включать их в состав архива я не вижу смысла). А вот на остальных мы остановимся подробнее.
pxelinux.0 - это основной загрузчик, на который направляются DHCP сервером все клиенты сетевой загрузки, он входит в состав пакета syslinux. Все что касается данного загрузчика, а также используемых им библиотек (*.c32) можно взять в следующих пакетах:
Чем я успешно и воспользовался. Возможно это и не совсем правильно делать "сборную солянку" из netboot и syslinux разных версий, но, например, готовый бинарник memdisk, использующийся в отдельных сценариях загрузки я нашел только в каком-то одном из этих пакетов. С файлами загрузчиков, ядер и т.п. более менее понятно. Т.е. у вас есть набор который получился у меня pxe-mikrotik-disk1.rar и набор источников откуда это бралось. После того как вы распаковали все файлы из архива pxe-mikrotik-disk1.rar на флешку, заходим в Mikrotik в меню IP -> TFTP и настраиваем в нем следующие соответствия: Req. Filename -> Real Filename:Для чего они? После загрузки PXELinux на устройство начинается поиск дополнительных файлов и библиотек, т.е. устройство пытается подключиться к TFTP серверу, указанному в опциях отдаваемых DHCP сервером и запросить у него, например, файл ldlinux.c32, так вот TFTP сервер должен знать о реальном местоположении файла, чтобы отдать его, например в нашем случае он лежит в disk1/tftpboot/ldlinux.c32. Честно говоря я не экспериментировал, можно ли задать соответствие не отдельным файлам, а папкам или файлам по маскам, поэтому на всякий случай сделал правила для всех файлов на TFTP сервере. После того как мы прописали правила необходимо настроить наш DHCP сервер.
Переходим на закладку IP -> DHCP Server -> Networks в Mikrotik, выбираем нашу подсеть и делаем там следующие настройки:
На этом приготовления к первому запуску закончены. Можно брать любой ПК и пробовать загрузиться по сети. Для меня наиболее простым решением было создание отдельной виртуальной машины в VirtualBox и настройка ее на загрузку по сети. В результате, если все сделано правильно, вы увидите вот такую вот симпатичную менюшку PXELinux:
Сама конфигурация этого меню находится в файле disk1/tftpboot/ubuntu-installer/amd64/boot-screens/menu.cfg . Если мы попробуем загрузиться в Kolibri OS для примера, то заметим что передача казалось бы маленького (всего 66.5 Mb) образа kolibri.iso через TFTP даже по гигабитной сети займет довольно продолжительное время:
Связано это с тем, что протокол TFTP не предназначен для передачи тяжеловесных файлов и в этом отношении работает крайне медленно (плюс еще, как вы понимаете, USB порт в Mikrotik'е, да и флешка не являются высокоскоростными), поэтому хранить на этой флешке какие-то тяжеловесные образы, например тот же Hirens Boot CD, который занимает
Посмотрите как реализована в конфигурации (menu.cfg) загрузка того же Ubuntu LiveCD:
Здесь ядро vmlinuz.efi и рамдиск initrd.lz у нас грузятся по TFTP, а вот содержимое rootfs уже берется с NFS ресурса (благо Ubuntu так умеет). Порядок создания папки ubuntu16.04_live_amd64 на NFS ресурсе описан тут.
Ну или если вкратце, то я создал отдельную папку на WDMyCloud EX2, разрешил доступ к ней по NFS:
/nfs и просто скопировал необходимые файлы с LiveCD с Ubuntu в нее:
В результате содержимое папки ubuntu16.04_live_amd64 у нас полностью идентично корню LiveCD с Ubuntu:
Просто? Просто. Теперь пробуем загрузиться по PXE выбрав в меню LiveCD:
И вот здесь уже, согласитесь, есть чем впечатлиться. Сама конфигурация этого меню находится в файле boot.ipxe, который был взят мной из этого проекта bradgillap/IPXEBOOT на GitHub'е. Внутри подробные примеры и комментарии для всех вариантов загрузки, фактически это означает что вы с минимальными усилиями сможете настроить у себя загрузку любого из приведенных пунктов меню, просто разместив необходимые файлы у себя в сети и скорректировав boot.ipxe .
Кстати, в меню iPXE SuperBoot от bradgillap есть пункт External Linux Installs. Фактически это внешнее (т.е. находящееся в интернет) загрузочное меню, которое позволяет вам установить некоторые Linux-based ОС, а также загрузить некоторые варианты LiveCD онлайн. Т.е. для того чтобы установить тот же Ubuntu, фактически достаточно только соответствующим образом сконфигурировать DHCP . Все остальное, даже на этапе загрузочного меню может быть взято из сети.
p.s. Чуть не забыл ;) Архив pxe-mikrotik-disk1.rar со всеми необходимыми загрузчиками и примерами конфигураций (пароль на архив стандартный - decker.su). Также буду рад любым вашим мнениям и отзывам в комментариях. Если у вас уже есть свои конфигурации для PXE загрузки распространенных LiveCD дистрибутивов, например, DrWeb Live CD, Kaspersky Rescue Disc и др. популярных инструментов - делитесь ими в комментариях. Также, если у кого-то есть опыт (или ссылки на соответствующие статьи) о настройке бездисковых RDP клиентов, например на базе Thinstation - это тоже приветствуется.
Как вы уже поняли, я далеко не гуру в Linux'е и по-сути как работает PXE я узнал только вчера. Поэтому в архиве по факту используется несколько загрузчиков: PXELinus (SysLinux) как основной, а из него уже можно загрузить iPXE или Grub4DOS, хотя по факту, в реальной жизни достаточно использовать что-то одно. Все это оставлено просто в качестве примера, чтобы было наглядно понятно как работать и с тем, и с другим, и с третьим. Так что, как говорится, "ногами не пинать", а ценные комментарии всегда приветствуются.
Подробный мануал о загрузке компьютеров по локальной сети с использованием программы AOMEI PXE Boot. Программа предусматривает запуск по сети клиентских компьютеров с ISO-образов только в режиме BIOS Legacy, для режима BIOS UEFI возможен запуск только с образов WIM. В статье предложены решения по работе с программным обеспечением ISO-образов в условиях запуска среды WinPE с WIM-образа методом подтягивания расшаренных ресурсов сети.
Как переустановить Windows или попытаться её реанимировать с аварийного LiveDisk’а, если она не загружается, при этом мы не можем запустить компьютер с установочного или реанимационного загрузочного носителя? У компьютера может не быть DVD-привода, он может не поддерживать загрузку с USB-устройств, USB-порты могут быть отключены или повреждены. А, возможно, у нас банально нет сейчас в наличии болванки, флешки, прочего носителя, дабы сделать его загрузочным, тогда как проблему нужно решать срочно. Её можно решить без оптического диска, флешки или USB-диска при условии, что у нас в помещении есть другой компьютер, с которым первый проблемный объединены в одну проводную локальную сеть. Проблемный ПК или ноутбук можно запустить с установочного или реанимационного образа по сети, и один из программных инструментов, который может нам помочь реализовать эту задачу – программа AOMEI PXE Boot. Рассмотрим её.
О программе
Принцип работы программы предельно прост: на одном компьютере запускается образ самозагружаемого ПО, этот компьютер будет играть роль сервера; на клиентских компьютерах – целевых компьютерах – выставляется в BIOS их запуск по сети. В качестве самозагружаемого ПО может выступать любой ISO- или WIM- образ – процесс установки операционной системы, среда WinPE или Linux с антивирусами, менеджерами дисков, программами для резервного копирования и восстановления, комплексные аварийные LiveDisk’и.
Чтобы клиентские компьютеры можно было запустить по сети с использованием программы AOMEI PXE Boot, они, повторимся, должны быть объединены с компьютером-сервером в единую локальную сеть, в сеть проводную, сеть Ethernet. Беспроводная сеть Wi-Fi программой не поддерживается. И, конечно же, клиентские компьютеры должны предусматривать PXE-загрузку, т.е. загрузку по сети. Если на компьютере-сервере используется сторонний антивирусный продукт с фаерволом в составе, последний может блокировать работу программы. В таком случае фаервол можно временно отключить.
И также у AOMEI PXE Boot есть свои особенности работы в условиях запуска по сети клиентских компьютеров с BIOS UEFI. Такие могут быть запущены только с WIM-образов, но не с образов ISO. Создатели программы рекомендуют на таких компьютерах использовать режим загрузки Legacy, т.е. режим обычной BIOS. Но они не говорят, как быть, если компьютер предусматривает только режим BIOS UEFI, а такое может быть на современных ноутбуках. И также они не говорят, как быть, если нужно по сети переустановить Windows на GPT-диске. Система же не установится на диск с этим стилем разметки в условиях Legacy-загрузки. Но мы самостоятельно нашли решения для таких случаев и рассмотрим их чуть позднее. Сейчас же поговорим об основных аспектах работы AOMEI PXE Boot.
Запуск загрузочного образа на компьютере-сервере
Устанавливаем программу AOMEI PXE Boot на компьютер-сервер, запускаем. Программа очень простая, предусматривает только две опции: первая – это загрузка по сети загрузочных образов продуктов самой компании AOMEI, вторая – загрузка образов любого иного самозагружаемого ПО. В нашем случае мы не будем использовать образы продуктов AOMEI, мы запустим образ диска восстановления Windows MSDaRT. Поэтому мы кликаем вторую опцию и жмём кнопку обзора «Browse».
В окне обзора указываем путь к ISO-образу MSDaRT. Важно: образ самозагружаемого ПО в названии не должен содержать пробелов, их можно заменить нижним подчёркиванием. И имя должно быть латиницей. После указания пути ISO-образа кликаем «Start Service», это действие по запуску сервера.
Кликаем «Ок» в окошке, предупреждающем нас, что для старта работы сервера программа должна быть запущена от имени администратора.
Запуск клиентских компьютеров по сети
Что мы делаем на клиентских компьютерах? Мы входим в BIOS и настраиваем загрузку по сети. Рассмотрим, как это делается на примере интерфейса UEFI DualBIOS материнской платы Gigabyte. Мы идём в раздел настроек BIOS. И если мы на сервере запустили загрузочный ISO-образ, то первым делом смотрим настройку фильтра опции загрузки, чтобы у нас стоял режим совместимости UEFI и Legacy. Значение этой настройки должно быть «UEFI и прежняя версия».
Но не в каждой версии BIOS UEFI можно выставить режим совместимости, на ноутбуках часто такой возможности. В таком случае просто временно активируем режим Legacy.
Дальше мы ищем настройку включения загрузки по сети (PXE-загрузки). В DualBIOS она называется «ПЗУ для загрузки по сети», включаем эту настройку.
Теперь сохраняем внесённые настройки, перезагружаемся, запускаем Boot-меню BIOS и в нём выбираем PXE-загрузку с использованием сетевой карты.
На экране клиентского компьютера увидим уведомление о загрузке по сети с использованием запущенного на сервере ISO-образа.
На этапе загрузки придётся немного подождать, загрузка больших ISO-образов может занять какое-то время, может даже несколько минут. Разработчики программы рекомендуют при её использовании в рамках администрирования по сети множества компьютеров загружать одновременно небольшие группы компьютеров, дабы процесс загрузки был более производительным. Ну и после загрузки образа мы уже можем приступать к работе с его программным обеспечением.
Остановка сервера
По завершении работы с клиентскими компьютерами сервер можно выключить. Делается это кнопкой «Stop» в окне AOMEI PXE Boot.
Особенности запуска по сети компьютеров в режиме BIOS UEFI
Ну а теперь, как и было анонсировано выше, рассмотрим вопрос загрузки по сети с помощью AOMEI PXE Boot клиентских компьютеров с BIOS UEFI. Компьютеры в этом режиме могут быть загружены по сети только при условии запуска на компьютере-сервере WIM-образа самозагружаемого ПО. И вот тут есть закавыка. Если это, к примеру, процесс установки Windows, то в его ISO-дистрибутиве мы обнаружим два WIM-образа (при условии, что второй образ не поставляется в формате ESD). Что это за образы? Один – образ загрузочной среды WinPE в файле boot.wim, другой – файл-образ install.wim, это контейнер хранения системных файлов Windows.
С запущенных на сервере в отдельности этих WIM-образов толку не будет, эти образы должны запускаться вместе. По этому же принципу устроены многие LiveDisk’и: их среды WinPE в WIM-образах являют собой только среду загрузки, всё остальное их содержимое, в частности, поставляемый софт, находится отдельно от среды WinPE.
Что делать в такой ситуации? Как минимум есть два варианта. Вариант 1: с помощью программ типа Dism++, редактирующих образы Windows, можно извлечь из ISO WIM-образ операционной системы и отредактировать его, сделав загрузочным. Вариант 2: использовать LiveDisk’и на базе WinPE для запуска самой этой среды, и в ней подтянуть расшаренные по сети ресурсы для решения своих вопросов. Пример такого LiveDisk’а – WinPE 10-8 Sergei Strelec, конкретно для нашей ситуации он примечателен тем, что предусматривает работу в среде WinPE с авторизованной учётной записью администратора. И нам не придётся возиться с настройкой в среде WinPE доступа к сетевым ресурсам. Как всё это работает?
В этой папке нам нужен файл запуска 64-битной среды WinPE10, это файл strelec10x64.wim. Указываем путь к этому файлу при запуске сервера в окне программы AOMEI PXE Boot. Запускаем сервер.
Клиентский компьютер загружается с WinPE10.
Мы попадаем в среду WinPE, где нас уже встречают уведомления об отсутствии файлов по некоторых путях, ведь мы запустили не целостный образ LiveDisk’а, а его урезанную часть. Но мы кликаем кнопку авторизации с помощью учётной записи администратора.
И без лишних танцев с бубном в проводнике WinPE получаем доступ к расшаренным ресурсам локальной сети, в частности, к файлам компьютера-сервера, где у нас есть, чем помочь клиентскому компьютеру.
Например, мы хотим помочь методом переустановки Windows. На компьютере-сервере расшариваем папку с установочным ISO Windows. На клиентском компьютере открываем этот ISO в проводнике WinPE.
Запускаем на смонтированном диске файл setup.exe.
И устанавливаем Windows так, как если бы запустили процесс установки привычно с установочного носителя.
А если мы хотим помочь клиентскому компьютеру путём реанимации его существующей операционной системы, мы на компьютере-сервере расшариваем ISO-образ того же WinPE 10-8 Sergei Strelec. Подключаем его для отображения в проводнике WinPE клиентского компьютера.
В окне MInst выбираем пункт запуска программ для 64-битной Win10.
И всё: в меню MInst можем выбрать любую из программ, поставляемых в целостном образе LiveDisk’а.
В этом пошаговом руководстве описано, как настроить PXE-сервер для загрузки Windows PE при запуске клиентского компьютера по сети. С помощью средств Windows PE и файла образа Windows 10 можно установить Windows 10 по сети.
Необходимые условия
Все четыре перечисленных выше роли могут размещаться на одном компьютере, также можно выделить отдельный компьютер для каждой роли.
Шаг 1: скопируйте исходные файлы Windows PE
На компьютере развертывания: нажмите Пуск и введите развертывание.
Щелкните правой кнопкой мыши элемент Среда средств развертывания и работы с образами и затем нажмите Запуск от имени администратора. Будет запущен ярлык среды средств развертывания и создания образов, который открывает окно командной строки и автоматически задает переменные среды таким образом, чтобы они указывали на все необходимые средства.
Чтобы скопировать базовые файлы Windows PE в новую папку, выполните следующую команду. Сценарий требует два аргумента: архитектуру оборудования и целевое расположение. Значение <архитектуры> может быть x86, amd64 или arm, а <назначение> может соответствовать пути к локальному каталогу. Если каталог еще не существует, он будет создан.
Например, следующая команда копирует файлы архитектуры amd64 в каталог C:\winpe_amd64:
Сценарий создает структуру каталогов назначения и копирует все необходимые файлы для этой архитектуры. В предыдущем примере создаются следующие каталоги:
Подключите базовый образ Windows PE (winpe.wim) в каталог \mount с помощью средства DISM. При подключении файла образа его содержимое распаковывается в папку, что позволяет вносить изменения напрямую или с помощью таких программ, как DISM. См. приведенный ниже пример.
Выполните сопоставление общего сетевого ресурса корневому каталогу TFTP на сервере PXE/TFTP и создайте папку \Boot. Обратитесь к документации сервера TFTP, чтобы определить корневой каталог сервера TFTP, а затем включите общий доступ к этой папке и убедитесь, что она доступна в сети. В следующем примере имя сервера PXE имеет значение PXE-1, а общий доступ к корневому каталогу TFTP предоставляется с помощью сетевого пути \\PXE-1\TFTPRoot:
Скопируйте файлы загрузки PXE из подключенного каталога в папку \boot. Пример.
Скопируйте файл boot.sdi на сервер PXE/TFTP.
Скопируйте загрузочный образ Windows PE (boot.wim) в папку \boot.
(Необязательно) Скопируйте в папку \boot шрифты true type
Шаг 2: настройка параметров загрузки и копирование файла BCD
Создайте хранилище BCD с помощью bcdedit.exe:
Настройте параметры RAMDISK:
Последняя команда возвращает идентификатор GUID, например:
Скопируйте этот идентификатор GUID для использования в следующих командах. В каждой приведенной команде замените "GUID1" своим идентификатором GUID.
Создайте новую загрузочную запись приложения для образа Windows PE:
Настройте параметры BOOTMGR (не забудьте заменить GUID1 в третьей команде своим идентификатором GUID):
Скопируйте файл BCD на свой TFTP-сервер:
Теперь ваш сервер PXE/TFTP настроен. Можно просмотреть установленные параметры BCD с помощью команды bcdedit /store <расположение файла BCD> /enum all. См. следующий пример. Примечание. Ваш идентификатор GUID будет отличаться от приведенного ниже.
Сводка по процессу загрузки PXE
В следующей таблице приведены основные сведения о процессе загрузки PXE-клиента.
Читайте также: