- Linux pxe установить windows
- Создаем подменю Windows.
- 5 Responses to Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-3 часть
- Linux pxe установить windows
- Linux pxe установить windows
- Установка Windows 7 поверх PXE из Linux без использования WAIK
- 1. Обзор
- 1.1. Введение
- 1.2. Что должны получить
- 1.3. Ссылки
- 2. Конфигурирование и запуск сервисов
- 2.1 dhcp
- 2.2 tftpd
- 2.3 samba
- 2.4 binl
- 3. Подготовка загрузочных файлов Windows
- 3.1. Импорт загрузочного файла, используемого по умолчанию
- 3.2. Подготовка файла WIM
- 3.2.1. Создаем файл winpehl.ini
- 3.2.2. Создаем скрипт install.cmd
- 3.2.3. Добавляем сетевые драйверы
- 3.2.4. Создаем файл actionfile
- 3.2.5. Создаем файл WIM
- 3.3. Создание загрузочных файлов для конкретных систем
- 4. Подготовка файлов автоматической установки
- 4.1. Поддерживаемый язык
- 4.2. Определение версии ОС
- 4.3. Выбор образа подходящего инсталлятора
- 4.4. Создаем/редактируем файлы автоматической установки
- 5. Решение возникших проблем
Linux pxe установить windows
Всем привет во второй части установки загрузочного PXE сервера для установки Windows, Linux, ESXI 5.5 мы настроили DHCP сервер и увидели наше начальное меню, теперь давайте настроим его под себя и добавим нужные разделы. Список разделов каждый из вас подготовит под себя, так как списки у всех разные, я покажу лишь, то чем я пользуюсь сам.
И так мы с вами в текущем виде меню имеем только загрузку с HDD
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-16
Давайте добавим в главное меню разделы для установки Windows, FreeBSD, CentOS и ESXI 5.5.
Для этого редактируем файл с загрузочным меню. Сам файл лежит вот тут
Я для редактирования использую midnight commander, со своим встроенным редактором.
ui vesamenu.c32
PROMPT 0
menu background background.jpg
menu title пишем тут нужный вам заголовок PXE boot menu
LABEL bootlocal
menu label Boot from first HDD
kernel chain.c32
append hd0 0
timeout 120
TEXT HELP
The system will boot after time is up.
ENDTEXT
LABEL Windows install->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/windows
LABEL CentOS install ->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/linux
LABEL FreeBSD ->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/bsd
LABEL VMvare ESXI 5.5 ->
KERNEL vesamenu.c32
APPEND pxelinux.cfg/vmware
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-17
В итоге вы получаете вот такую структуру меню.
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-18
Посмотрим содержимое директории /srv/tftp/pxelinux.cfg/
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-19
Создаем подменю Windows.
Редактируем файл /srv/tftp/pxelinux.cfg/Windows
PROMPT 0
UI vesamenu.c32
MENU BACKGROUND background.jpg
MENU TITLE Windows
5 Responses to Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-3 часть
В случае с линуксами понятно, разное ядро в разных папках…
А в конфиге win server 2008 и 2012 указан один kernel boot/pxeboot.0
Как будет различать что грузить то ))
Но ведь если я веберу установку «Windows Server 2012 R2.» или «Windows Server 2008 R2» всё равно будет ставиться что-то одно. Так зачем так делать?
не совсем понял вопрос, что должно ставиться? Логично, что если пункт W2008, то будет ставиться она, если 2012, то она.
Linux pxe установить windows
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-00
Всем привет сегодня расскажу как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5. Представьте ситуацию что у вас ситуация что вам по сети нужно установить на голый сервер Windows, Linux, ESXI 5.5 или диагностические утилиты, прошивающие железо или позволяющие загрузить DOS, да еще и чтобы сервер был один, который мог все это делать так, что WDS нам не подходит в данном случае. Ниже будет расписано более нескольких десятков уроков, как все это чудо вам реализовать.
Так вот представим ситуацию пришли к вам новые сервера, вы в BIOS выставляете загрузку по PXE и у вас появляется меню в котором можно выбрать установку Windows, Debian, Ubuntu, VMware ESXI 5.5, CentOS, можете загрузить диагностические утилиты по тесту памяти или диски обновления драйверов для каждого вендора железа, неправда ли круто, давайте посмотрим как это сделать, в основу статьи была положена реализация ребят из ServerClub. В качестве плацдарма будет выступать Debian 8. Как установить Debian читайте тут. Вот как будет выглядеть ваше меню установки.
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-18
Нам потребуется установить данный список компонентов. Единственное у вас уже может быть установлен свой DHCP сервер и мы поговорим про его реализацию для данного сервера.
- TFTP сервер
- Samba
- Syslinux
- DHCP сервер
- HTTP сервер
- NFS сервер
Приступим первым мы рассмотрим как установить TFTP сервер в Debian. Вводим команду.
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-01
приведем конфиг /etc/default/tftpd-hpa к виду
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-02
и поместим в /etc/tftpd.remap вот такую строку. Создадим файл tftpd.remap командой
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-03
И вписываем в него вот такую строку.
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-04
Еще может быть проблема с ThinkPad X201i и в VirtualBox с tftp. Что на ThinkPad X201i, что в VirtualBox загрузка отваливалась с: PXE-E32: TFTP Open timeout
Судя по всему, PXE агенты умудрились быть не полностью совместимыми, полечилось добавлением «-r blksize»:
TFTP_OPTIONS=»—secure -l -v -r blksize»
Далее смотрим как установить Samba в Debian. Устанавливается командой:
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-05
В конец файла /etc/samba/smb.conf добавим информацию о папке, где будут лежать инсталляционные файлы Windows.
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-06
Прописываем в конфиге
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-07
Cоздаем папку для обозов, даем права и перезапускаем самбу
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-08
Далее рассмотрим как установить Syslinux в Debian. Скачиваем и заливаем в корень TFTP сервера все необходимое
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-10
# tar -xf syslinux-4.02.tar.gz
# cd syslinux-4.02/
# find ./ -name «memdisk» -type f|xargs -I <> cp ‘<>‘ /srv/tftp/
# find ./ -name «pxelinux.0″|xargs -I <> cp ‘<>‘ /srv/tftp/
# find ./ -name «*.c32″|xargs -I <> cp ‘<>‘ /srv/tftp/
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-11
Перейдем к настройке Syslinux
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-12
Далее создадим конфиг основного меню и внесем начальные настройки
LABEL bootlocal
menu label Boot from first HDD
kernel chain.c32
append hd0 0
timeout 120 # время в меню на выборе пункта загрузки, 120 это 12 секунд
TEXT HELP
The system will boot after the time is up
ENDTEXT
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-13
Во второй части как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5 мы разберем как установить DHCP сервер или настроить существующий DHCP server на Windows или Cisco.
Linux pxe установить 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
Установка Windows 7 поверх PXE из Linux без использования WAIK
1. Обзор
1.1. Введение
В статье приводится описание, как из Linux по сети (PXE) развернуть для работы систему Windows 7. Не нужно пользоваться «рабочим компьютером» с установленным пакетом WAIK (Windows Automated Installation Kit — пакет автоматической установки Windows), нужна лишь система Linux. Я использую 32-битный инсталлятор Centos 5.3, но если вы разбираетесь в том, что делаете, то я уверен, что вы сможете выполнить эту работу на том варианте Linux, который вы лично предпочитаете использовать. Для этого вам нужно следующее:
- сервер tftp
- сервер dhcp
- сервер samba
- пакет ris для linux
- PXELinux
- hivex
- мой скрипт (wimlib/bcdedit.pl/getbcdlocation.sh)
Последние четыре пакета, объединенные вместе в один пакет, вы можете скачать с сайта www.ultimatedeployment.org. Скачайте пакет отсюда .
Все остальное либо есть в вашем дистрибутиве Linux, либо может быть достаточно просто установлено с помощью менеджера пакетов вашего дистрибутива Linux (um, apt-get и т.д.).
Загрузите пакет и распакуйте его корневой каталог системы. Будет создан каталог /work, в котором все будет происходить. В остальной части этого документа я предполагаю, что вы это уже сделали и что там же находятся скрипты и конфигурационные файлы. Конечно, вы всегда можете распаковать его в другое место, куда захотите .
Отказ от ответственности: Настоящий подход все еще находится в стадии разработки, и в нем могут быть (очевидные) ошибки. В действительности здесь описывается, как я развернул систему Windows 7 для работы в UDA. Это моя рабочая среда, поэтому дайте мне знать, если у вас есть исправления или другие советы и подсказки.
1.2. Что должны получить
Как только вы закончите подготавливать вашу файловую систему, она должна выглядеть следующим образом. Большинство файлов уже заранее подготовлены в архиве, но, конечно, не те, которые я не должен был самостоятельно распространять, например, двоичные файлы загрузки windows. В данном руководстве будет рассказано, откуда их получить или как их найти на вашем носителе с инсталлятором windows 7.
1.3. Ссылки
Я нашел в сети интересную информацию, объединил ее и при помощи некоторых проб и ошибок придумал этот метод. Вот некоторые ссылки для получения дополнительной информации.
Дайте мне знать, если вы найдете более интересные статьи! (пожалуйста, сделайте это в форуме на www.ultimatedeployment.org ).
2. Конфигурирование и запуск сервисов
2.1 dhcp
Запустите сервер dhcp следующим образом
Файл dhcpd.conf должен выглядеть приблизительно следующим образом. Если захотите, вы можете внести изменения в ip-адреса, выделенные красным цветом:
Файл pxelinux.0 является загрузочным файлом, который запускает весь процесс pxe. Когда клиент загружается, этот файл загружается первым и, в свою очередь, загружает конфигурационный файл pxelinux.cfg/default. Этот файл выглядит следующим образом:
2.2 tftpd
Запустите демон tftp следующим образом
Эта команда запускает tftpd со следующими параметрами:
Конфигурационный файл /work/conf/tftpd.conf лишь заменяется обратный слэш на прямой слэш:
2.3 samba
Запустите сервер samba следующим образом
Убедитесь, что каталог /work/sambashare экспортируется как sambashare REMINST. Это важная часть файла smb.conf:
2.4 binl
Запустите сервер binl следующим образом
Эта команда запустит сервис binl со следующими параметрами:
Здесь журнальный файл важен, поскольку в дальнейшем он должен быть прочитан. Сервис binl определяет, какой загрузочный файл клиент скачал последним, для этого выполняется следующий скрипт. Скрипт ищет журнальный файл tftpd и возвращает место, где расположен файл bcd, который находится в том же самом каталоге, что и найденный файл wdsnbp.com. Это необходимо, т.к. мы хотим знать, какой вариант был выбран в меню загрузки PXE.
3. Подготовка загрузочных файлов Windows
3.1. Импорт загрузочного файла, используемого по умолчанию
Прежде всего нам нужно смонтировать установочный DVD. Я смею предположить, что он находится в плейере DVD, известным как /dev/cdrom. Вы должны смонтировать его следующим образом:
Если у вас есть файл iso, то вы должны сделать что-то вроде следующего:
Как только вы это сделаете, файлы, расположенные на DVD (внутри образа), можно будет опубликовать с помощью samabashare. Затем нам нужно извлечь отдельные файлы из файла boot.wim, который находится на DVD в каталоге /sources. Они должны быть в самом конце каталога /work/tftproot, поэтому мы сначала выполняем следующее:
Обратите внимание, что мы извлекли файл pxeboot.n12, а затем переименовали его в pxeboot.com!
3.2. Подготовка файла WIM
Что ж, теперь нам нужно создать файл winpe.wim. Мы делаем следующее:
3.2.1. Создаем файл winpehl.ini
В нем должно быть что-то вроде следующего:
Убедитесь, что он имеет формат dos (а не формат unix)
3.2.2. Создаем скрипт install.cmd
Создайте скрипт install.cmd, который позаботится о установке сразу, как будет запущен Winpe:
3.2.3. Добавляем сетевые драйверы
Идем дальше. Сетевые драйверы являются трудной темой. Вам нужны будут сетевые драйверы, которые поставляются для вашей сетевой карты, их можно скачать с сайта поставщика сетевой карты, а некоторые из них могут быть уже в дистрибутиве Windows 7 WINPE на инсталляционном носителе. Я предполагаю, что вы будете с помощью PXE (загрузка по сети) загружать виртуальную машину vmware с сетевой картой AMD (которая во многих случаях, является сетевой картой, используемой по умолчанию для новой виртуальной машины).
Если вы загрузили виртуальную машину и, когда загрузка идет из сети, то сообщается о сетевой карте Intel E1000, вам придется остановить виртуальную машину, удалить следующие строки из файла .vmx и перезапустить виртуальную машину.
Если вы теперь запустите виртуальную машину, то вам будет сообщено, что есть сетевая карта AMD . Так что теперь нам нужно драйвера windows PE для этой сетевой карты AMD. Есть станица , на которой вы можете узнать откуда их можно скачать:
Для windows PE вы можете использовать драйвера windows XP. В общем, вам нужен файл .inf и файл .sys. Файл inf обычно содержит список файлов идентификаторов сетевое устройств и соответствующих им драйверов .sys). Если вы не знаете, сетевая с каким идентификатором используется в вашей системе, то просто скопируйте в каталог /work/wim несколько драйверов (файлы inf и sys).
3.2.4. Создаем файл actionfile
Ниже указаны действия, которые нам нужно выполнить, когда из файла boot.wim создается файл winpe.wim. Вы можете захотеть отредактировать список драйверов, которые указываются в файле /work/wim/actionfile.txt. Этот файл может выглядеть следующим образом:
3.2.5. Создаем файл WIM
Теперь мы можем создать файл winpe.wim
cd /work/wim /work/bin/updatewim /work/sambashare/win7/sources/boot.wim /work/tftproot/winpe.wim /work/wim/actionfile.txt
3.3. Создание загрузочных файлов для конкретных систем
Сначала нам нужно инструментальное средство hivex. Архивы RPM, которые я использую, находятся в этом пакете .
Возможно, что для вашего любимого дистрибутива Linux вам потребуются другие пакеты с дистрибутивами. Нам нужны эти инструментальные средства для того, чтобы иметь возможность отредактировать файлы windows BCD (Boot Cofiguration Data — конфигурационные данные для загрузки). Теперь мы выполняем три операции для обеих систем, которые мы хотим установить дистанционно:
- Копируем данные Boot Cofiguration Data с установочного DVD в загрузочный каталог систем pxe
- Изменяем их для того, чтобы получить PXE BCD
- Копирует в этот каталог программу сетевой загрузки сервиса развертывания Windows (wdsnbp.com) и также и переименовываем ее в wdsnbp.0
Вы можете легко выполнить эти операции для более, чем двух систем .
4. Подготовка файлов автоматической установки
4.1. Поддерживаемый язык
Сначала узнаем, какие языки поддерживаются на данном установочном носителе.
Вы должны найти что-то вроде следующего
По-видимому, на этом DVD есть язык en-US (и еще en-us).
4.2. Определение версии ОС
Теперь нам нужно проверить, какая версия поддерживается установочным DVD
Вы должны получить нечто вроде следующего:
Так что это Windows 7 Ultimate OEM DVD с лицензией (non Volume). Нам нужна эта информация для того, чтобы иметь возможность выбрать образ в следующем разделе:
4.3. Выбор образа подходящего инсталлятора
Сначала мы сделаем дамп информации XML файла install.wim:
Вы должны получить приблизительно следующее:
Поскольку мы знаем с каким языком и какой версией windows 7 мы имеем дело, мы можем отредактировать файлы автоматической установки. Я выделил третий образ, поскольку это версия Ultimate Edition, которую мы нашли в предыдущем разделе. Это Architecture 0, что означает — x86.
4.4. Создаем/редактируем файлы автоматической установки
Файл автоматической установки может выглядеть, например, следующим образом (вероятно, вы захотите изменить значения, выделенные красным цветом):
Итак, как только вы это сделаете, вы должны быть в состоянии загрузить (загрузка pxe) новую систему, и вы должны иметь возможность выбирать из двух систем, которые вы настроили для автоматического развертывания. Если этого сделать не удастся, то, пожалуйста, перейдите к следующему разделу «Решение возникших проблем» и поделитесь своим опытом на форуме на сайте ultimatedeployment.org .
5. Решение возникших проблем
Ниже приведен упрощенный обзор процесса загрузки, через который проходят клиенты PXE, когда используется этот метод.
- C обозначает клиентскую систему (система, которая должна быть развернута)
- S обозначает сервер (систему, на которой находятся конфигурационные файлы и на которой запущены сервисы, позволяющие установить клиентскую систему)
Сервер ищет в файле находит в tftpd.log, откуда клиент загрузил свой файл wdsnbp и предполагает, что файл BCD находится в том же самом каталоге.
Клиент читает файл BCD и определяет, откуда нужно скачивать файлы boot.sdi и winpe.wim
Затем клиент загружается в Windows PE. Когда это будет сделано, то от нас потребуется подготовить следующее:
- Найти в реестре адрес IP сервера загрузки
- Найти в реестре конкретные данные о загрузке
- Загрузить сетевые драйверы и запустить сервис сети
- Переместить файлы setup.exe и sources\setup.exe на прежнее место
- Подключиться через Samba к серверу загрузки
- Разбить диск на разделы с помощью файла diskpart, который можно найти через samba на сервере загрузки
- Переместить файлы setup.exe и sources\setup.exe на прежнее место
- Удалить из реестра ответ PXE binl для того, чтобы предотвратить установку WDS вместо обычной установки
- Запустить setup.exe с файлом автоматической установки, который можно найти на сервере загрузки
Когда возникают проблемы, то, очевидно, что нужно заглянуть в следующие журнальные файлы:
- журнальный файл tftpd (/work/log/tftpd.log)
- журнальный файл dhcpd (/var/log/messages)
- журнальный файл binl (/work/log/binl.log)
Если я найду дополнительную информацию, то я ее добавлю.