- Boot from pxe server windows
- Configure a PXE server to load WindowsВ PE
- Prerequisites
- Step 1: Copy Windows PE source files
- Step 2: Configure boot settings and copy the BCD file
- PXE boot process summary
- Загрузка с сервера PXE, который работает в другой сети
- Процесс загрузки PXE
- Рекомендуемый метод — помощник IP
- Проблемные сценарии
- Установка Windows 7 через PXE boot c *nix сервера
Boot from pxe server windows
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-21 часть. Добавляем Windows-01
Всем привет продолжаем настройку установки Windows с PXE сервера. В 21 части мы с вами создали файлы pxeboot.n12 и winpe.wim, сегодня займемся настройкой Данных Конфигурации Загрузки BCD. Что такое хранилище данных конфигурации загрузки?
Хранилище данных конфигурации загрузки содержит параметры конфигурации загрузки и контролирует запуск операционных систем Microsoft® Windows 7 и Microsoft Windows Server 2008 R2. Эти параметры ранее хранились в файле Boot.ini (для операционных систем на базе BIOS) либо в памяти NVRAM (для операционных систем на базе EFI (Extensible Firmware Interface)). Для изменения кода Windows, который запускается перед загрузкой операционной системы, можно воспользоваться программой командной строки Bcdedit.exe, с помощью которой можно добавлять, удалять, изменять и дополнять записи в хранилище данных конфигурации загрузки.
Создадим новый текстовый файл createbcd со следующим содержанием.
Копируем данный скрипт на диск С, прямо в корень.
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-22 часть. Добавляем Windows-01
Открываем командную строку, переходим в корень диска С и вводим команду
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-22 часть. Добавляем Windows-02
По завершении вы найдете новые файлы, которые нам понадобятся BCD и boot.sdi
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-22 часть. Добавляем Windows-03
По сути для установки Windows по сети через PXE у нас все готово. Переходим на сервере PXE в каталог tftp сервера, создаем там папку Boot и копируем в него созданные ранее файлы BCD, boot.sdi, bootmgr.exe, pxeboot.n12 нужно переименовать в pxeboot.0, winpe,wim. Папку Fonts можно взять с установочного диска. Так же в корень самого tftp кладем файл bootmgr.exe.
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-22 часть. Добавляем Windows-05
В третьей части мы с вами создали загрузочное меню для Windows. Теперь отредактируем конфиг Windows меню. Для начала давайте укажем для Windows Server 2008 R2 загружаться с файла pxeboot.0
Configure a PXE server to load WindowsВ PE
Applies to
This walkthrough describes how to configure a PXE server to load WindowsВ PE by booting a client computer from the network. Using the Windows PE tools and a Windows 10 image file, you can install Windows 10 from the network.
Prerequisites
- A deployment computer: A computer with the Windows Assessment and Deployment Kit (WindowsВ ADK) and the Windows PE add-on with ADK installed.
- A DHCP server: A DHCP server or DHCP proxy configured to respond to PXE client requests is required.
- A PXE server: A server running the TFTP service that can host Windows PE boot files that the client will download.
- A file server: A server hosting a network file share.
All four of the roles specified above can be hosted on the same computer or each can be on a separate computer.
Step 1: Copy Windows PE source files
On the deployment computer, click Start, and type deployment.
Right-click Deployment and Imaging Tools Environment and then click Run as administrator. The Deployment and Imaging Tools Environment shortcut opens a Command Prompt window and automatically sets environment variables to point to all the necessary tools.
Run the following command to copy the base WindowsВ PE files into a new folder. The script requires two arguments: hardware architecture and destination location. The value of can be x86, amd64, or arm and is a path to a local directory. If the directory does not already exist, it will be created.
For example, the following command copies amd64 architecture files to the C:\winpe_amd64 directory:
The script creates the destination directory structure and copies all the necessary files for that architecture. In the previous example, the following directories are created:
Mount the base WindowsВ PE image (winpe.wim) to the \mount directory using the DISM tool. Mounting an image file unpacks the file contents into a folder so that you can make changes directly or by using tools such as DISM. See the following example.
Verify that «The operation completed successfully» is displayed. Note: To view currently mounted images, type dism /get-MountedWiminfo.
Map a network share to the root TFTP directory on the PXE/TFTP server and create a \Boot folder. Consult your TFTP server documentation to determine the root TFTP server directory, then enable sharing for this directory, and verify it can be accessed on the network. In the following example, the PXE server name is PXE-1 and the TFTP root directory is shared using a network path of \\PXE-1\TFTPRoot:
Copy the PXE boot files from the mounted directory to the \boot folder. For example:
Copy the boot.sdi file to the PXE/TFTP server.
Copy the bootable WindowsВ PE image (boot.wim) to the \boot folder.
(Optional) Copy true type fonts to the \boot folder
Step 2: Configure boot settings and copy the BCD file
Create a BCD store using bcdedit.exe:
Configure RAMDISK settings:
The last command will return a GUID, for example:
Copy this GUID for use in the next set of commands. In each command shown, replace «GUID1» with your GUID.
Create a new boot application entry for the WindowsВ PE image:
Configure BOOTMGR settings (remember to replace GUID1 in the third command with your GUID):
Copy the BCD file to your TFTP server:
Your PXE/TFTP server is now configured. You can view the BCD settings that have been configured using the command bcdedit /store /enum all. See the following example. Note: Your GUID will be different than the one shown below.
If you start the PXE boot process, but receive the error that «The boot configuration data for your PC is missing or contains errors» then verify that \boot directory is installed under the correct TFTP server root directory. In the example used here the name of this directory is TFTPRoot, but your TFTP server might be different.
PXE boot process summary
The following summarizes the PXE client boot process.
Загрузка с сервера PXE, который работает в другой сети
В этой статье описывается загрузка с сервера PXE в другой сети.
Оригинальная версия продукта: Диспетчер конфигурации
Исходный номер КБ: 4471003
Процесс загрузки PXE
Как правило, клиентский компьютер сапоги из сети с помощью протокола PXE в соответствии со следующим процессом. В нем участвуют три стороны: сервер DHCP, PXE-сервер и клиент:
- Клиентский компьютер передает пакет DHCP, который задает адрес серверов DHCP и PXE.
- Сервер DHCP отвечает, отправляя пакет передачи, который сообщает клиенту, что это адресный сервер.
- Сервер PXE отвечает клиенту и сообщает, что это сервер загрузки.
- Клиент отправляет запрос на сервер DHCP для запроса IP-адреса.
- Сервер DHCP отправляет IP-адрес клиенту.
- Клиент отправляет запрос на сервер PXE для запроса пути к сетевой программе загрузки (NBP).
- PXE-сервер отвечает, отправляя путь NBP.
- Клиент скачивает и запускает NBP.
После этого процесса основная загрузка PXE будет завершена, но будет больше взаимодействия между клиентом и сервером PXE. Он контролируется реализацией NBP. Например, для реализации NBP служб развертывания Windows (WDS) потребуется путь настраиваемого файла загрузки pxeboot.com bootmgfw.efi (или). Реализация скачивает и запустит настраиваемый файл загрузки. Затем будут загружены файл формата изображений Windows (WIM) и другие файлы, необходимые Для Windows PE.
Восемь шагов, упомянутых ранее, обычно работают, если клиент и серверы находятся в одной сети. Если клиент и серверы находятся в разных сетях, рекомендуется настроить маршрутизаторы, чтобы убедиться, что клиент может загрузиться из сети без использования параметров DHCP.
Рекомендуемый метод — помощник IP
Маршрутизаторы должны иметь возможность маршрутить клиентские запросы из сети клиента в сеть сервера DHCP. Одним из таких простых правил маршрутизатора является помощник IP. Помощник просто сообщает маршрутизатору переадреть запросы DHCP на известный IP-адрес сервера DHP.
Для PXE-запросов необходимо настроить маршрутизаторы для переададстройки клиентского запроса на сервер PXE, как и на сервере DHCP. Найдите маршрутизатор, найдите запись помощника IP DHCP и добавьте другую запись, которая выглядит точно так же, как первая, но использует IP-адрес сервера PXE. Дополнительные сведения см. в публикации в блоге, которую вы хотите получить в PXE Boot? Не используйте параметры DHCP.
Кроме того, вы можете добавить запись помощника IP для каждого сервера PXE. В сценарии балансировки нагрузки (несколько серверов PXE) PXE-серверы могут быть в группе вверх или вниз, и вам не нужно делать никакой дополнительной конфигурации. В различных средах (серверы PXE Windows, Linux и Router все сосуществующие), различные серверы PXE могут выборочно реагировать на клиенты, которые они распознают.
Проблемные сценарии
Чтобы настроить сервер DHCP для ответа на запросы PXE, можно попытаться добавить параметры PXE в ответы DHCP. Это приводит к загрузке клиентом файла загрузки сети (как указано в ответе DHCP) и его запуску.
Это проблематично в некоторых сценариях настройки UEFI. Клиент не может пытаться загрузиться с жесткого диска после настройки клиента для запуска с сетевой загрузки. Но сбой сетевого загрузки, например, не является развертыванием последовательности задач для клиента. Это также проблематично для смешанных сред ОС. Сервер DHCP будет инструктировать компьютер Linux для загрузки и запуска программы загрузки сети Windows.
Таким образом, разрешение маскировке сервера DHCP в качестве PXE-сервера не работает так, как ожидалось в некоторых сценариях. Настоящий сервер PXE решает, будет ли он отвечать и обслуживать файл загрузки сети. В случае Configuration Manager сервер будет отвечать только в том случае, если клиенту развернута последовательность задач.
Установка Windows 7 через PXE boot c *nix сервера
Хочу поделиться с вами своим опытом по установке Windows 7 с сети (PXE boot на Ubuntu server).
Так как я не нашел удачного решения в интернете, решил поделится опытом.
Если интересно прошу под кат.
Эта статья является дополнением к ранее опубликованной статье на хабре.
На днях наткнулся на интересную статью, Где очень хорошо рассказывается об установке Windows 7 с сети, но с платформы на базе Windows. А так как у меня есть сервер на Ubuntu, захотелось прикрутить его туда, но все оказалось не так просто.
Создание PXE образа
Итак, начнем с создания PXE образа. Для этого нам потребуется Набор автоматической установки Windows® (AIK) для Windows®7.
Работает на платформе Windows 7 и Windows Server 2008 (R2).
После установки открываем в пуске: Командная строка средств развертывания с правами Администратора, и начинаем собирать образ.
copype.cmd x86 d:\winpe
imagex /mountrw winpe.wim 1 mount
Теперь, для автоматической установки, в примонтированной папке d:\winpe редактируем файл Windows\system32\startnet.cmd:
wpeinit
net use y: \\192.168.0.1\seven /user:seven seven
if exists y:\sources\setup.exe (
y:\sources\setup.exe
)
В строке монтирования, можно задать свои параметры, смотря как будете настраивать Samba, у меня к примеру она расшарена без авторизации с правами read only и параметр /user:seven seven не обязательно.
imagex.exe /unmount /commit mount
Теперь извлечем ядро и необходимые файлы для загрузки образа:
imagex /mount d:\winpe\winpe.wim 1 d:\winpe\mount
xcopy /ey d:\winpe\mount\windows\boot\pxe d:\tftp
xcopy /iy d:\winpe\mount\windows\boot\fonts d:\tftp\Boot\fonts
copy /y d:\winpe\ISO\boot\boot.sdi d:\tftp\Boot
imagex.exe /unmount d:\winpe\mount
#B Копируем сам образ в папку Boot
copy /y d:\winpe\winpe.wim d:\tftp\Boot
Прошу обратить внимание на то что папка Boot с большой буквы(Важно).
Теперь создаем «Скрипт» d:\winpe\createbcd.cmd
bcdedit -createstore %1\BCD
bcdedit -store %1\BCD -create
bcdedit -store %1\BCD -set
bcdedit -store %1\BCD -set
for /F «tokens=2» %%i in (‘bcdedit -store %1\BCD -create /d «MyWinPE Boot Image» /application osloader’) do set guid=%%i
bcdedit -store %1\BCD -set %guid% systemroot \Windows
bcdedit -store %1\BCD -set %guid% detecthal Yes
bcdedit -store %1\BCD -set %guid% winpe Yes
bcdedit -store %1\BCD -set %guid% osdevice ramdisk=[boot]\Boot\winpe.wim,
bcdedit -store %1\BCD -set %guid% device ramdisk=[boot]\Boot\winpe.wim,
bcdedit -store %1\BCD -create
bcdedit -store %1\BCD -set
bcdedit -store %1\BCD -set
И запускаем его:
createbcd.cmd d:\tftp\boot
Основная проблема это бэкслэши, Регистр и их Ремап, тут я не стал их переделывать, а просто создал ремап на сервере, можете сами поиграться, но об это позже.
Теперь у нас готов PXE набор для установки Windows 7 с сети.
Также вы можете скачать мой образ тут или тут
Настройка DHCP – Сервера:
Конфигурационный файл /etc/dhcp/dhcpd.conf
ddns-update-style none;
option domain-name «xxxxxxxx.xx»;
option domain-name-servers 8.8.8.8;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.0 <
range 192.168.0.5 192.168.0.100;
filename = «pxeboot.n12»;
>
С такой конфигурацией при ланбуте сразу пойдет установка windows. Если-же вы будете использовать эту статью как дополнение к этой статье, тогда в файле /etc/dhcp/dhcpd.conf ничего не меняем, только (Важно!) переименовываем файл pxeboot.n12 в pxeboot.0 (иначе не заработает) и добавляем в меню /var/lib/tftpboot/pxelinux.cfg/default
label Install Windows7
kernel /pxeboot.0
Установка и настройка TFTP Сервера:
sudo apt-get install tftpd-hpa
sudo nano /etc/default/tftpd-hpa
У меня конфиг такой:
TFTP_USERNAME=»tftp»
TFTP_DIRECTORY=»/var/lib/tftpboot»
TFTP_ADDRESS=»0.0.0.0:69″
TFTP_OPTIONS=»—secure -m /var/lib/tftpboot/tftp-remap -v»
Добавляем только параметры:
-m /var/lib/tftpboot/tftp-remap (файл ремапа) и параметр -v чтобы в /var/log/syslog можно было отслеживать запросы.
Копируем содержимое папки D:\tftp в /var/lib/tftpboot/seven/.
Теперь создаем файл ремапа:
touch /var/lib/tftpboot/tftp-remap
nano /var/lib/tftpboot/tftp-remap
У меня он выглядит так:
r bootmgr.exe /seven/bootmgr.exe
r abortpxe.com /seven/abortpxe.com
r hdlscom1.com /seven/hdlscom1.com
r hdlscom1.n12 /seven/hdlscom1.n12
r hdlscom2.com /seven/hdlscom2.com
r hdlscom2.n12 /seven/hdlscom2.n12
r pxeboot.com /seven/pxeboot.com
r pxeboot.n12 /seven/pxeboot.n12
r WdsConfig.inf /seven/WdsConfig.inf
r wdsnbp.com /seven/wdsnbp.com
r \\Boot\\BCD seven/Boot/BCD
r \\boot\\boot.sdi seven/Boot/boot.sdi
r \\Boot\\winpe.wim seven/Boot/winpe.wim
Настройка samba
Есть 2 варианта:
1)Скопировать папку sources с установочного диска в /var/seven (Необязательно в /var)
2)Примонтировать образ
mkdir /var/seven
sudo mount –o loop win7.iso /var/seven/
И зашариваем саму папку /var/seven в файле /etc/samba/smb.conf
[seven]
path = /srv/tftp/seven
browseable = yes
read only = yes
guest ok = yes
Перезагружаем службы:
sudo /etc/init.d/dhcp3-server restart
sudo /etc/init.d/tftpd-hpa restart
sudo /etc/init.d/smbd restart
Готово, можем устанавливать Windows 7 с сети.
Если возникнут какието проблемы, можно их увидеть в:
sudo tail –f /var/log/syslog
Спасибо за внимание!
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.