Сетевая установка windows linux

Содержание
  1. Установка Windows 7 поверх PXE из Linux без использования WAIK
  2. 1. Обзор
  3. 1.1. Введение
  4. 1.2. Что должны получить
  5. 1.3. Ссылки
  6. 2. Конфигурирование и запуск сервисов
  7. 2.1 dhcp
  8. 2.2 tftpd
  9. 2.3 samba
  10. 2.4 binl
  11. 3. Подготовка загрузочных файлов Windows
  12. 3.1. Импорт загрузочного файла, используемого по умолчанию
  13. 3.2. Подготовка файла WIM
  14. 3.2.1. Создаем файл winpehl.ini
  15. 3.2.2. Создаем скрипт install.cmd
  16. 3.2.3. Добавляем сетевые драйверы
  17. 3.2.4. Создаем файл actionfile
  18. 3.2.5. Создаем файл WIM
  19. 3.3. Создание загрузочных файлов для конкретных систем
  20. 4. Подготовка файлов автоматической установки
  21. 4.1. Поддерживаемый язык
  22. 4.2. Определение версии ОС
  23. 4.3. Выбор образа подходящего инсталлятора
  24. 4.4. Создаем/редактируем файлы автоматической установки
  25. 5. Решение возникших проблем
  26. Поставить windows на linux сервере.
  27. Универсальный сервер сетевой загрузки и установки. Начало.
  28. Данная статья посвящена описанию настройки сервера сетевой загрузки и установки с его помощью разнообразных ОС.
  29. Введение
  30. Сетевая установка

Установка 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, поэтому мы сначала выполняем следующее:

Читайте также:  Драйверы для видеокарт amd windows 10 x64

Обратите внимание, что мы извлекли файл 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 обозначает сервер (систему, на которой находятся конфигурационные файлы и на которой запущены сервисы, позволяющие установить клиентскую систему)
Читайте также:  Как починить windows 10 через командную строку

Сервер ищет в файле находит в tftpd.log, откуда клиент загрузил свой файл wdsnbp и предполагает, что файл BCD находится в том же самом каталоге.

Клиент читает файл BCD и определяет, откуда нужно скачивать файлы boot.sdi и winpe.wim

Затем клиент загружается в Windows PE. Когда это будет сделано, то от нас потребуется подготовить следующее:

  1. Найти в реестре адрес IP сервера загрузки
  2. Найти в реестре конкретные данные о загрузке
  3. Загрузить сетевые драйверы и запустить сервис сети
  4. Переместить файлы setup.exe и sources\setup.exe на прежнее место
  5. Подключиться через Samba к серверу загрузки
  6. Разбить диск на разделы с помощью файла diskpart, который можно найти через samba на сервере загрузки
  7. Переместить файлы setup.exe и sources\setup.exe на прежнее место
  8. Удалить из реестра ответ PXE binl для того, чтобы предотвратить установку WDS вместо обычной установки
  9. Запустить setup.exe с файлом автоматической установки, который можно найти на сервере загрузки

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

  • журнальный файл tftpd (/work/log/tftpd.log)
  • журнальный файл dhcpd (/var/log/messages)
  • журнальный файл binl (/work/log/binl.log)

Если я найду дополнительную информацию, то я ее добавлю.

Источник

Поставить windows на linux сервере.

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

Моя проблема в данный момент такая: при создании облачной виртуальной машины с windows, моя хостинг компания берет за лицензию денежки. Я хитрец и хотел бы обойти этот момент. Нагуглил я такой метод как установка windows на linux. https://repo.teamhelps.pp.ua/top/ustanovka-windows-7-x86-na-digital-ocean/ Автор пишет очень непонятно. Хотелось бы понять, как вообще происходит подобная установка, базовые шаги. И насколько я понимаю, туже самую операцию я могу выполнить необязательно на облачном сервере, а просто на своей тестовой виртуальной машине, дабы на эксперименты не тратить средства, коих итак в моем кармане не густо.

Мое видение: Ставлю linux, потом волшебным образом я скачиваю откудато raw образ винды(который я не понимаю как создается), дальше волшебным образом я затираю этим образом образ поставленной ранее linux.

Помогите мне разобраться в этом, пожалуйста.

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

Просто мне необходим софт который на винде, фотошоп и другие проги, которые под винду. Я пробовал на wine всяко запускать, ошибки и всякая дичь выходит. Это очень долго разбираться полгода уйдет, пока все ошибки устраню, а времени столько нет. Я итак изучаю линукс по мере возможности. Мои финансы не позволяют мне расслаблено сидеть сейчас и изучать линукс, хочется кушать. Поэтому большую часть времени я вынужден отдавать работе (

Фотошоп на сервере хостера?

Всё очень просто, создаёшь KVM виртуальную машину, ставишь на неё Windows, не забывая установить в неё virtio драйвер для контроллера дисков.

Далее заливаешь на хостинг iso образ с любым LiveCD, я к примеру использовал systemrescuecd, загружаешься с него и настраиваешь сеть. Как настроена сеть смотришь предварительно в установленной на хостинге системе.

Выставляешь пароль для подключения по ssh.

Это в случае, если на хостинге предоставляется доступ к консоли помимо ssh ещё и через окно в браузере.

Далее на своей системе, где у тебя виртуалка с windows, подключаешь к виртуалке любой livecd и грузишься с него. Если есть доступ к raw диску виртуальной машины, то можешь работать с ним и из хост системы Linux.

Ну и далее снимаешь образ диска с установленной Windows и льёшь его через ssh и разворачиваешь на диск на хостинге.

Можно ещё передавать образ сжатым, а можно ещё и использовать вместо dd утилиту ntfsclone.

Источник

Универсальный сервер сетевой загрузки и установки. Начало.

Данная статья посвящена описанию настройки сервера сетевой загрузки и установки с его помощью разнообразных ОС.

Введение

Каждому системному администратору, даже не большой локальной сети, приходиться устанавливать или обновлять разнообразные операционные системы. Довольно часто конфигурация оборудования настолько разнообразна, что ни о какой установке ОС с заранее подготовленного образа установленной и настроенной системы, речи быть не может. Для компаний занимающихся разработками клиент-серверного программного обеспечения работа с СУБД Sybase SQL Anywhere [14], Oracle Database [13] и т.д. список ОС для тестирования серверной части продукта может быть очень большим. Работы по созданию кроссплатформенных приложений тоже требуют наличия разнообразных платформ. В этот список могут входить как все версии серверных и десктопных ОС от Microsoft, так и целый зоопарк популярных операционных систем семейства Unix. Так же время от времени возникает необходимость решения таких «насущных» задач как восстановление систем, загрузчиков, удаление вирусов и т.д. и т.п. Для этого администратору удобно иметь под рукой как минимум два live-дистрибутива (Windows и Unix). Из всего выше сказанного следует, что администратору необходимы носители на которых располагаются все эти ОС, а это достаточно большое количество дисков. Тем более, что в разнообразные системы желательно интегрировать последние сервис-паки и обновления, которые выходят достаточно часто. Это приводит к тому, что носители периодически необходимо перезаписывать, что неэффективно с точки зрения затрат времени.
Следует также отметить, что, из соображений безопасности и по причине экономии при комплектовании рабочих станций не всегда устанавливается DVD привод, а многие системы инсталлируются с DVD дисков. В такой ситуации облегчить жизнь системному администратору поможет сервер сетевой загрузки и установки операционных систем. В интернете существует огромное количество статей и сайтов посвященных этой теме. Но во многих случаях описание процесса установки уже не соответствует новым реалиям, так как написаны достаточно давно. После недавнего внедрения системы сетевой установки на новом сервере, возникло желание поделиться этим опытом.

Читайте также:  Нет сетевого протокола windows 10

Сетевая установка

Существует два стандартных варианта решения этой задачи. Для установки операционных систем семейства Windows существуют всем известные WDS (Windows Deployment Services) и SMS (Microsoft System Management Server). У Unix-подобных систем с давних пор была возможность установки разнообразными методами, в том числе и по сети. Нет сомнения, что для развертывания и установки Windows систем WDS удобен и выполняет свои обязанности, но для инсталляции операционных систем семейства Unix он не очень подходит.

Как известно, основным компонентом сервера сетевой установки является TFTP сервер. Его расположение (IP — адрес) указывается при помощи параметров DHCP. Если DHCP-сервер в вашей сети один, то перенаправлять сетевой загрузчик то на один TFTP сервер, то на другой для загрузки не получится. Поэтому нельзя объявить сразу два источника установки – такой сервер должен быть один. Существует решение для установки Linux систем с помощью Windows WDS — проект WDSLINUX [1]. Его основной минус заключается в том, что не все дистрибутивы поддерживают подключение по smb и http протоколу к серверу установки (для примера ]]> http://www.openfiler.com) ]]> . Обычно такие дистрибутивы требуют подключения по nfs. Мне хотелось получить универсальную схему для установки разных версий Microsoft Windows и Linux, а так же сетевую загрузку разнообразных «спасательных» систем.

Для начала немного теории. Принцип сетевой установки очень прост. При включении компьютера управление передается ПЗУ сетевой карты. Обычно используется среда PXE (Pre-Execution Environment). После распаковки в оперативную память, она активирует сетевую карту и начинает посылать широковещательный запрос в сеть для нахождения сервера DHCP. При ответе DHCP, PXE запрашивает у него IP адрес, который необходимо присвоить сетевой карте, маску сети, IP адрес сервера TFTP, имя файла для загрузки и т.д. Далее, если ответы на вопросы получены при помощи встроенного TFTP-клиента, PXE обращается к указанному серверу с запросом на получение указанного в параметрах файла. Если файл найден и получен то управление передается на него. Всеми последующими действиями будет руководить именно он.

Широкое распространение получил проект Питера Анвина (Peter Anvin) под названием — Syslinux [2]. Он имеет простые конфигурационные файлы и включен в поставку многих Linux дистрибутивов. На официальном сайте дается такое определение этому пакету: «SYSLINUX является загрузчиком для операционных системы Linux, который работает на MS-DOS/Windows FAT файловых системах. Он предназначен для простой загрузки и установки Linux. А также для создания спасательных и других специальных загрузочных конфигураций». В этот пакет входит PXELINUX, который является производной от SYSLINUX и используется для загрузки Linux с сетевого сервера. PXELINUX соответствует Intel PXE (Pre-Execution Environment) спецификации. Основой PXELINUX является файл «pxelinux.0» — это и есть загрузчик. Этот файл располагается в корне TFTP сервера. Его конфигурационные файлы размещаются в папке «/tftpboot/pxelinux.cfg/». После запуска на клиентской машине «pxelinux.0» скачивает с сервера и отображает файл «message». Это простой текстовый файл, в котором описаны доступные варианты загрузки. Затем он скачивает свой конфигурационный файл («/tftpboot/pxelinux.cfg/default») и переходит в режим ожидания ввода имени предоставленных конфигураций. Имя раздела пишется после метки label. В ответ на ввод имени варианта установки «pxelinux.0» начинает выполнять действия описанные в нем. Для создания простого текстового меню файл «/tftpboot/pxelinux.cfg/default» может выглядеть так:

default pe
label xpinstall # Установка Windows XP
kernel startrom.0
label win7 # Установка Windows 7
kernel sources/pxeboot.0

label pe # Запуск Live-CD WindowsPE
pxe keep
kernel pe.0
append initrd=winpe.wim ramdisk_size=262144
label suse112 # Установка openSuSe11.2
kernel suse/suse112x32/linux
append initrd=suse/suse112x32/initrd ramdisk_size=65536 install=nfs://192.168.1.7/ srv/tftpboot/suse/suse112x32/CD1/

Так же возможно создание графического меню выбора операционных систем (рис.1-3).

Рисунок 2 Меню «спасательных» систем и утилит

Рисунок 3 Меню установки ОС

Источник

Оцените статью